X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..647b8e379ed0f470f0f643fe816ba872be41541d:/docs/latex/wx/wizard.tex diff --git a/docs/latex/wx/wizard.tex b/docs/latex/wx/wizard.tex index 10de3469b7..034da96e51 100644 --- a/docs/latex/wx/wizard.tex +++ b/docs/latex/wx/wizard.tex @@ -14,15 +14,16 @@ wxWizard is the central class for implementing `wizard-like' dialogs. These dialogs are mostly familiar to Windows users and are nothing else but a sequence of `pages' each of them displayed inside a dialog which has the -buttons to pas to the next (and previous) pages. +buttons to pass to the next (and previous) pages. The wizards are typically used to decompose a complex dialog into several simple steps and are mainly useful to the novice users, hence it is important to keep them as simple as possible. To show a wizard dialog, you must first create an object of wxWizard class -using \helpref{Create}{wxwizardcreate} function. Then you should add all pages -you want the wizard to show and call \helpref{RunWizard}{wxwizardrunwizard}. +using either the non default constructor or a default one followed by call to +\helpref{Create}{wxwizardcreate} function. Then you should add all pages you +want the wizard to show and call \helpref{RunWizard}{wxwizardrunwizard}. Finally, don't forget to call {\tt wizard->Destroy()}. \wxheading{Derived from} @@ -53,21 +54,67 @@ changed (this event can not be vetoed).} changed (this event can be vetoed).} \twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel the wizard (this event may also be vetoed).} +\twocolitem{{\bf EVT\_WIZARD\_HELP(id, func)}}{The wizard help button was pressed.} +\twocolitem{{\bf EVT\_WIZARD\_FINISHED(id, func)}}{The wizard finished button was pressed.} \end{twocollist}% +\wxheading{Extended styles} + +Use the \helpref{wxWindow::SetExtraStyle}{wxwindowsetextrastyle} function to set the following +style. You will need to use two-step construction (use the default constructor, call {\bf SetExtraStyle}, then call {\bf Create}). + +\twocolwidtha{5cm}% +\begin{twocollist}\itemsep=0pt +\twocolitem{\windowstyle{wxWIZARD\_EX\_HELPBUTTON}}{Shows a Help button using wxID\_HELP.} +\end{twocollist} + +See also \helpref{wxDialog}{wxdialog} for other extended styles. + \wxheading{See also} \helpref{wxWizardEvent}{wxwizardevent}, \helpref{wxWizardPage}{wxwizardpage}, \helpref{wxWizard sample}{samplewizard} \latexignore{\rtfignore{\wxheading{Members}}} +\membersection{wxWizard::wxWizard}\label{wxwizardctor} + +\func{}{wxWizard}{\void} + +Default constructor. Use this if you wish to derive from wxWizard and then call +\helpref{Create}{wxwizardcreate}, for example if you wish to set an extra style +with \helpref{wxWindow::SetExtraStyle}{wxwindowsetextrastyle} between the two +calls. + +\func{}{wxWizard}{\param{wxWindow* }{parent}, \param{int }{id = -1}, \param{const wxString\& }{title = wxEmptyString}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}, \param{const wxPoint\& }{pos = wxDefaultPosition}} + +Constructor which really creates the wizard -- if you use this constructor, you +shouldn't call \helpref{Create}{wxwizardcreate}. + +Notice that unlike almost all other wxWindows classes, there is no {\it size} +parameter in wxWizard constructor because the wizard will have a predefined +default size by default. If you want to change this, you should use the +\helpref{SetPageSize}{wxwizardsetpagesize} function. + +\wxheading{Parameters} + +\docparam{parent}{The parent window, may be NULL.} + +\docparam{id}{The id of the dialog, will usually be just $-1$.} + +\docparam{title}{The title of the dialog.} + +\docparam{bitmap}{The default bitmap used in the left side of the wizard. See +also \helpref{GetBitmap}{wxwizardpagegetbitmap}.} + +\docparam{pos}{The position of the dialog, it will be centered on the screen +by default.} + \membersection{wxWizard::Create}\label{wxwizardcreate} -\func{static wxWizard*}{Create}{\param{wxWindow* }{parent}, \param{int }{id = -1}, \param{const wxString\& }{title = wxEmptyString}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}, \param{const wxPoint\& }{pos = wxDefaultPosition}} +\func{bool}{Create}{\param{wxWindow* }{parent}, \param{int }{id = -1}, \param{const wxString\& }{title = wxEmptyString}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}, \param{const wxPoint\& }{pos = wxDefaultPosition}} -Creates the wizard dialog. The returned pointer should not be deleted -directly, you should rather call {\tt Destroy()} on it and wxWindows will -delete it itself. +Creates the wizard dialog. Must be called if the default constructor had been +used to create the object. Notice that unlike almost all other wxWindows classes, there is no {\it size} parameter in wxWizard constructor because the wizard will have a predefined @@ -88,13 +135,18 @@ also \helpref{GetBitmap}{wxwizardpagegetbitmap}.} \docparam{pos}{The position of the dialog, it will be centered on the screen by default.} -\membersection{wxWizard::RunWizard}\label{wxwizardrunwizard} +\membersection{wxWizard::FitToPage}\label{wxwizardfittopage} -\func{bool}{RunWizard}{\param{wxWizardPage* }{firstPage}} +\func{void}{FittoPage}{\param{const wxWizardPage* }{firstPage}} -Executes the wizard starting from the given page, returns {\tt TRUE} if it was -successfully finished or {\tt FALSE} if user cancelled it. The {\it firstPage} -can not be {\tt NULL}. +Sets the page size to be big enough for all the pages accessible via the +given {\it firstPage}, i.e. this page, its next page and so on. + +This method may be called more than once and it will only change the page size +if the size required by the new page is bigger than the previously set one. +This is useful if the decision about which pages to show is taken during the +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 {\it Fit} separately for the others. \membersection{wxWizard::GetCurrentPage}\label{wxwizardgetcurrentpage} @@ -109,6 +161,40 @@ Get the current page while the wizard is running. {\tt NULL} is returned if Returns the size available for the pages. +\membersection{wxWizard::HasNextPage}\label{wxwizardhasnextpage} + +\func{virtual bool}{HasNextPage}{\param{wxWizardPage *}{page}} + +Return {\tt true} if this page is not the last one in the wizard. The base +class version implements this by calling +\helpref{page->GetNext}{wxwizardpagegetnext} but this could be undesirable if, +for example, the pages are created on demand only. + +\wxheading{See also} + +\helpref{HasPrevPage}{wxwizardhasprevpage} + +\membersection{wxWizard::HasPrevPage}\label{wxwizardhasprevpage} + +\func{virtual bool}{HasPrevPage}{\param{wxWizardPage *}{page}} + +Return {\tt true} if this page is not the last one in the wizard. The base +class version implements this by calling +\helpref{page->GetPrev}{wxwizardpagegetprev} but this could be undesirable if, +for example, the pages are created on demand only. + +\wxheading{See also} + +\helpref{HasNextPage}{wxwizardhasnextpage} + +\membersection{wxWizard::RunWizard}\label{wxwizardrunwizard} + +\func{bool}{RunWizard}{\param{wxWizardPage* }{firstPage}} + +Executes the wizard starting from the given page, returns {\tt true} if it was +successfully finished or {\tt false} if user cancelled it. The {\it firstPage} +can not be {\tt NULL}. + \membersection{wxWizard::SetPageSize}\label{wxwizardsetpagesize} \func{void}{SetPageSize}{\param{const wxSize\& }{sizePage}}