+/**
+ @class wxGridEvent
+
+ This event class contains information about various grid events.
+
+ Notice that all grid event table macros are available in two versions:
+ @c EVT_GRID_XXX and @c EVT_GRID_CMD_XXX. The only difference between the
+ two is that the former doesn't allow to specify the grid window identifier
+ and so takes a single parameter, the event handler, but is not suitable if
+ there is more than one grid control in the window where the event table is
+ used (as it would catch the events from all the grids). The version with @c
+ CMD takes the id as first argument and the event handler as the second one
+ and so can be used with multiple grids as well. Otherwise there are no
+ difference between the two and only the versions without the id are
+ documented below for brevity.
+
+ @beginEventTable{wxGridEvent}
+ @event{EVT_GRID_CELL_CHANGING(func)}
+ The user is about to change the data in a cell. The new cell value as
+ string is available from GetString() event object method. This event
+ can be vetoed if the change is not allowed.
+ Processes a @c wxEVT_GRID_CELL_CHANGING event type.
+ @event{EVT_GRID_CELL_CHANGED(func)}
+ The user changed the data in a cell. The old cell value as string is
+ available from GetString() event object method. Notice that vetoing
+ this event still works for backwards compatibility reasons but any new
+ code should only veto EVT_GRID_CELL_CHANGING event and not this one.
+ Processes a @c wxEVT_GRID_CELL_CHANGED event type.
+ @event{EVT_GRID_CELL_LEFT_CLICK(func)}
+ The user clicked a cell with the left mouse button. Processes a
+ @c wxEVT_GRID_CELL_LEFT_CLICK event type.
+ @event{EVT_GRID_CELL_LEFT_DCLICK(func)}
+ The user double-clicked a cell with the left mouse button. Processes a
+ @c wxEVT_GRID_CELL_LEFT_DCLICK event type.
+ @event{EVT_GRID_CELL_RIGHT_CLICK(func)}
+ The user clicked a cell with the right mouse button. Processes a
+ @c wxEVT_GRID_CELL_RIGHT_CLICK event type.
+ @event{EVT_GRID_CELL_RIGHT_DCLICK(func)}
+ The user double-clicked a cell with the right mouse button. Processes a
+ @c wxEVT_GRID_CELL_RIGHT_DCLICK event type.
+ @event{EVT_GRID_EDITOR_HIDDEN(func)}
+ The editor for a cell was hidden. Processes a
+ @c wxEVT_GRID_EDITOR_HIDDEN event type.
+ @event{EVT_GRID_EDITOR_SHOWN(func)}
+ The editor for a cell was shown. Processes a
+ @c wxEVT_GRID_EDITOR_SHOWN event type.
+ @event{EVT_GRID_LABEL_LEFT_CLICK(func)}
+ The user clicked a label with the left mouse button. Processes a
+ @c wxEVT_GRID_LABEL_LEFT_CLICK event type.
+ @event{EVT_GRID_LABEL_LEFT_DCLICK(func)}
+ The user double-clicked a label with the left mouse button. Processes a
+ @c wxEVT_GRID_LABEL_LEFT_DCLICK event type.
+ @event{EVT_GRID_LABEL_RIGHT_CLICK(func)}
+ The user clicked a label with the right mouse button. Processes a
+ @c wxEVT_GRID_LABEL_RIGHT_CLICK event type.
+ @event{EVT_GRID_LABEL_RIGHT_DCLICK(func)}
+ The user double-clicked a label with the right mouse button. Processes
+ a @c wxEVT_GRID_LABEL_RIGHT_DCLICK event type.
+ @event{EVT_GRID_SELECT_CELL(func)}
+ The user moved to, and selected a cell. Processes a
+ @c wxEVT_GRID_SELECT_CELL event type.
+ @event{EVT_GRID_COL_MOVE(func)}
+ The user tries to change the order of the columns in the grid by
+ dragging the column specified by GetCol(). This event can be vetoed to
+ either prevent the user from reordering the column change completely
+ (but notice that if you don't want to allow it at all, you simply
+ shouldn't call wxGrid::EnableDragColMove() in the first place), vetoed
+ but handled in some way in the handler, e.g. by really moving the
+ column to the new position at the associated table level, or allowed to
+ proceed in which case wxGrid::SetColPos() is used to reorder the
+ columns display order without affecting the use of the column indices
+ otherwise.
+ This event macro corresponds to @c wxEVT_GRID_COL_MOVE event type.
+ @event{EVT_GRID_COL_SORT(func)}
+ This event is generated when a column is clicked by the user and its
+ name is explained by the fact that the custom reaction to a click on a
+ column is to sort the grid contents by this column. However the grid
+ itself has no special support for sorting and it's up to the handler of
+ this event to update the associated table. But if the event is handled
+ (and not vetoed) the grid supposes that the table was indeed resorted
+ and updates the column to indicate the new sort order and refreshes
+ itself.
+ This event macro corresponds to @c wxEVT_GRID_COL_SORT event type.
+ @endEventTable
+
+ @library{wxadv}
+ @category{grid,events}
+*/
+class wxGridEvent : public wxNotifyEvent
+{
+public: