Use EventResult enum instead of magic numbers in wxGrid code
This is more verbose, but also much more clear (and so allows to remove some previously necessary comments). No real changes, even keep the same values for the enum elements as were previously used: this is probably unnecessary but do it just to minimize changes.
This commit is contained in:
@@ -2787,28 +2787,33 @@ protected:
|
|||||||
bool Redimension( wxGridTableMessage& );
|
bool Redimension( wxGridTableMessage& );
|
||||||
|
|
||||||
|
|
||||||
// Send the given grid event and return -1 if it was vetoed or, as a
|
enum EventResult
|
||||||
// special exception, if an event for a particular cell resulted in this
|
{
|
||||||
// cell being deleted, 1 if it was processed (but not vetoed) and 0 if it
|
Event_Vetoed = -1, // Also returned when cell was deleted.
|
||||||
// wasn't processed.
|
Event_Unhandled,
|
||||||
int DoSendEvent(wxGridEvent& gridEvt);
|
Event_Handled
|
||||||
|
};
|
||||||
|
|
||||||
|
// Send the given grid event and returns one of the event handling results
|
||||||
|
// defined above.
|
||||||
|
EventResult DoSendEvent(wxGridEvent& gridEvt);
|
||||||
|
|
||||||
// Generate an event of the given type and call DoSendEvent().
|
// Generate an event of the given type and call DoSendEvent().
|
||||||
int SendEvent(wxEventType evtType,
|
EventResult SendEvent(wxEventType evtType,
|
||||||
int row, int col,
|
int row, int col,
|
||||||
const wxMouseEvent& e);
|
const wxMouseEvent& e);
|
||||||
int SendEvent(wxEventType evtType,
|
EventResult SendEvent(wxEventType evtType,
|
||||||
const wxGridCellCoords& coords,
|
const wxGridCellCoords& coords,
|
||||||
const wxMouseEvent& e)
|
const wxMouseEvent& e)
|
||||||
{ return SendEvent(evtType, coords.GetRow(), coords.GetCol(), e); }
|
{ return SendEvent(evtType, coords.GetRow(), coords.GetCol(), e); }
|
||||||
int SendEvent(wxEventType evtType,
|
EventResult SendEvent(wxEventType evtType,
|
||||||
int row, int col,
|
int row, int col,
|
||||||
const wxString& s = wxString());
|
const wxString& s = wxString());
|
||||||
int SendEvent(wxEventType evtType,
|
EventResult SendEvent(wxEventType evtType,
|
||||||
const wxGridCellCoords& coords,
|
const wxGridCellCoords& coords,
|
||||||
const wxString& s = wxString())
|
const wxString& s = wxString())
|
||||||
{ return SendEvent(evtType, coords.GetRow(), coords.GetCol(), s); }
|
{ return SendEvent(evtType, coords.GetRow(), coords.GetCol(), s); }
|
||||||
int SendEvent(wxEventType evtType, const wxString& s = wxString())
|
EventResult SendEvent(wxEventType evtType, const wxString& s = wxString())
|
||||||
{ return SendEvent(evtType, m_currentCellCoords, s); }
|
{ return SendEvent(evtType, m_currentCellCoords, s); }
|
||||||
|
|
||||||
// send wxEVT_GRID_{ROW,COL}_SIZE or wxEVT_GRID_COL_AUTO_SIZE, return true
|
// send wxEVT_GRID_{ROW,COL}_SIZE or wxEVT_GRID_COL_AUTO_SIZE, return true
|
||||||
|
@@ -3716,7 +3716,7 @@ void wxGrid::ProcessRowLabelMouseEvent( wxMouseEvent& event, wxGridRowLabelWindo
|
|||||||
{
|
{
|
||||||
row = YToRow(pos.y);
|
row = YToRow(pos.y);
|
||||||
if ( row >= 0 &&
|
if ( row >= 0 &&
|
||||||
!SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, row, -1, event ) )
|
SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, row, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// Check if row selection is possible and allowed, before doing
|
// Check if row selection is possible and allowed, before doing
|
||||||
// anything else, including changing the cursor mode to "select
|
// anything else, including changing the cursor mode to "select
|
||||||
@@ -3792,7 +3792,7 @@ void wxGrid::ProcessRowLabelMouseEvent( wxMouseEvent& event, wxGridRowLabelWindo
|
|||||||
{
|
{
|
||||||
row = YToRow(pos.y);
|
row = YToRow(pos.y);
|
||||||
if ( row >=0 &&
|
if ( row >=0 &&
|
||||||
!SendEvent( wxEVT_GRID_LABEL_LEFT_DCLICK, row, -1, event ) )
|
SendEvent( wxEVT_GRID_LABEL_LEFT_DCLICK, row, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
}
|
}
|
||||||
@@ -3816,7 +3816,7 @@ void wxGrid::ProcessRowLabelMouseEvent( wxMouseEvent& event, wxGridRowLabelWindo
|
|||||||
{
|
{
|
||||||
row = YToRow(pos.y);
|
row = YToRow(pos.y);
|
||||||
if ( row < 0 ||
|
if ( row < 0 ||
|
||||||
!SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, row, -1, event ) )
|
SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, row, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -3829,7 +3829,7 @@ void wxGrid::ProcessRowLabelMouseEvent( wxMouseEvent& event, wxGridRowLabelWindo
|
|||||||
{
|
{
|
||||||
row = YToRow(pos.y);
|
row = YToRow(pos.y);
|
||||||
if ( row < 0 ||
|
if ( row < 0 ||
|
||||||
!SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, row, -1, event ) )
|
SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, row, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -3954,7 +3954,7 @@ void wxGrid::DoColHeaderClick(int col)
|
|||||||
{
|
{
|
||||||
// we consider that the grid was resorted if this event is processed and
|
// we consider that the grid was resorted if this event is processed and
|
||||||
// not vetoed
|
// not vetoed
|
||||||
if ( SendEvent(wxEVT_GRID_COL_SORT, -1, col) == 1 )
|
if ( SendEvent(wxEVT_GRID_COL_SORT, -1, col) == Event_Handled )
|
||||||
{
|
{
|
||||||
SetSortingColumn(col, IsSortingBy(col) ? !m_sortIsAscending : true);
|
SetSortingColumn(col, IsSortingBy(col) ? !m_sortIsAscending : true);
|
||||||
Refresh();
|
Refresh();
|
||||||
@@ -4112,7 +4112,7 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
|
|||||||
else // not a request to start resizing
|
else // not a request to start resizing
|
||||||
{
|
{
|
||||||
if ( col >= 0 &&
|
if ( col >= 0 &&
|
||||||
!SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, -1, col, event ) )
|
SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, -1, col, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
if ( m_canDragColMove )
|
if ( m_canDragColMove )
|
||||||
{
|
{
|
||||||
@@ -4187,7 +4187,7 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
|
|||||||
if ( colEdge == -1 )
|
if ( colEdge == -1 )
|
||||||
{
|
{
|
||||||
if ( col >= 0 &&
|
if ( col >= 0 &&
|
||||||
! SendEvent( wxEVT_GRID_LABEL_LEFT_DCLICK, -1, col, event ) )
|
SendEvent( wxEVT_GRID_LABEL_LEFT_DCLICK, -1, col, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
}
|
}
|
||||||
@@ -4268,7 +4268,7 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
|
|||||||
else if ( event.RightDown() )
|
else if ( event.RightDown() )
|
||||||
{
|
{
|
||||||
if ( col < 0 ||
|
if ( col < 0 ||
|
||||||
!SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, -1, col, event ) )
|
SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, -1, col, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -4280,7 +4280,7 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
|
|||||||
else if ( event.RightDClick() )
|
else if ( event.RightDClick() )
|
||||||
{
|
{
|
||||||
if ( col < 0 ||
|
if ( col < 0 ||
|
||||||
!SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, -1, col, event ) )
|
SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, -1, col, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -4322,7 +4322,7 @@ void wxGrid::ProcessCornerLabelMouseEvent( wxMouseEvent& event )
|
|||||||
// indicate corner label by having both row and
|
// indicate corner label by having both row and
|
||||||
// col args == -1
|
// col args == -1
|
||||||
//
|
//
|
||||||
if ( !SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, -1, -1, event ) )
|
if ( SendEvent( wxEVT_GRID_LABEL_LEFT_CLICK, -1, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
SelectAll();
|
SelectAll();
|
||||||
}
|
}
|
||||||
@@ -4333,7 +4333,7 @@ void wxGrid::ProcessCornerLabelMouseEvent( wxMouseEvent& event )
|
|||||||
}
|
}
|
||||||
else if ( event.RightDown() )
|
else if ( event.RightDown() )
|
||||||
{
|
{
|
||||||
if ( !SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, -1, -1, event ) )
|
if ( SendEvent( wxEVT_GRID_LABEL_RIGHT_CLICK, -1, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -4341,7 +4341,7 @@ void wxGrid::ProcessCornerLabelMouseEvent( wxMouseEvent& event )
|
|||||||
}
|
}
|
||||||
else if ( event.RightDClick() )
|
else if ( event.RightDClick() )
|
||||||
{
|
{
|
||||||
if ( !SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, -1, -1, event ) )
|
if ( SendEvent( wxEVT_GRID_LABEL_RIGHT_DCLICK, -1, -1, event ) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// no default action at the moment
|
// no default action at the moment
|
||||||
event.Skip();
|
event.Skip();
|
||||||
@@ -4494,7 +4494,7 @@ wxGrid::DoGridCellDrag(wxMouseEvent& event,
|
|||||||
if ( CanDragCell() )
|
if ( CanDragCell() )
|
||||||
{
|
{
|
||||||
// if event is handled by user code, no further processing
|
// if event is handled by user code, no further processing
|
||||||
return SendEvent(wxEVT_GRID_CELL_BEGIN_DRAG, coords, event) == 0;
|
return SendEvent(wxEVT_GRID_CELL_BEGIN_DRAG, coords, event) == Event_Unhandled;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4543,7 +4543,7 @@ wxGrid::DoGridCellLeftDown(wxMouseEvent& event,
|
|||||||
const wxGridCellCoords& coords,
|
const wxGridCellCoords& coords,
|
||||||
const wxPoint& pos)
|
const wxPoint& pos)
|
||||||
{
|
{
|
||||||
if ( SendEvent(wxEVT_GRID_CELL_LEFT_CLICK, coords, event) )
|
if ( SendEvent(wxEVT_GRID_CELL_LEFT_CLICK, coords, event) != Event_Unhandled )
|
||||||
{
|
{
|
||||||
// event handled by user code, no need to do anything here
|
// event handled by user code, no need to do anything here
|
||||||
return;
|
return;
|
||||||
@@ -4644,7 +4644,7 @@ wxGrid::DoGridCellLeftDClick(wxMouseEvent& event,
|
|||||||
{
|
{
|
||||||
if ( XToEdgeOfCol(pos.x) < 0 && YToEdgeOfRow(pos.y) < 0 )
|
if ( XToEdgeOfCol(pos.x) < 0 && YToEdgeOfRow(pos.y) < 0 )
|
||||||
{
|
{
|
||||||
if ( !SendEvent(wxEVT_GRID_CELL_LEFT_DCLICK, coords, event) )
|
if ( SendEvent(wxEVT_GRID_CELL_LEFT_DCLICK, coords, event) == Event_Unhandled )
|
||||||
{
|
{
|
||||||
// we want double click to select a cell and start editing
|
// we want double click to select a cell and start editing
|
||||||
// (i.e. to behave in same way as sequence of two slow clicks):
|
// (i.e. to behave in same way as sequence of two slow clicks):
|
||||||
@@ -4835,9 +4835,9 @@ void wxGrid::ProcessGridCellMouseEvent(wxMouseEvent& event, wxGridWindow *eventG
|
|||||||
else if ( event.LeftDClick() )
|
else if ( event.LeftDClick() )
|
||||||
handled = (DoGridCellLeftDClick(event, coords, pos), true);
|
handled = (DoGridCellLeftDClick(event, coords, pos), true);
|
||||||
else if ( event.RightDown() )
|
else if ( event.RightDown() )
|
||||||
handled = SendEvent(wxEVT_GRID_CELL_RIGHT_CLICK, coords, event) != 0;
|
handled = SendEvent(wxEVT_GRID_CELL_RIGHT_CLICK, coords, event) != Event_Unhandled;
|
||||||
else if ( event.RightDClick() )
|
else if ( event.RightDClick() )
|
||||||
handled = SendEvent(wxEVT_GRID_CELL_RIGHT_DCLICK, coords, event) != 0;
|
handled = SendEvent(wxEVT_GRID_CELL_RIGHT_DCLICK, coords, event) != Event_Unhandled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( event.Moving() )
|
else if ( event.Moving() )
|
||||||
@@ -4949,9 +4949,8 @@ void wxGrid::DoEndMoveCol(int pos)
|
|||||||
{
|
{
|
||||||
wxASSERT_MSG( m_dragMoveCol != -1, "no matching DoStartMoveCol?" );
|
wxASSERT_MSG( m_dragMoveCol != -1, "no matching DoStartMoveCol?" );
|
||||||
|
|
||||||
if ( SendEvent(wxEVT_GRID_COL_MOVE, -1, m_dragMoveCol) != -1 )
|
if ( SendEvent(wxEVT_GRID_COL_MOVE, -1, m_dragMoveCol) != Event_Vetoed )
|
||||||
SetColPos(m_dragMoveCol, pos);
|
SetColPos(m_dragMoveCol, pos);
|
||||||
//else: vetoed by user
|
|
||||||
|
|
||||||
m_dragMoveCol = -1;
|
m_dragMoveCol = -1;
|
||||||
}
|
}
|
||||||
@@ -5285,17 +5284,13 @@ wxGrid::SendGridSizeEvent(wxEventType type,
|
|||||||
return ProcessWindowEvent(gridEvt);
|
return ProcessWindowEvent(gridEvt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process the event and return
|
wxGrid::EventResult wxGrid::DoSendEvent(wxGridEvent& gridEvt)
|
||||||
// -1 if the event was vetoed or if event cell was deleted
|
|
||||||
// +1 if the event was processed (but not vetoed)
|
|
||||||
// 0 if the event wasn't handled
|
|
||||||
int wxGrid::DoSendEvent(wxGridEvent& gridEvt)
|
|
||||||
{
|
{
|
||||||
const bool claimed = ProcessWindowEvent(gridEvt);
|
const bool claimed = ProcessWindowEvent(gridEvt);
|
||||||
|
|
||||||
// A Veto'd event may not be `claimed' so test this first
|
// A Veto'd event may not be `claimed' so test this first
|
||||||
if ( !gridEvt.IsAllowed() )
|
if ( !gridEvt.IsAllowed() )
|
||||||
return -1;
|
return Event_Vetoed;
|
||||||
|
|
||||||
// We also return -1 if the event cell was deleted, as this allows to have
|
// We also return -1 if the event cell was deleted, as this allows to have
|
||||||
// checks in several functions that generate an event and then proceed
|
// checks in several functions that generate an event and then proceed
|
||||||
@@ -5303,13 +5298,13 @@ int wxGrid::DoSendEvent(wxGridEvent& gridEvt)
|
|||||||
// done if the user-defined handler deleted this cell.
|
// done if the user-defined handler deleted this cell.
|
||||||
if ( gridEvt.GetRow() >= GetNumberRows() ||
|
if ( gridEvt.GetRow() >= GetNumberRows() ||
|
||||||
gridEvt.GetCol() >= GetNumberCols() )
|
gridEvt.GetCol() >= GetNumberCols() )
|
||||||
return -1;
|
return Event_Vetoed;
|
||||||
|
|
||||||
return claimed ? 1 : 0;
|
return claimed ? Event_Handled : Event_Unhandled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate a grid event based on a mouse event and call DoSendEvent() with it.
|
// Generate a grid event based on a mouse event and call DoSendEvent() with it.
|
||||||
int
|
wxGrid::EventResult
|
||||||
wxGrid::SendEvent(wxEventType type,
|
wxGrid::SendEvent(wxEventType type,
|
||||||
int row, int col,
|
int row, int col,
|
||||||
const wxMouseEvent& mouseEv)
|
const wxMouseEvent& mouseEv)
|
||||||
@@ -5362,7 +5357,7 @@ wxGrid::SendEvent(wxEventType type,
|
|||||||
|
|
||||||
// Generate a grid event of specified type, return value same as above
|
// Generate a grid event of specified type, return value same as above
|
||||||
//
|
//
|
||||||
int
|
wxGrid::EventResult
|
||||||
wxGrid::SendEvent(wxEventType type, int row, int col, const wxString& s)
|
wxGrid::SendEvent(wxEventType type, int row, int col, const wxString& s)
|
||||||
{
|
{
|
||||||
wxGridEvent gridEvt( GetId(), type, this, row, col );
|
wxGridEvent gridEvt( GetId(), type, this, row, col );
|
||||||
@@ -6049,7 +6044,7 @@ void wxGrid::DoGridProcessTab(wxKeyboardState& kbdState)
|
|||||||
|
|
||||||
bool wxGrid::SetCurrentCell( const wxGridCellCoords& coords )
|
bool wxGrid::SetCurrentCell( const wxGridCellCoords& coords )
|
||||||
{
|
{
|
||||||
if ( SendEvent(wxEVT_GRID_SELECT_CELL, coords) == -1 )
|
if ( SendEvent(wxEVT_GRID_SELECT_CELL, coords) == Event_Vetoed )
|
||||||
{
|
{
|
||||||
// the event has been vetoed - do nothing
|
// the event has been vetoed - do nothing
|
||||||
return false;
|
return false;
|
||||||
@@ -7161,7 +7156,7 @@ void wxGrid::EnableCellEditControl( bool enable )
|
|||||||
|
|
||||||
bool wxGrid::DoEnableCellEditControl(const wxGridActivationSource& actSource)
|
bool wxGrid::DoEnableCellEditControl(const wxGridActivationSource& actSource)
|
||||||
{
|
{
|
||||||
if ( SendEvent(wxEVT_GRID_EDITOR_SHOWN) == -1 )
|
if ( SendEvent(wxEVT_GRID_EDITOR_SHOWN) == Event_Vetoed )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ( !DoShowCellEditControl(actSource) )
|
if ( !DoShowCellEditControl(actSource) )
|
||||||
@@ -7245,7 +7240,7 @@ bool wxGrid::DoShowCellEditControl(const wxGridActivationSource& actSource)
|
|||||||
// This is somewhat similar to what DoSaveEditControlValue() does.
|
// This is somewhat similar to what DoSaveEditControlValue() does.
|
||||||
// but we don't allow vetoing CHANGED event here as this code is
|
// but we don't allow vetoing CHANGED event here as this code is
|
||||||
// new and shouldn't have to support this obsolete usage.
|
// new and shouldn't have to support this obsolete usage.
|
||||||
if ( SendEvent(wxEVT_GRID_CELL_CHANGING, res.GetNewValue()) != -1 )
|
if ( SendEvent(wxEVT_GRID_CELL_CHANGING, res.GetNewValue()) != Event_Vetoed )
|
||||||
{
|
{
|
||||||
const wxString& oldval = GetCellValue(m_currentCellCoords);
|
const wxString& oldval = GetCellValue(m_currentCellCoords);
|
||||||
|
|
||||||
@@ -7254,7 +7249,7 @@ bool wxGrid::DoShowCellEditControl(const wxGridActivationSource& actSource)
|
|||||||
// Show the new cell value.
|
// Show the new cell value.
|
||||||
RefreshBlock(m_currentCellCoords, m_currentCellCoords);
|
RefreshBlock(m_currentCellCoords, m_currentCellCoords);
|
||||||
|
|
||||||
if ( SendEvent(wxEVT_GRID_CELL_CHANGED, oldval) == -1 )
|
if ( SendEvent(wxEVT_GRID_CELL_CHANGED, oldval) == Event_Vetoed )
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( "Vetoing wxEVT_GRID_CELL_CHANGED is ignored" );
|
wxFAIL_MSG( "Vetoing wxEVT_GRID_CELL_CHANGED is ignored" );
|
||||||
}
|
}
|
||||||
@@ -7493,14 +7488,14 @@ void wxGrid::DoSaveEditControlValue()
|
|||||||
wxString newval;
|
wxString newval;
|
||||||
bool changed = editor->EndEdit(row, col, this, oldval, &newval);
|
bool changed = editor->EndEdit(row, col, this, oldval, &newval);
|
||||||
|
|
||||||
if ( changed && SendEvent(wxEVT_GRID_CELL_CHANGING, newval) != -1 )
|
if ( changed && SendEvent(wxEVT_GRID_CELL_CHANGING, newval) != Event_Vetoed )
|
||||||
{
|
{
|
||||||
editor->ApplyEdit(row, col, this);
|
editor->ApplyEdit(row, col, this);
|
||||||
|
|
||||||
// for compatibility reasons dating back to wx 2.8 when this event
|
// for compatibility reasons dating back to wx 2.8 when this event
|
||||||
// was called wxEVT_GRID_CELL_CHANGE and wxEVT_GRID_CELL_CHANGING
|
// was called wxEVT_GRID_CELL_CHANGE and wxEVT_GRID_CELL_CHANGING
|
||||||
// didn't exist we allow vetoing this one too
|
// didn't exist we allow vetoing this one too
|
||||||
if ( SendEvent(wxEVT_GRID_CELL_CHANGED, oldval) == -1 )
|
if ( SendEvent(wxEVT_GRID_CELL_CHANGED, oldval) == Event_Vetoed )
|
||||||
{
|
{
|
||||||
// Event has been vetoed, set the data back.
|
// Event has been vetoed, set the data back.
|
||||||
SetCellValue(m_currentCellCoords, oldval);
|
SetCellValue(m_currentCellCoords, oldval);
|
||||||
|
Reference in New Issue
Block a user