1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name:        wizpage.tex
3%% Purpose:     wxWizardPage and wxWizardPageSimple classes documentation
4%% Author:      Vadim Zeitlin
5%% Modified by:
6%% Created:     02.04.00
7%% RCS-ID:      $Id: wizpage.tex 39409 2006-05-28 23:56:51Z VZ $
8%% Copyright:   (c) Vadim Zeitlin
9%% License:     wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12\section{\class{wxWizardPage}}\label{wxwizardpage}
13
14wxWizardPage is one of the screens in \helpref{wxWizard}{wxwizard}: it must
15know what are the following and preceding pages (which may be {\tt NULL} for the
16first/last page). Except for this extra knowledge, wxWizardPage is just a
17panel, so the controls may be placed directly on it in the usual way.
18
19This class allows the programmer to decide the order of pages in the wizard
20dynamically (during run-time) and so provides maximal flexibility. Usually,
21however, the order of pages is known in advance in which case 
22\helpref{wxWizardPageSimple}{wxwizardpagesimple} class is enough and it is simpler
23to use.
24
25\wxheading{Virtual functions to override}
26
27To use this class, you must override \helpref{GetPrev}{wxwizardpagegetprev} 
28and \helpref{GetNext}{wxwizardpagegetnext} pure virtual functions (or you
29may use \helpref{wxWizardPageSimple}{wxwizardpagesimple} instead).
30
31\helpref{GetBitmap}{wxwizardpagegetbitmap} can also be overridden, but this
32should be very rarely needed.
33
34\wxheading{Derived from}
35
36\helpref{wxPanel}{wxpanel}\\
37\helpref{wxWindow}{wxwindow}\\
38\helpref{wxEvtHandler}{wxevthandler}\\
39\helpref{wxObject}{wxobject}
40
41\wxheading{Include files}
42
43<wx/wizard.h>
44
45\wxheading{See also}
46
47\helpref{wxWizard}{wxwizard}, \helpref{wxWizard sample}{samplewizard}
48
49\latexignore{\rtfignore{\wxheading{Members}}}
50
51\membersection{wxWizardPage::wxWizardPage}\label{wxwizardpagewxwizardpage}
52
53\func{}{wxWizardPage}{\param{wxWizard* }{parent}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}, \param{const wxChar }{*resource = NULL}}
54
55Constructor accepts an optional bitmap which will be used for this page
56instead of the default one for this wizard (note that all bitmaps used should
57be of the same size). Notice that no other parameters are needed because the
58wizard will resize and reposition the page anyhow.
59
60\wxheading{Parameters}
61
62\docparam{parent}{The parent wizard}
63
64\docparam{bitmap}{The page-specific bitmap if different from the global one}
65
66\docparam{resource}{Load the page from the specified resource if non-NULL}
67
68\membersection{wxWizardPage::GetPrev}\label{wxwizardpagegetprev}
69
70\constfunc{wxWizardPage*}{GetPrev}{\void}
71
72Get the page which should be shown when the user chooses the {\tt "Back"}
73button: if {\tt NULL} is returned, this button will be disabled. The first
74page of the wizard will usually return {\tt NULL} from here, but the others
75will not.
76
77\wxheading{See also}
78
79\helpref{GetNext}{wxwizardpagegetnext}
80
81\membersection{wxWizardPage::GetNext}\label{wxwizardpagegetnext}
82
83\constfunc{wxWizardPage*}{GetNext}{\void}
84
85Get the page which should be shown when the user chooses the {\tt "Next"}
86button: if {\tt NULL} is returned, this button will be disabled. The last
87page of the wizard will usually return {\tt NULL} from here, but the others
88will not.
89
90\wxheading{See also}
91
92\helpref{GetPrev}{wxwizardpagegetprev}
93
94\membersection{wxWizardPage::GetBitmap}\label{wxwizardpagegetbitmap}
95
96\constfunc{wxBitmap}{GetBitmap}{\void}
97
98This method is called by wxWizard to get the bitmap to display alongside the
99page. By default, {\tt m\_bitmap} member variable which was set in the 
100\helpref{constructor}{wxwizardpagewxwizardpage}.
101
102If the bitmap was not explicitly set (i.e. if {\tt wxNullBitmap} is returned),
103the default bitmap for the wizard should be used.
104
105The only cases when you would want to override this function is if the page
106bitmap depends dynamically on the user choices, i.e. almost never.
107
108%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxWizardPageSimple %%%%%%%%%%%%%%%%%%%%%%%%%%%%
109
110\section{\class{wxWizardPageSimple}}\label{wxwizardpagesimple}
111
112wxWizardPageSimple is the simplest possible 
113\helpref{wxWizardPage}{wxwizardpage} implementation: it just returns the
114pointers given to its constructor from GetNext() and GetPrev() functions.
115
116This makes it very easy to use the objects of this class in the wizards where
117the pages order is known statically - on the other hand, if this is not the
118case you must derive your own class from \helpref{wxWizardPage}{wxwizardpage} 
119instead.
120
121\wxheading{Derived from}
122
123\helpref{wxWizardPage}{wxwizardpage}\\
124\helpref{wxPanel}{wxpanel}\\
125\helpref{wxWindow}{wxwindow}\\
126\helpref{wxEvtHandler}{wxevthandler}\\
127\helpref{wxObject}{wxobject}
128
129\wxheading{Include files}
130
131<wx/wizard.h>
132
133\wxheading{See also}
134
135\helpref{wxWizard}{wxwizard}, \helpref{wxWizard sample}{samplewizard}
136
137\latexignore{\rtfignore{\wxheading{Members}}}
138
139\membersection{wxWizardPageSimple::wxWizardPageSimple}\label{wxwizardpagesimplewxwizardpagesimple}
140
141\func{}{wxWizardPageSimple}{\param{wxWizard* }{parent = NULL}, \param{wxWizardPage* }{prev = NULL}, \param{wxWizardPage* }{next = NULL}, 
142\param{const wxBitmap\& }{bitmap = wxNullBitmap}}
143
144Constructor takes the previous and next pages. They may be modified later by
145\helpref{SetPrev()}{wxwizardpagesimplesetprev} or 
146\helpref{SetNext()}{wxwizardpagesimplesetnext}.
147
148\membersection{wxWizardPageSimple::SetPrev}\label{wxwizardpagesimplesetprev}
149
150\func{void}{SetPrev}{\param{wxWizardPage* }{prev}}
151
152Sets the previous page.
153
154\membersection{wxWizardPageSimple::SetNext}\label{wxwizardpagesimplesetnext}
155
156\func{void}{SetNext}{\param{wxWizardPage* }{next}}
157
158Sets the next page.
159
160\membersection{wxWizardPageSimple::Chain}\label{wxwizardpagesimplechain}
161
162\func{static void}{Chain}{\param{wxWizardPageSimple* }{first}, \param{wxWizardPageSimple* }{second}}
163
164A convenience function to make the pages follow each other.
165
166Example:
167
168\begin{verbatim}
169    wxRadioboxPage *page3 = new wxRadioboxPage(wizard);
170    wxValidationPage *page4 = new wxValidationPage(wizard);
171
172    wxWizardPageSimple::Chain(page3, page4);
173\end{verbatim}
174
175