%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Name: wizard.tex %% Purpose: wxWizard class documentation %% Author: Vadim Zeitlin %% Modified by: %% Created: 02.04.00 %% RCS-ID: $Id$ %% Copyright: (c) Vadim Zeitlin %% License: wxWindows license %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{\class{wxWizard}}\label{wxwizard} 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. 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}. Finally, don't forget to call {\tt wizard->Destroy()}. \wxheading{Derived from} \helpref{wxDialog}{wxdialog}\\ \helpref{wxPanel}{wxpanel}\\ \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} \wxheading{Include files} \wxheading{Event table macros} To process input from a wizard dialog, use these event handler macros to direct input to member functions that take a \helpref{wxWizardEvent}{wxwizardevent} argument. For some events, \helpref{Veto()}{wxnotifyeventveto} can be called to prevent the event from happening. \twocolwidtha{7cm} \begin{twocollist}\itemsep=2pt \twocolitem{{\bf EVT\_WIZARD\_PAGE\_CHANGED(id, func)}}{The page has been just changed (this event can not be vetoed).} \twocolitem{{\bf EVT\_WIZARD\_PAGE\_CHANGING(id, func)}}{The page is being 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).} \end{twocollist}% \wxheading{See also} \helpref{wxWizardEvent}{wxwizardevent}, \helpref{wxWizardPage}{wxwizardpage}, \helpref{wxWizard sample}{samplewizard} \latexignore{\rtfignore{\wxheading{Members}}} \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}, \param{const wxSize\& }{size = wxDefaultSize}} 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. \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.} \docparam{size}{The size of the dialog. Reasonable default size is used if this parameter is not specified.} \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::GetCurrentPage}\label{wxwizardgetcurrentpage} \constfunc{wxWizardPage*}{GetCurrentPage}{\void} Get the current page while the wizard is running. {\tt NULL} is returned if \helpref{RunWizard()}{wxwizardrunwizard} is not being executed now. \membersection{wxWizard::GetPageSize}\label{wxwizardgetpagesize} \constfunc{wxSize}{GetPageSize}{\void} Returns the size available for the pages.