1. wxNotifyEvent documented
2. wxNotebook event now derives from it under wxGTK too - fixing the PAGE_CHANGING event handling bug 3. the controls sample demonstrates PAGE_CHANGING in action git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -1,6 +1,70 @@ | ||||
| #ifndef _WX_NOTEBOOK_H_BASE_ | ||||
| #define _WX_NOTEBOOK_H_BASE_ | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // headers | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| #include "wx/event.h"   // the base class: wxNotifyEvent | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // notebook event class (used by NOTEBOOK_PAGE_CHANGED/ING events) | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| class WXDLLEXPORT wxNotebookEvent : public wxNotifyEvent | ||||
| { | ||||
| public: | ||||
|     wxNotebookEvent(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(wxNotebookEvent) | ||||
| }; | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // event macros | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&); | ||||
|  | ||||
| #define EVT_NOTEBOOK_PAGE_CHANGED(id, fn)                                   \ | ||||
|   {                                                                         \ | ||||
|     wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,                                    \ | ||||
|     id,                                                                     \ | ||||
|     -1,                                                                     \ | ||||
|     (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn,  \ | ||||
|     NULL                                                                    \ | ||||
|   }, | ||||
|  | ||||
| #define EVT_NOTEBOOK_PAGE_CHANGING(id, fn)                                  \ | ||||
|   {                                                                         \ | ||||
|     wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING,                                   \ | ||||
|     id,                                                                     \ | ||||
|     -1,                                                                     \ | ||||
|     (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn,  \ | ||||
|     NULL                                                                    \ | ||||
|   }, | ||||
|  | ||||
| // ---------------------------------------------------------------------------- | ||||
| // wxNotebook class itself | ||||
| // ---------------------------------------------------------------------------- | ||||
|  | ||||
| #if defined(__WXMSW__) | ||||
| #ifdef __WIN16__ | ||||
|   #include  "wx/generic/notebook.h" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user