]> git.saurik.com Git - wxWidgets.git/commitdiff
adding correct events
authorStefan Csomor <csomor@advancedconcepts.ch>
Tue, 13 Jul 2004 18:32:22 +0000 (18:32 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Tue, 13 Jul 2004 18:32:22 +0000 (18:32 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/mac/carbon/tabctrl.h
src/mac/carbon/tabctrl.cpp

index 7a6e14300a85b2e8d1630d814e91d3768d87ae8c..3eedfea99ebf9888e080958683134657f2306511 100644 (file)
@@ -119,20 +119,38 @@ protected:
 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_
index a8b350e713c53c7d1200c0bab4343c5694d83a94..33bf35469b5fe3e52a76671ec7fbd1ce0f1f24e9 100644 (file)
 #include "wx/tabctrl.h"
 #include "wx/mac/uma.h"
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxTabCtrl, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxTabEvent, wxNotifyEvent)
+
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGING)
+
 
 BEGIN_EVENT_TABLE(wxTabCtrl, wxControl)
 END_EVENT_TABLE()
-#endif
 
 wxTabCtrl::wxTabCtrl()
 {
@@ -209,11 +212,3 @@ void wxTabCtrl::SetPadding(const wxSize& padding)
     // TODO
 }
 
-// Tab event
-IMPLEMENT_DYNAMIC_CLASS(wxTabEvent, wxCommandEvent)
-
-wxTabEvent::wxTabEvent(wxEventType commandType, int id):
-  wxCommandEvent(commandType, id)
-{
-}
-