]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/wizard.h
adding a app-defined event seems to quit inner eventloops like eg the popup of the...
[wxWidgets.git] / interface / wx / wizard.h
index 921527cafba3cb3a41055a034c377b7d27ff1f48..de86f1a850ce1d35d1d1cad17b360456aaef4906 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxWizardPage, wxWizardEvent,
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxWizardPage, wxWizardEvent,
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -71,7 +71,7 @@ public:
 
         @see GetPrev()
     */
 
         @see GetPrev()
     */
-    wxWizardPage* GetNext() const;
+    virtual wxWizardPage* GetNext() const = 0;
 
     /**
         Get the page which should be shown when the user chooses the @c "Back"
 
     /**
         Get the page which should be shown when the user chooses the @c "Back"
@@ -81,7 +81,7 @@ public:
 
         @see GetNext()
     */
 
         @see GetNext()
     */
-    wxWizardPage* GetPrev() const;
+    virtual wxWizardPage* GetPrev() const = 0;
 };
 
 
 };
 
 
@@ -95,9 +95,15 @@ public:
 
     @beginEventTable{wxWizardEvent}
     @event{EVT_WIZARD_PAGE_CHANGED(id, func)}
 
     @beginEventTable{wxWizardEvent}
     @event{EVT_WIZARD_PAGE_CHANGED(id, func)}
-        The page has been just changed (this event can not be vetoed).
+        The page has been just changed (this event cannot be vetoed).
     @event{EVT_WIZARD_PAGE_CHANGING(id, func)}
         The page is being changed (this event can be vetoed).
     @event{EVT_WIZARD_PAGE_CHANGING(id, func)}
         The page is being changed (this event can be vetoed).
+    @event{EVT_WIZARD_BEFORE_PAGE_CHANGED(id, func)}
+        Called after Next is clicked but before GetNext is called. Unlike EVT_WIZARD_CHANGING,
+        the handler for this function can change state that might affect the return value of
+        GetNext. This event can be vetoed.
+    @event{EVT_WIZARD_PAGE_SHOWN(id, func)}
+        The page was shown and laid out (this event cannot be vetoed).
     @event{EVT_WIZARD_CANCEL(id, func)}
         The user attempted to cancel the wizard (this event may also be vetoed).
     @event{EVT_WIZARD_HELP(id, func)}
     @event{EVT_WIZARD_CANCEL(id, func)}
         The user attempted to cancel the wizard (this event may also be vetoed).
     @event{EVT_WIZARD_HELP(id, func)}
@@ -120,8 +126,8 @@ public:
         It is not normally used by the user code as the objects of this
         type are constructed by wxWizard.
     */
         It is not normally used by the user code as the objects of this
         type are constructed by wxWizard.
     */
-    wxWizardEvent(wxEventType type = wxEVT_NULL, int id = -1,
-                  bool direction = true);
+    wxWizardEvent(wxEventType type = wxEVT_NULL, int id = wxID_ANY,
+                  bool direction = true, wxWizardPage* page = 0);
 
     /**
         Return the direction in which the page is changing: for
 
     /**
         Return the direction in which the page is changing: for
@@ -162,7 +168,7 @@ public:
         Constructor takes the previous and next pages.
         They may be modified later by SetPrev() or SetNext().
     */
         Constructor takes the previous and next pages.
         They may be modified later by SetPrev() or SetNext().
     */
-    wxWizardPageSimple(wxWizard* parent = NULL,
+    wxWizardPageSimple(wxWizard* parent,
                        wxWizardPage* prev = NULL,
                        wxWizardPage* next = NULL,
                        const wxBitmap& bitmap = wxNullBitmap);
                        wxWizardPage* prev = NULL,
                        wxWizardPage* next = NULL,
                        const wxBitmap& bitmap = wxNullBitmap);
@@ -223,12 +229,18 @@ public:
     wxDialog::EnableLayoutAdaptation() or per dialog with wxDialog::SetLayoutAdaptationMode().
     For more about layout adaptation, see @ref overview_dialog_autoscrolling.
 
     wxDialog::EnableLayoutAdaptation() or per dialog with wxDialog::SetLayoutAdaptationMode().
     For more about layout adaptation, see @ref overview_dialog_autoscrolling.
 
-    @beginEventTable{wxWizardEvent}
+    @beginEventEmissionTable{wxWizardEvent}
     For some events, Veto() can be called to prevent the event from happening.
     @event{EVT_WIZARD_PAGE_CHANGED(id, func)}
         The page has just been changed (this event cannot be vetoed).
     @event{EVT_WIZARD_PAGE_CHANGING(id, func)}
         The page is being changed (this event can be vetoed).
     For some events, Veto() can be called to prevent the event from happening.
     @event{EVT_WIZARD_PAGE_CHANGED(id, func)}
         The page has just been changed (this event cannot be vetoed).
     @event{EVT_WIZARD_PAGE_CHANGING(id, func)}
         The page is being changed (this event can be vetoed).
+    @event{EVT_WIZARD_BEFORE_PAGE_CHANGED(id, func)}
+        Called after Next is clicked but before GetNext is called. Unlike EVT_WIZARD_CHANGING,
+        the handler for this function can change state that might affect the return value of
+        GetNext. This event can be vetoed.
+    @event{EVT_WIZARD_PAGE_SHOWN(id, func)}
+        The page was shown and laid out (this event cannot be vetoed).
     @event{EVT_WIZARD_CANCEL(id, func)}
         The user attempted to cancel the wizard (this event may also be vetoed).
     @event{EVT_WIZARD_HELP(id, func)}
     @event{EVT_WIZARD_CANCEL(id, func)}
         The user attempted to cancel the wizard (this event may also be vetoed).
     @event{EVT_WIZARD_HELP(id, func)}
@@ -280,7 +292,7 @@ public:
         @param parent
             The parent window, may be @NULL.
         @param id
         @param parent
             The parent window, may be @NULL.
         @param id
-            The id of the dialog, will usually be just -1.
+            The id of the dialog, will usually be just wxID_ANY.
         @param title
             The title of the dialog.
         @param bitmap
         @param title
             The title of the dialog.
         @param bitmap
@@ -290,7 +302,7 @@ public:
         @param style
             Window style is passed to wxDialog.
     */
         @param style
             Window style is passed to wxDialog.
     */
-    wxWizard(wxWindow* parent, int id = -1,
+    wxWizard(wxWindow* parent, int id = wxID_ANY,
              const wxString& title = wxEmptyString,
              const wxBitmap& bitmap = wxNullBitmap,
              const wxPoint& pos = wxDefaultPosition,
              const wxString& title = wxEmptyString,
              const wxBitmap& bitmap = wxNullBitmap,
              const wxPoint& pos = wxDefaultPosition,
@@ -318,11 +330,10 @@ public:
         @param style
             Window style is passed to wxDialog.
     */
         @param style
             Window style is passed to wxDialog.
     */
-    bool Create(wxWindow* parent, int id = -1,
+    bool Create(wxWindow* parent, int id = wxID_ANY,
                 const wxString& title = wxEmptyString,
                 const wxBitmap& bitmap = wxNullBitmap,
                 const wxString& title = wxEmptyString,
                 const wxBitmap& bitmap = wxNullBitmap,
-                const wxPoint& pos = wxDefaultPosition,
-                long style = wxDEFAULT_DIALOG_STYLE);
+                const wxPoint& pos = wxDefaultPosition, long style = 536877056);
 
     /**
         This method is obsolete, use GetPageAreaSizer() instead.
 
     /**
         This method is obsolete, use GetPageAreaSizer() instead.
@@ -429,7 +440,7 @@ public:
     /**
         Executes the wizard starting from the given page, returning @true if it was
         successfully finished or @false if user cancelled it.
     /**
         Executes the wizard starting from the given page, returning @true if it was
         successfully finished or @false if user cancelled it.
-        The @a firstPage can not be @NULL.
+        The @a firstPage cannot be @NULL.
     */
     virtual bool RunWizard(wxWizardPage* firstPage);
 
     */
     virtual bool RunWizard(wxWizardPage* firstPage);
 
@@ -492,12 +503,9 @@ public:
         Also, the wizard will never be smaller than the default size.
 
         The recommended way to use this function is to lay out all wizard pages
         Also, the wizard will never be smaller than the default size.
 
         The recommended way to use this function is to lay out all wizard pages
-        using the sizers (even though the wizard is not resizeable) and then use
+        using the sizers (even though the wizard is not resizable) and then use
         wxSizer::CalcMin() in a loop to calculate the maximum of minimal sizes of
         the pages and pass it to SetPageSize().
         wxSizer::CalcMin() in a loop to calculate the maximum of minimal sizes of
         the pages and pass it to SetPageSize().
-
-        @deprecated
-        This method is obsolete, use GetPageAreaSizer() instead.
     */
     virtual void SetPageSize(const wxSize& sizePage);
 };
     */
     virtual void SetPageSize(const wxSize& sizePage);
 };