]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/wizard.h
Move code removing "-psn_xxx" command line arguments to common code.
[wxWidgets.git] / interface / wx / wizard.h
index 9ffdbc86502ba85cca5186acc72df10191494553..6ad183e372073fe88454b7c3f1ed1ee7cd63730b 100644 (file)
@@ -2,10 +2,23 @@
 // Name:        wizard.h
 // Purpose:     interface of wxWizardPage, wxWizardEvent,
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+
+// Extended style to specify a help button
+#define wxWIZARD_EX_HELPBUTTON   0x00000010
+
+// Bitmap placement flags
+#define wxWIZARD_VALIGN_TOP       0x01
+#define wxWIZARD_VALIGN_CENTRE    0x02
+#define wxWIZARD_VALIGN_BOTTOM    0x04
+#define wxWIZARD_HALIGN_LEFT      0x08
+#define wxWIZARD_HALIGN_CENTRE    0x10
+#define wxWIZARD_HALIGN_RIGHT     0x20
+#define wxWIZARD_TILE             0x40
+
+
 /**
     @class wxWizardPage
 
 class wxWizardPage : public wxPanel
 {
 public:
+    /**
+       Default constructor.
+    */
+    wxWizardPage();
+    
     /**
         Constructor accepts an optional bitmap which will be used for this page
         instead of the default one for this wizard (note that all bitmaps used should
@@ -50,6 +68,18 @@ public:
     wxWizardPage(wxWizard* parent,
                  const wxBitmap& bitmap = wxNullBitmap);
 
+    /**
+       Creates the wizard page.
+       Must be called if the default constructor had been used to create the object.
+
+        @param parent
+            The parent wizard
+        @param bitmap
+            The page-specific bitmap if different from the global one
+    */
+    bool Create(wxWizard *parent,
+                const wxBitmap& bitmap = wxNullBitmap);
+
     /**
         This method is called by wxWizard to get the bitmap to display alongside the page.
         By default, @c m_bitmap member variable which was set in the
@@ -98,6 +128,10 @@ public:
         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)}
@@ -140,6 +174,14 @@ public:
 };
 
 
+wxEventType wxEVT_WIZARD_PAGE_CHANGED;
+wxEventType wxEVT_WIZARD_PAGE_CHANGING;
+wxEventType wxEVT_WIZARD_CANCEL;
+wxEventType wxEVT_WIZARD_HELP;
+wxEventType wxEVT_WIZARD_FINISHED;
+wxEventType wxEVT_WIZARD_PAGE_SHOWN;
+wxEventType wxEVT_WIZARD_BEFORE_PAGE_CHANGED;
+
 
 /**
     @class wxWizardPageSimple
@@ -160,6 +202,11 @@ public:
 class wxWizardPageSimple : public wxWizardPage
 {
 public:
+    /**
+       Default constructor.
+    */
+    wxWizardPageSimple();
+    
     /**
         Constructor takes the previous and next pages.
         They may be modified later by SetPrev() or SetNext().
@@ -169,6 +216,39 @@ public:
                        wxWizardPage* next = NULL,
                        const wxBitmap& bitmap = wxNullBitmap);
 
+    /**
+       Creates the wizard page.
+       Must be called if the default constructor had been used to create the object.
+    */
+    bool Create(wxWizard *parent = NULL, 
+                wxWizardPage *prev = NULL,
+                wxWizardPage *next = NULL,
+                const wxBitmap& bitmap = wxNullBitmap);
+
+    /**
+        A helper chaining this page with the next one.
+
+        Notice that this method returns a reference to the next page, so the
+        calls to it can, in turn, be chained:
+
+        @code
+        wxWizardPageSimple* firstPage = new FirstPage;
+        (*firstPage).Chain(new SecondPage)
+                    .Chain(new ThirdPage)
+                    .Chain(new LastPage);
+        @endcode
+
+        This makes this method the simplest way to define the order of changes
+        in fully static wizards, i.e. in those where the order doesn't depend
+        on the choices made by the user in the wizard pages during run-time.
+
+        @param next A non-@NULL pointer to the next page.
+        @return Reference to @a next on which Chain() can be called again.
+
+        @since 2.9.5
+     */
+    wxWizardPageSimple& Chain(wxWizardPageSimple* next);
+
     /**
         A convenience function to make the pages follow each other.
         Example:
@@ -231,6 +311,10 @@ public:
         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)}
@@ -325,7 +409,7 @@ public:
     bool Create(wxWindow* parent, int id = wxID_ANY,
                 const wxString& title = wxEmptyString,
                 const wxBitmap& bitmap = wxNullBitmap,
-                const wxPoint& pos = wxDefaultPosition, long style = 536877056);
+                const wxPoint& pos = wxDefaultPosition, long style = wxDEFAULT_DIALOG_STYLE);
 
     /**
         This method is obsolete, use GetPageAreaSizer() instead.
@@ -495,7 +579,7 @@ 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().
     */