DECLARE_EVENT_TABLE()
};
-class WXDLLEXPORT wxTabEvent: public wxCommandEvent
+class WXDLLEXPORT wxTabEvent : public wxNotifyEvent
{
- DECLARE_DYNAMIC_CLASS(wxTabEvent)
-
- public:
- wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
+public:
+ wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
+ int nSel = -1, int nOldSel = -1)
+ : wxNotifyEvent(commandType, id)
+ {
+ m_nSel = nSel;
+ m_nOldSel = nOldSel;
+ }
+
+ // accessors
+ // the currently selected page (-1 if none)
+ int GetSelection() const { return m_nSel; }
+ void SetSelection(int nSel) { m_nSel = nSel; }
+ // the page that was selected before the change (-1 if none)
+ int GetOldSelection() const { return m_nOldSel; }
+ void SetOldSelection(int nOldSel) { m_nOldSel = nOldSel; }
+
+private:
+ int m_nSel, // currently selected page
+ m_nOldSel; // previously selected page
+
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxTabEvent)
};
typedef void (wxEvtHandler::*wxTabEventFunction)(wxTabEvent&);
-#define EVT_TAB_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGED, \
- id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
-#define EVT_TAB_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGING, \
- id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL },
+#define EVT_TAB_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_TAB_SEL_CHANGED, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxTabEventFunction, & fn ), NULL),
+#define EVT_TAB_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_TAB_SEL_CHANGING, \
+ id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxTabEventFunction, & fn ), NULL),
#endif
// _WX_TABCTRL_H_