From 66c750fe1fae3a003a1417ba96fda4c93ad8f317 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 3 Apr 2000 00:39:07 +0000 Subject: [PATCH] 1. wxWizard docs added 2. wxDllLoader docs added (not wxLibrary though - have no idea about this one) 3. some minor fixes to wxCmdLineParser and wx[F]File docs git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/category.tex | 7 ++ docs/latex/wx/classes.tex | 5 ++ docs/latex/wx/cmdlpars.tex | 13 +-- docs/latex/wx/dllload.tex | 134 ++++++++++++++++++++++++++++++ docs/latex/wx/file.tex | 7 +- docs/latex/wx/tsamples.tex | 24 ++++++ docs/latex/wx/wizard.tex | 108 ++++++++++++++++++++++++ docs/latex/wx/wizevt.tex | 66 +++++++++++++++ docs/latex/wx/wizpage.tex | 164 +++++++++++++++++++++++++++++++++++++ 9 files changed, 520 insertions(+), 8 deletions(-) create mode 100644 docs/latex/wx/dllload.tex create mode 100644 docs/latex/wx/wizard.tex create mode 100644 docs/latex/wx/wizevt.tex create mode 100644 docs/latex/wx/wizpage.tex diff --git a/docs/latex/wx/category.tex b/docs/latex/wx/category.tex index 9585e6a45a..74fab2a04d 100644 --- a/docs/latex/wx/category.tex +++ b/docs/latex/wx/category.tex @@ -17,6 +17,7 @@ Frames may contain windows, and dialog boxes may directly contain controls. \twocolitem{\helpref{wxMDIParentFrame}{wxmdiparentframe}}{MDI parent frame} \twocolitem{\helpref{wxMDIChildFrame}{wxmdichildframe}}{MDI child frame} \twocolitem{\helpref{wxMiniFrame}{wxminiframe}}{A frame with a small title bar} +\twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog.} \twocolitem{\helpref{wxTabbedDialog}{wxtabbeddialog}}{Tabbed dialog (deprecated, use wxNotebook instead)} \end{twocollist} @@ -39,6 +40,8 @@ The following are a variety of classes that are derived from wxWindow. \twocolitem{\helpref{wxPlotWindow}{wxplotwindow}}{A class to display data.} \twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged} \twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement} +\twocolitem{\helpref{wxWizardPage}{wxwizardpage}}{A base class for the page in wizard dialog.} +\twocolitem{\helpref{wxWizardPageSimple}{wxwizardpagesimple}}{A page in wizard dialog.} \end{twocollist} {\large {\bf Common dialogs}} @@ -61,6 +64,7 @@ in an application. \twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog} \twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog} \twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog} +\twocolitem{\helpref{wxWizard}{wxwizard}}{A wizard dialog.} \end{twocollist} {\large {\bf Controls}} @@ -203,10 +207,12 @@ An event object contains information about a specific event. Event handlers \twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows} \twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event} \twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event} +\twocolitem{\helpref{wxSpinEvent}{wxspinevent}}{An event from \helpref{wxSpinButton}{wxspinbutton}.} \twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event} \twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event} \twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event} \twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event} +\twocolitem{\helpref{wxWizardEvent}{wxwizardevent}}{A wizard event} \end{twocollist} {\large {\bf Validators}} @@ -470,6 +476,7 @@ used internally by the HTML classes. \twocolitem{\helpref{wxApp}{wxapp}}{Application class} \twocolitem{\helpref{wxCmdLineParser}{wxcmdlineparser}}{Command line parser class} \twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing (using either INI files or registry)} +\twocolitem{\helpref{wxDllLoader}{wxdllloader}}{Class to work with shared libraries.} \twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows} \twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility} \twocolitem{\helpref{wxProcess}{wxprocess}}{Process class} diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex index 378628f88c..bf60e15cd2 100644 --- a/docs/latex/wx/classes.tex +++ b/docs/latex/wx/classes.tex @@ -61,6 +61,7 @@ \input dialog.tex \input dir.tex \input dirdlg.tex +\input dllload.tex \input docchfrm.tex \input docmanag.tex \input docmdich.tex @@ -240,6 +241,7 @@ \input strmsock.tex \input spinbutt.tex \input spinctrl.tex +\input spinevt.tex \input splitevt.tex \input splitter.tex \input statbmp.tex @@ -291,6 +293,9 @@ \input window.tex \input windowdc.tex \input wnddisbl.tex +\input wizard.tex +\input wizevt.tex +\input wizpage.tex \input zipstrm.tex \input strmzlib.tex \input function.tex diff --git a/docs/latex/wx/cmdlpars.tex b/docs/latex/wx/cmdlpars.tex index 5a04c34483..a87b4ac4ca 100644 --- a/docs/latex/wx/cmdlpars.tex +++ b/docs/latex/wx/cmdlpars.tex @@ -31,6 +31,7 @@ giving it the command line to parse and optionally its description or use \end{enumerate} In the documentation below the following terminology is used: + \begin{twocollist}\itemsep=0pt \twocolitem{switch}{This is a boolean option which can be given or not, but which doesn't have any value. We use the word switch to distinguish such boolean @@ -126,7 +127,7 @@ of parameters effectively specified after calling \wxheading{See also} -\helpref{wxApp::argc}{wxappargc} and \helpref{wxApp::argv}{wxappargv} +\helpref{wxApp::argc}{wxappargc} and \helpref{wxApp::argv}{wxappargv}\\ console sample %%%%%%%%%%%%% Methods by group %%%%%%%%%%%%% @@ -146,7 +147,7 @@ the only restriction is that it must be done before calling To specify the command line to parse you may use either one of constructors accepting it (\helpref{wxCmdLineParser(argc, argv)}{wxcmdlineparserwxcmdlineparserargc} or \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserdescargc} usually) or, -if you use \helpref{the default constructor}{wxcmdlineparserwxcmdlineparser}, +if you use \helpref{the default constructor}{wxcmdlineparserwxcmdlineparserdef}, you can do it later by calling \helpref{SetCmdLine}{wxcmdlineparsersetcmdlineargc}. @@ -398,27 +399,27 @@ will not be helpful to the user unless the descriptions were indeed specified. \helpref{SetLogo}{wxcmdlineparsersetlogo} -\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfound} +\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundswitch} \constfunc{bool}{Found}{\param{const wxString\& }{name}} Returns TRUE if the given switch was found, FALSE otherwise. -\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfound} +\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundstringoption} \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxString* }{value}} Returns TRUE if an option taking a string value was found and stores the value in the provided pointer (which should not be NULL). -\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfound} +\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfoundintoption} \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{long* }{value}} Returns TRUE if an option taking an integer value was found and stores the value in the provided pointer (which should not be NULL). -\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfound} +\membersection{wxCmdLineParser::Found}\label{wxcmdlineparserfounddateoption} \constfunc{bool}{Found}{\param{const wxString\& }{name}, \param{wxDateTime* }{value}} diff --git a/docs/latex/wx/dllload.tex b/docs/latex/wx/dllload.tex new file mode 100644 index 0000000000..1e0e7f81a4 --- /dev/null +++ b/docs/latex/wx/dllload.tex @@ -0,0 +1,134 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Name: dllload.tex +%% Purpose: wxDllLoader documentation +%% Author: Vadim Zeitlin +%% Modified by: +%% Created: 02.04.00 +%% RCS-ID: $Id$ +%% Copyright: (c) Vadim Zeitlin +%% License: wxWindows license +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\class{wxDllLoader}}\label{wxdllloader} + +wxDllLoader is a class providing an interface similar to Unix's {\tt +dlopen()}. It is used by the wxLibrary framework and manages the actual +loading of shared libraries and the resolving of symbols in them. There are no +instances of this class, it simply serves as a namespace for its static member +functions. + +The terms {\it DLL} and {\it shared library/object} will both be used in the +documentation to refer to the same thing: a {\tt .dll} file under Windows or +{\tt .so} or {\tt .sl} one under Unix. + +Example of using this class to dynamically load {\tt strlen()} function: + +\begin{verbatim} +#if defined(__WXMSW__) + static const wxChar *LIB_NAME = _T("kernel32"); + static const wxChar *FUNC_NAME = _T("lstrlenA"); +#elif defined(__UNIX__) + static const wxChar *LIB_NAME = _T("/lib/libc-2.0.7.so"); + static const wxChar *FUNC_NAME = _T("strlen"); +#endif + + wxDllType dllHandle = wxDllLoader::LoadLibrary(LIB_NAME); + if ( !dllHandle ) + { + ... error ... + } + else + { + typedef int (*strlenType)(char *); + strlenType pfnStrlen = (strlenType)wxDllLoader::GetSymbol(dllHandle, FUNC_NAME); + if ( !pfnStrlen ) + { + ... error ... + } + else + { + if ( pfnStrlen("foo") != 3 ) + { + ... error ... + } + else + { + ... ok! ... + } + } + + wxDllLoader::UnloadLibrary(dllHandle); + } +\end{verbatim} + +\wxheading{Derived from} + +No base class + +\wxheading{Include files} + + + +\wxheading{Data structures} + +This header defines a platfrom-dependent {\tt wxDllType} typedef which stores +a handle to a loaded DLLs on the given platform. + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxDllLoader::LoadLibrary}\label{wxdllloaderloadlibrary} + +\func{wxDllType}{LoadLibrary}{\param{const wxString \& }{libname}, \param{bool* }{success = NULL}} + +This function loads a shared library into memory, with {\it libname} being the +name of the library: it may be either the full name including path and +(platform-dependent) extenesion, just the basename (no path and no extension) +or a basename with extentsion. In the last two cases, the library will be +searched in all standard locations. + +Returns a handle to the loaded DLL. Use {\it success} parameter to test if it +is valid. If the handle is valid, the library must be unloaded later with +\helpref{UnloadLibrary}{wxdllloaderunloadlibrary}. + +\wxheading{Parameters} + +\docparam{libname}{Name of the shared object to load.} + +\docparam{success}{May point to a bool variable which will be set to TRUE or +FALSE; may also be {\tt NULL}.} + +\membersection{wxDllLoader::UnloadLibrary}\label{wxdllloaderunloadlibrary} + +\func{void}{UnloadLibrary}{\param{wxDllType }{dllhandle}} + +This function unloads the shared library. The handle {\it dllhandle} must have +been returned by \helpref{LoadLibrary}{wxdllloaderloadlibrary} previously. + +\membersection{wxDllLoader::GetProgramHandle}\label{wxdllloadergetprogramhandle} + +\func{wxDllType}{GetProgramHandle}{\void} + +This function returns a valid handle for the main program itself. Notice that +the {\tt NULL} return value is valid for some systems (i.e. doesn't mean that +the function failed). + +{\bf NB:} This function is Unix specific. It will always fail under Windows +or OS/2. + +\membersection{wxDllLoader::GetSymbol}\label{wxdllloadergetsymbol} + +\func{void *}{GetSymbol}{\param{wxDllType }{dllHandle}, \param{const wxString\& }{name}} + +This function resolves a symbol in a loaded DLL, such as a variable or +function name. + +Returned value will be {\tt NULL} if the symbol was not found in the DLL or if +an error occured. + +\wxheading{Parameters} + +\docparam{dllHandle}{Valid handle previously returned by +\helpref{LoadLibrary}{wxdllloaderloadlibrary}} + +\docparam{name}{Name of the symbol.} + diff --git a/docs/latex/wx/file.tex b/docs/latex/wx/file.tex index 99667567bb..0163e6dfd3 100644 --- a/docs/latex/wx/file.tex +++ b/docs/latex/wx/file.tex @@ -5,6 +5,8 @@ minimize the overhead of using it - in fact, there is hardly any overhead at all, but using it brings you automatic error checking and hides differences between platforms and compilers. wxFile also automatically closes the file in its destructor making it unnecessary to worry about forgetting to do it. +wxFile is a wrapper around {\tt file descriptor.} - see also +\helpref{wxFFile}{wxffile} for a wrapper around {\tt FILE} structure. \wxheading{Derived from} @@ -278,10 +280,11 @@ Writes the contents of the string to the file, returns TRUE on success. \section{\class{wxFFile}}\label{wxffile} -A wxFFile performs raw file I/O. This is a very small class designed to +wxFFile implements buffered file I/O. This is a very small class designed to minimize the overhead of using it - in fact, there is hardly any overhead at all, but using it brings you automatic error checking and hides differences -between platforms and compilers. +between platforms and compilers. It wraps inside it a {\tt FILE *} handle used +by standard C IO library (also known as {\tt stdio}). \wxheading{Derived from} diff --git a/docs/latex/wx/tsamples.tex b/docs/latex/wx/tsamples.tex index 7640eb4abf..80e9cba490 100644 --- a/docs/latex/wx/tsamples.tex +++ b/docs/latex/wx/tsamples.tex @@ -415,3 +415,27 @@ Adding, inserting and deleting items and branches from the tree as well as sorting (in default alphabetical order as well as in custom one) is demonstrated here as well - try the corresponding menu entries. +\subsection{Wizard sample}\label{samplewizard} + +This sample shows so-called wizard dialog (implemented using +\helpref{wxWizard}{wxwizard} and related classes). It shows almost all +features supported: + +\begin{itemize}\itemsep=0pt +\item Using bitmaps with the wizard and changing them depending on the page +shown (notice that wxValidationPage in the sample has a different image from +the other ones) +\item Using \helpref{TransferDataFromWindow}{wxwindowtransferdatafromwindow} +to verify that the data entered is correct before passing to the next page +(done in wxValidationPage which forces the user to check a checkbox before +continuing). +\item Using more elaborated techniques to allow returning to the previous +page, but not continuing to the next one or vice versa (in wxRadioboxPage) +\item This (wxRadioboxPage) page also shows how the page may process {\tt +Cancel} button itself instead of relying on the wizard parent to do it. +\item Normally, the order of the pages in the wizard is known at compile-time, +but sometimes it depends on the user choices: wxCheckboxPage shows how to +dynamically decide which page to display next (see also +\helpref{wxWizardPage}{wxwizardpage}) +\end{itemize} + diff --git a/docs/latex/wx/wizard.tex b/docs/latex/wx/wizard.tex new file mode 100644 index 0000000000..2a2c62eff6 --- /dev/null +++ b/docs/latex/wx/wizard.tex @@ -0,0 +1,108 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 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. diff --git a/docs/latex/wx/wizevt.tex b/docs/latex/wx/wizevt.tex new file mode 100644 index 0000000000..e62e8667a3 --- /dev/null +++ b/docs/latex/wx/wizevt.tex @@ -0,0 +1,66 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Name: wizevt.tex +%% Purpose: wxWizardEvent class documentation +%% Author: Vadim Zeitlin +%% Modified by: +%% Created: 02.04.00 +%% RCS-ID: $Id$ +%% Copyright: (c) Vadim Zeitlin +%% License: wxWindows license +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\class{wxWizardEvent}}\label{wxwizardevent} + +wxWizardEvent class represents an event generated by the +\helpref{wizard}{wxwizard}: this event is first sent to the page itself and, +if not processed there, goes up the window hierarchy as usual. + +\wxheading{Derived from} + +\helpref{wxNotifyEvent}{wxnotifyevent}\\ +\helpref{wxCommandEvent}{wxcommandevent}\\ +\helpref{wxEvent}{wxevent}\\ +\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 wxWizardEvent argument. + +\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{wxWizard}{wxwizard}, \helpref{wxWizard sample}{samplewizard} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxWizardEvent::wxWizardEvent}\label{wxwizardeventwxwizardevent} + +\func{}{wxWizardEvent}{\param{wxEventType }{type = wxEVT\_NULL}, \param{int }{id = -1}, \param{bool }{direction = TRUE}} + +Constructor. It is not normally used by the user code as the objects of this +type are constructed by wxWizard. + +\membersection{wxWizardEvent::GetDirection}\label{wxwizardeventgetdirection} + +\constfunc{bool}{GetDirection}{\void} + +Return the direction in which the page is changing: for {\tt +EVT\_WIZARD\_PAGE\_CHANGING}, return {\tt TRUE} if we're going forward or +FALSE otherwise and for {\tt EVT\_WIZARD\_PAGE\_CHANGED} return {\tt TRUE} if +we came from the previous page and {\tt FALSE} if we returned from the next +one. + diff --git a/docs/latex/wx/wizpage.tex b/docs/latex/wx/wizpage.tex new file mode 100644 index 0000000000..2418fe5dd5 --- /dev/null +++ b/docs/latex/wx/wizpage.tex @@ -0,0 +1,164 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Name: wizpage.tex +%% Purpose: wxWizardPage and wxWizardPageSimple classes documentation +%% Author: Vadim Zeitlin +%% Modified by: +%% Created: 02.04.00 +%% RCS-ID: $Id$ +%% Copyright: (c) Vadim Zeitlin +%% License: wxWindows license +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\class{wxWizardPage}}\label{wxwizardpage} + +wxWizardPage is one of the screens in \helpref{wxWizard}{wxwizard}: it must +know what are the following and preceding pages (which may be {\tt NULL} for the +first/last page). Except for this extra knowledge, wxWizardPage is just a +panel, so the controls may be placed directly on it in the usual way. + +This class allows to decide what is the orde fo pages in the wizard +dynamically (during run-time) and so providex maximal flexibility. Usually, +however, the order of pages is known in advance in which case +\helpref{wxWizardPageSimple}{wxwizardpagesimple} class is enough and it is simpler +to use. + +\wxheading{Virtual functions to override} + +To use this class, you must override \helpref{GetPrev}{wxwizardpagegetprev} +and \helpref{GetNext}{wxwizardpagegetnext} pure virtual functions (or you +may use \helpref{wxWizardPageSimple}{wxwizardpagesimple} instead). + +\helpref{GetBitmap}{wxwizardpagegetbitmap} can also be overridden, but this +should be very rarely needed. + +\wxheading{Derived from} + +\helpref{wxPanel}{wxpanel}\\ +\helpref{wxWindow}{wxwindow}\\ +\helpref{wxEvtHandler}{wxevthandler}\\ +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + +\wxheading{See also} + +\helpref{wxWizard}{wxwizard}, \helpref{wxWizard sample}{samplewizard} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxWizardPage::wxWizardPage}\label{wxwizardpagewxwizardpage} + +\func{}{wxWizardPage}{\param{wxWizard* }{parent}, \param{const wxBitmap\& }{bitmap = wxNullBitmap}} + +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 +be of the same size). Notice that no other parameters are needed because the +wizard will resize and reposition the page anyhow. + +\membersection{wxWizardPage::GetPrev}\label{wxwizardpagegetprev} + +\constfunc{wxWizardPage*}{GetPrev}{\void} + +Get the page which should be shown when the user chooses the {\tt "Back"} +button: if {\tt NULL} is returned, this button will be disabled. The first +page of the wizard will usually return {\tt NULL} from here, but the others +will not. + +\wxheading{See also} + +\helpref{GetNext}{wxwizardpagegetnext} + +\membersection{wxWizardPage::GetNext}\label{wxwizardpagegetnext} + +\constfunc{wxWizardPage*}{GetNext}{\void} + +Get the page which should be shown when the user chooses the {\tt "Next"} +button: if {\tt NULL} is returned, this button will be disabled. The last +page of the wizard will usually return {\tt NULL} from here, but the others +will not. + +\wxheading{See also} + +\helpref{GetPrev}{wxwizardpagegetprev} + +\membersection{wxWizardPage::GetBitmap}\label{wxwizardpagegetbitmap} + +\constfunc{wxBitmap}{GetBitmap}{\void} + +This method is called by wxWizard to get the bitmap to display alongside the +page. By default, {\tt m\_bitmap} member variable which was set in the +\helpref{constructor}{wxwizardpagewxwizardpage}. + +If the bitmap was not explicitly set (i.e. if {\tt wxNullBitmap} is returned), +the default bitmap for the wizard should be used. + +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. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxWizardPageSimple %%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\class{wxWizardPageSimple}}\label{wxwizardpagesimple} + +wxWizardPageSimple is the simplest possible +\helpref{wxWizardPage}{wxwizardpage} implementation: it just returns the +pointers given to its constructor from GetNext() and GetPrev() functions. + +This makes it very easy to use the obejcts of this class in the wizards where +the pages order is known statically - on the other hand, if this is not the +case you must derive your own class from \helpref{wxWizardPage}{wxwizardpage} +instead. + +\wxheading{Derived from} + +\helpref{wxWizardPage}{wxwizardpage}\\ +\helpref{wxPanel}{wxpanel}\\ +\helpref{wxWindow}{wxwindow}\\ +\helpref{wxEvtHandler}{wxevthandler}\\ +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + +\wxheading{See also} + +\helpref{wxWizard}{wxwizard}, \helpref{wxWizard sample}{samplewizard} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxWizardPageSimple::wxWizardPageSimple}\label{wxwizardpagesimplewxwizardpagesimple} + +\func{}{wxWizardPageSimple}{\param{wxWizard* }{parent = NULL}, \param{wxWizardPage* }{prev = NULL}, \param{wxWizardPage* }{next = NULL}} + +Constructor takes the previous and next pages. They may be modified later by +\helpref{SetPrev()}{wxwizardpagesimplesetprev} or +\helpref{SetNext()}{wxwizardpagesimplesetnext}. + +\membersection{wxWizardPageSimple::SetPrev}\label{wxwizardpagesimplesetprev} + +\func{void}{SetPrev}{\param{wxWizardPage* }{prev}} + +Sets the previous page. + +\membersection{wxWizardPageSimple::SetNext}\label{wxwizardpagesimplesetnext} + +\func{void}{SetNext}{\param{wxWizardPage* }{next}} + +Sets the next page. + +\membersection{wxWizardPageSimple::Chain}\label{wxwizardpagesimplechain} + +\func{static void}{Chain}{\param{wxWizardPageSimple* }{first}, \param{wxWizardPageSimple* }{second}} + +A convenience function to make the pages follow each other. + +Example: +\begin{verbatim} + wxRadioboxPage *page3 = new wxRadioboxPage(wizard); + wxValidationPage *page4 = new wxValidationPage(wizard); + + wxWizardPageSimple::Chain(page3, page4); +\end{verbatim} +