]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wizard.h
Implement monitoring of file descriptors in wxMotif event loop.
[wxWidgets.git] / include / wx / wizard.h
index 0c2453ca83a05d0909b1852493f2ae720176ba5c..59fe14f870e53559c5c1e91ac135043cf9122174 100644 (file)
@@ -147,7 +147,15 @@ public:
     void SetPrev(wxWizardPage *prev) { m_prev = prev; }
     void SetNext(wxWizardPage *next) { m_next = next; }
 
-    // a convenience function to make the pages follow each other
+    // Convenience functions to make the pages follow each other without having
+    // to call their SetPrev() or SetNext() explicitly.
+    wxWizardPageSimple& Chain(wxWizardPageSimple* next)
+    {
+        SetNext(next);
+        next->SetPrev(this);
+        return *next;
+    }
+
     static void Chain(wxWizardPageSimple *first, wxWizardPageSimple *second)
     {
         wxCHECK_RET( first && second,
@@ -291,6 +299,7 @@ wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_CANCEL, wxWizardEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_HELP, wxWizardEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_FINISHED, wxWizardEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_PAGE_SHOWN, wxWizardEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_BEFORE_PAGE_CHANGED, wxWizardEvent );
 
 typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
 
@@ -307,6 +316,10 @@ typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
 // changed - unless the event handler vetoes the event
 #define EVT_WIZARD_PAGE_CHANGING(id, fn) wx__DECLARE_WIZARDEVT(PAGE_CHANGING, id, fn)
 
+// Called before GetNext/GetPrev is called, so that the handler can change state that will be
+// used when GetNext/GetPrev is called. PAGE_CHANGING is called too late to influence GetNext/GetPrev.
+#define EVT_WIZARD_BEFORE_PAGE_CHANGED(id, fn) wx__DECLARE_WIZARDEVT(BEFORE_PAGE_CHANGED, id, fn)
+
 // the user pressed "Cancel" button and the wizard is going to be dismissed -
 // unless the event handler vetoes the event
 #define EVT_WIZARD_CANCEL(id, fn) wx__DECLARE_WIZARDEVT(CANCEL, id, fn)