]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/wizard.h
Make the CreateTool factories be public so they can be used from application code
[wxWidgets.git] / interface / wx / wizard.h
index 17a1f30944daa1a6a64a2c0088602c6e0310667d..de86f1a850ce1d35d1d1cad17b360456aaef4906 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxWizardPage, wxWizardEvent,
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -61,7 +61,7 @@ public:
         The only cases when you would want to override this function is if the page
         bitmap depends dynamically on the user choices, i.e. almost never.
     */
-    wxBitmap GetBitmap() const;
+    virtual wxBitmap GetBitmap() const;
 
     /**
         Get the page which should be shown when the user chooses the @c "Next"
@@ -71,7 +71,7 @@ public:
 
         @see GetPrev()
     */
-    wxWizardPage* GetNext() const;
+    virtual wxWizardPage* GetNext() const = 0;
 
     /**
         Get the page which should be shown when the user chooses the @c "Back"
@@ -81,7 +81,7 @@ public:
 
         @see GetNext()
     */
-    wxWizardPage* GetPrev() const;
+    virtual wxWizardPage* GetPrev() const = 0;
 };
 
 
@@ -95,9 +95,15 @@ public:
 
     @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_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)}
@@ -120,8 +126,8 @@ public:
         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
@@ -162,7 +168,7 @@ public:
         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);
@@ -223,12 +229,18 @@ public:
     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).
+    @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)}
@@ -280,7 +292,7 @@ public:
         @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
@@ -290,7 +302,7 @@ public:
         @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,
@@ -318,11 +330,10 @@ public:
         @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 wxPoint& pos = wxDefaultPosition,
-                long style = wxDEFAULT_DIALOG_STYLE);
+                const wxPoint& pos = wxDefaultPosition, long style = 536877056);
 
     /**
         This method is obsolete, use GetPageAreaSizer() instead.
@@ -336,7 +347,7 @@ public:
         run-time, as in this case, the wizard won't be able to get to all pages starting
         from a single one and you should call @e Fit separately for the others.
     */
-    void FitToPage(const wxWizardPage* firstPage);
+    virtual void FitToPage(const wxWizardPage* firstPage);
 
     /**
         Returns the bitmap used for the wizard.
@@ -357,13 +368,13 @@ public:
 
         See also SetBitmapPlacement() for the possible values.
     */
-    int GetBitmapPlacement();
+    int GetBitmapPlacement() const;
 
     /**
         Get the current page while the wizard is running.
         @NULL is returned if RunWizard() is not being executed now.
     */
-    wxWizardPage* GetCurrentPage() const;
+    virtual wxWizardPage* GetCurrentPage() const;
 
     /**
         Returns the minimum width for the bitmap that will be constructed to contain
@@ -404,7 +415,7 @@ public:
     /**
         Returns the size available for the pages.
     */
-    wxSize GetPageSize() const;
+    virtual wxSize GetPageSize() const;
 
     /**
         Return @true if this page is not the last one in the wizard.
@@ -429,9 +440,9 @@ public:
     /**
         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.
     */
-    bool RunWizard(wxWizardPage* firstPage);
+    virtual bool RunWizard(wxWizardPage* firstPage);
 
     /**
         Sets the bitmap used for the wizard.
@@ -475,7 +486,7 @@ public:
         will be added to the control border in order to space page controls ten points
         from the dialog border and non-page controls.
     */
-    void SetBorder(int border);
+    virtual void SetBorder(int border);
 
     /**
         Sets the minimum width for the bitmap that will be constructed to contain the
@@ -492,13 +503,10 @@ 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
-        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().
-
-        @deprecated
-        This method is obsolete, use GetPageAreaSizer() instead.
     */
-    void SetPageSize(const wxSize& sizePage);
+    virtual void SetPageSize(const wxSize& sizePage);
 };