+class WXDLLEXPORT wxGridEvent : public wxCommandEvent {
+ DECLARE_DYNAMIC_CLASS(wxGridEvent)
+public:
+ wxGridEvent()
+ : wxCommandEvent(), m_row(-1), m_col(-1), m_x(-1), m_y(-1),
+ m_control(0), m_shift(0), m_cell(0)
+ {}
+
+ wxGridEvent(int id, wxEventType type, wxObject* obj,
+ int row=-1, int col=-1, int x=-1, int y=-1,
+ bool control=FALSE, bool shift=FALSE)
+ : wxCommandEvent(type, id), m_row(row), m_col(col), m_x(x), m_y(y),
+ m_control(control), m_shift(shift), m_cell(0)
+ {
+ SetEventObject(obj);
+ }
+
+
+ int m_row;
+ int m_col;
+ int m_x;
+ int m_y;
+ bool m_control;
+ bool m_shift;
+ wxGridCell* m_cell;
+};
+
+const wxEventType wxEVT_GRID_SELECT_CELL = wxEVT_FIRST + 1575;
+const wxEventType wxEVT_GRID_CREATE_CELL = wxEVT_FIRST + 1576;
+const wxEventType wxEVT_GRID_CHANGE_LABELS = wxEVT_FIRST + 1577;
+const wxEventType wxEVT_GRID_CHANGE_SEL_LABEL = wxEVT_FIRST + 1578;
+const wxEventType wxEVT_GRID_CELL_CHANGE = wxEVT_FIRST + 1579;
+const wxEventType wxEVT_GRID_CELL_LCLICK = wxEVT_FIRST + 1580;
+const wxEventType wxEVT_GRID_CELL_RCLICK = wxEVT_FIRST + 1581;
+const wxEventType wxEVT_GRID_LABEL_LCLICK = wxEVT_FIRST + 1582;
+const wxEventType wxEVT_GRID_LABEL_RCLICK = wxEVT_FIRST + 1583;
+
+
+typedef void (wxEvtHandler::*wxGridEventFunction)(wxGridEvent&);
+
+#define EVT_GRID_SELECT_CELL(fn) { wxEVT_GRID_SELECT_CELL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CREATE_CELL(fn) { wxEVT_GRID_CREATE_CELL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CHANGE_LABELS(fn) { wxEVT_GRID_CHANGE_LABELS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CHANGE_SEL_LABEL(fn) { wxEVT_GRID_CHANGE_SEL_LABEL, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_CHANGE(fn) { wxEVT_GRID_CELL_CHANGE, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_LCLICK(fn) { wxEVT_GRID_CELL_LCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_CELL_RCLICK(fn) { wxEVT_GRID_CELL_RCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_LABEL_LCLICK(fn) { wxEVT_GRID_LABEL_LCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+#define EVT_GRID_LABEL_RCLICK(fn) { wxEVT_GRID_LABEL_RCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxGridEventFunction) &fn, NULL },
+