X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4709b3305ca02671c86932b2bcf74afb33b54d..cd900c5961be75896c28199361c713cfcdac0568:/docs/latex/wx/dialog.tex diff --git a/docs/latex/wx/dialog.tex b/docs/latex/wx/dialog.tex index d598319fa4..7d3b71676d 100644 --- a/docs/latex/wx/dialog.tex +++ b/docs/latex/wx/dialog.tex @@ -6,6 +6,7 @@ is usually used to allow the user to make some choice or to answer a question. \wxheading{Derived from} +\helpref{wxTopLevelWindow}{wxtoplevelwindow}\\ \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} @@ -19,14 +20,15 @@ is usually used to allow the user to make some choice or to answer a question. There are two kinds of dialog -- {\it modal}\ and {\it modeless}. A modal dialog blocks program flow and user input on other windows until it is dismissed, whereas a modeless dialog behaves more like a frame in that program flow -continues, and input on other windows is still possible. To show a modal dialog -you should use \helpref{ShowModal}{wxdialogshowmodal} method while to show -dialog modelessly you simply use \helpref{Show}{wxdialogshow}, just as with the +continues, and input in other windows is still possible. To show a modal dialog +you should use the \helpref{ShowModal}{wxdialogshowmodal} method while to show +a dialog modelessly you simply use \helpref{Show}{wxdialogshow}, just as with frames. -Note that the modal dialogs are one of the very few examples of +Note that the modal dialog is one of the very few examples of wxWindow-derived objects which may be created on the stack and not on the heap. -In other words, although this code snippet +In other words, although this code snippet: + \begin{verbatim} void AskUser() { @@ -38,8 +40,10 @@ In other words, although this code snippet dlg->Destroy(); } \end{verbatim} + works, you can also achieve the same result by using a simpler code fragment below: + \begin{verbatim} void AskUser() { @@ -51,13 +55,7 @@ below: } \end{verbatim} -A dialog may be loaded from a wxWindows resource file (extension {\tt wxr}), -which may itself be created by Dialog Editor. For details, see -\helpref{The wxWindows resource system}{resourceformats}, -\helpref{wxWindows resource functions}{resourcefuncs} -and the resource sample. - -An application can define an \helpref{wxCloseEvent}{wxcloseevent} handler for +An application can define a \helpref{wxCloseEvent}{wxcloseevent} handler for the dialog to respond to system close events. \wxheading{Window styles} @@ -65,22 +63,25 @@ the dialog to respond to system close events. \twocolwidtha{5cm} \begin{twocollist}\itemsep=0pt \twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box.} -\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME} +\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxCLOSE\_BOX and wxSYSTEM\_MENU (the last one is not used under Unix)} \twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window.} \twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.} +\twocolitem{\windowstyle{wxCLOSE\_BOX}}{Displays a close box on the frame.} +\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the dialog.} +\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the dialog.} \twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.} -\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).} +\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows.} \twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls should not have 3D borders unless specified in the control.} -\twocolitem{\windowstyle{wxDIALOG\_NO\_PARENT}}{By default, the dialogs created -with {\tt NULL} parent window will be given the -\helpref{applications top level window}{wxappgettopwindow} as parent. Use this -style to prevent this from happening and create a really orphan dialog (note -that this is not recommended for modal dialogs).} +\twocolitem{\windowstyle{wxDIALOG\_NO\_PARENT}}{By default, a dialog created +with a {\tt NULL} parent window will be given the +\helpref{application's top level window}{wxappgettopwindow} as parent. Use this +style to prevent this from happening and create an orphan dialog. This is not recommended for modal dialogs.} \twocolitem{\windowstyle{wxDIALOG\_EX\_CONTEXTHELP}}{Under Windows, puts a query button on the -caption. When pressed, Windows will go into a context-sensitive help mode and wxWindows will send +caption. When pressed, Windows will go into a context-sensitive help mode and wxWidgets will send a wxEVT\_HELP event if the user clicked on an application window. {\it Note}\ that this is an extended style and must be set by calling \helpref{SetExtraStyle}{wxwindowsetextrastyle} before Create is called (two-step construction).} +\twocolitem{\windowstyle{wxDIALOG\_EX\_METAL}}{On Mac OS X, frames with this style will be shown with a metallic look. This is an {\it extra} style.} \end{twocollist} Under Unix or Linux, MWM (the Motif Window Manager) or other window managers @@ -91,12 +92,12 @@ See also \helpref{Generic window styles}{windowstyles}. \wxheading{See also} -\helpref{wxDialog overview}{wxdialogoverview}, \helpref{wxFrame}{wxframe}, \helpref{Resources}{resources},\rtfsp +\helpref{wxDialog overview}{wxdialogoverview}, \helpref{wxFrame}{wxframe},\rtfsp \helpref{Validator overview}{validatoroverview} \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxDialog::wxDialog}\label{wxdialogconstr} +\membersection{wxDialog::wxDialog}\label{wxdialogctor} \func{}{wxDialog}{\void} @@ -120,10 +121,10 @@ Constructor. \docparam{title}{The title of the dialog.} \docparam{pos}{The dialog position. A value of (-1, -1) indicates a default position, chosen by -either the windowing system or wxWindows, depending on platform.} +either the windowing system or wxWidgets, depending on platform.} \docparam{size}{The dialog size. A value of (-1, -1) indicates a default size, chosen by -either the windowing system or wxWindows, depending on platform.} +either the windowing system or wxWidgets, depending on platform.} \docparam{style}{The window style. See \helpref{wxDialog}{wxdialog}.} @@ -135,7 +136,7 @@ individual dialog boxes.} \helpref{wxDialog::Create}{wxdialogcreate} -\membersection{wxDialog::\destruct{wxDialog}} +\membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor} \func{}{\destruct{wxDialog}}{\void} @@ -160,9 +161,38 @@ Centres the dialog box on the display. \param{long}{ style = wxDEFAULT\_DIALOG\_STYLE},\rtfsp \param{const wxString\& }{name = ``dialogBox"}} -Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogconstr}\rtfsp +Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogctor}\rtfsp for details. +\membersection{wxDialog::CreateButtonSizer}\label{wxdialogcreatebuttonsizer} + +\func{wxSizer*}{CreateButtonSizer}{\param{long}{ flags}} + +Creates a sizer with standard buttons. {\it flags} is a bit list +of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxHELP, wxNO\_DEFAULT. + +The sizer lays out the buttons in a manner appropriate to the platform. + +This function simply calls \helpref{CreateStdDialogButtonSizer}{wxdialogcreatestddialogbuttonsizer}. + +\membersection{wxDialog::CreateStdDialogButtonSizer}\label{wxdialogcreatestddialogbuttonsizer} + +\func{wxStdDialogButtonSizer*}{CreateStdDialogButtonSizer}{\param{long}{ flags}} + +Creates a \helpref{wxStdDialogButtonSizer}{wxstddialogbuttonsizer} with standard buttons. {\it flags} is a bit list +of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxHELP, wxNO\_DEFAULT. + +The sizer lays out the buttons in a manner appropriate to the platform. + +\membersection{wxDialog::DoOK}\label{wxdialogdook} + +\func{virtual bool}{DoOK}{\void} + +This function is called when the titlebar OK button is pressed (PocketPC only). +A command event for the identifier returned by GetAffirmativeId is sent by +default. You can override this function. If the function returns false, wxWidgets +will call Close() for the dialog. + \membersection{wxDialog::EndModal}\label{wxdialogendmodal} \func{void}{EndModal}{\param{int }{retCode}} @@ -180,6 +210,16 @@ invocation. \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode} +\membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid} + +\constfunc{int}{GetAffirmativeId}{\void} + +Gets the identifier to be used when the user presses an OK button in a PocketPC titlebar. + +\wxheading{See also} + +\helpref{wxDialog::SetAffirmativeId}{wxdialogsetaffirmativeid} + \membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode} \func{int}{GetReturnCode}{\void} @@ -202,6 +242,16 @@ a code to the application. Returns the title of the dialog box. +\membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar} + +\constfunc{wxToolBar*}{GetToolBar}{\void} + +On PocketPC, a dialog is automatically provided with an empty toolbar. GetToolBar +allows you to access the toolbar and add tools to it. Removing tools and adding +arbitrary controls are not currently supported. + +This function is not available on any other platform. + \membersection{wxDialog::Iconize}\label{wxdialogiconized} \func{void}{Iconize}{\param{const bool}{ iconize}} @@ -210,45 +260,31 @@ Iconizes or restores the dialog. Windows only. \wxheading{Parameters} -\docparam{iconize}{If TRUE, iconizes the dialog box; if FALSE, shows and restores it.} +\docparam{iconize}{If true, iconizes the dialog box; if false, shows and restores it.} \wxheading{Remarks} Note that in Windows, iconization has no effect since dialog boxes cannot be iconized. However, applications may need to explicitly restore dialog boxes under Motif which have user-iconizable frames, and under Windows -calling {\tt Iconize(FALSE)} will bring the window to the front, as does -\rtfsp{\tt Show(TRUE)}. +calling {\tt Iconize(false)} will bring the window to the front, as does +\rtfsp{\tt Show(true)}. \membersection{wxDialog::IsIconized}\label{wxdialogisiconized} \constfunc{bool}{IsIconized}{\void} -Returns TRUE if the dialog box is iconized. Windows only. +Returns true if the dialog box is iconized. Windows only. \wxheading{Remarks} -Always returns FALSE under Windows since dialogs cannot be iconized. +Always returns false under Windows since dialogs cannot be iconized. \membersection{wxDialog::IsModal}\label{wxdialogismodal} \constfunc{bool}{IsModal}{\void} -Returns TRUE if the dialog box is modal, FALSE otherwise. - -\membersection{wxDialog::OnCharHook}\label{wxdialogoncharhook} - -\func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}} - -This member is called to allow the window to intercept keyboard events -before they are processed by child windows. - -%For more information, see \helpref{wxWindow::OnCharHook}{wxwindowoncharhook} - -\wxheading{Remarks} - -wxDialog implements this handler to fake a cancel command if the escape key has been -pressed. This will dismiss the dialog. +Returns true if the dialog box is modal, false otherwise. \membersection{wxDialog::OnApply}\label{wxdialogonapply} @@ -273,7 +309,7 @@ The default handler for the wxID\_CANCEL identifier. \wxheading{Remarks} The function either calls {\bf EndModal(wxID\_CANCEL)} if the dialog is modal, or -sets the return value to wxID\_CANCEL and calls {\bf Show(FALSE)} if the dialog is modeless. +sets the return value to wxID\_CANCEL and calls {\bf Show(false)} if the dialog is modeless. \wxheading{See also} @@ -289,8 +325,8 @@ The default handler for the wxID\_OK identifier. The function calls \rtfsp\helpref{wxWindow::Validate}{wxwindowvalidate}, then \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow}. -If this returns TRUE, the function either calls {\bf EndModal(wxID\_OK)} if the dialog is modal, or -sets the return value to wxID\_OK and calls {\bf Show(FALSE)} if the dialog is modeless. +If this returns true, the function either calls {\bf EndModal(wxID\_OK)} if the dialog is modal, or +sets the return value to wxID\_OK and calls {\bf Show(false)} if the dialog is modeless. \wxheading{See also} @@ -318,6 +354,17 @@ propagate the notification to child windows and controls. \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent} +\membersection{wxDialog::SetAffirmativeId}\label{wxdialogsetaffirmativeid} + +\func{void}{SetAffirmativeId}{\param{int }{id}} + +Sets the identifier to be used when the user presses an OK button in a PocketPC titlebar. +By default, this is wxID\_OK. + +\wxheading{See also} + +\helpref{wxDialog::GetAffirmativeId}{wxdialoggetaffirmativeid} + \membersection{wxDialog::SetIcon}\label{wxdialogseticon} \func{void}{SetIcon}{\param{const wxIcon\& }{icon}} @@ -354,7 +401,7 @@ until the dialog is hidden) or modeless (control returns immediately). \wxheading{Parameters} -\docparam{flag}{If TRUE, the dialog will be modal, otherwise it will be modeless.} +\docparam{flag}{If true, the dialog will be modal, otherwise it will be modeless.} \membersection{wxDialog::SetReturnCode}\label{wxdialogsetreturncode} @@ -394,8 +441,8 @@ Hides or shows the dialog. \wxheading{Parameters} -\docparam{show}{If TRUE, the dialog box is shown and brought to the front; -otherwise the box is hidden. If FALSE and the dialog is +\docparam{show}{If true, the dialog box is shown and brought to the front; +otherwise the box is hidden. If false and the dialog is modal, control is returned to the calling program.} \wxheading{Remarks}