added and documented SetEscapeId()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-09-25 20:17:01 +00:00
parent 17a1ebd101
commit c6ece59558
4 changed files with 61 additions and 10 deletions

View File

@@ -9,6 +9,10 @@ All:
- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag
All (GUI):
- added wxDialog::SetEscapeId()
wxMSW: wxMSW:
- wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson) - wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson)

View File

@@ -97,6 +97,7 @@ See also \helpref{Generic window styles}{windowstyles}.
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDialog::wxDialog}\label{wxdialogctor} \membersection{wxDialog::wxDialog}\label{wxdialogctor}
\func{}{wxDialog}{\void} \func{}{wxDialog}{\void}
@@ -136,12 +137,14 @@ individual dialog boxes.}
\helpref{wxDialog::Create}{wxdialogcreate} \helpref{wxDialog::Create}{wxdialogcreate}
\membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor} \membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor}
\func{}{\destruct{wxDialog}}{\void} \func{}{\destruct{wxDialog}}{\void}
Destructor. Deletes any child windows before deleting the physical window. Destructor. Deletes any child windows before deleting the physical window.
\membersection{wxDialog::Centre}\label{wxdialogcentre} \membersection{wxDialog::Centre}\label{wxdialogcentre}
\func{void}{Centre}{\param{int}{ direction = wxBOTH}} \func{void}{Centre}{\param{int}{ direction = wxBOTH}}
@@ -152,6 +155,7 @@ Centres the dialog box on the display.
\docparam{direction}{May be {\tt wxHORIZONTAL}, {\tt wxVERTICAL} or {\tt wxBOTH}.} \docparam{direction}{May be {\tt wxHORIZONTAL}, {\tt wxVERTICAL} or {\tt wxBOTH}.}
\membersection{wxDialog::Create}\label{wxdialogcreate} \membersection{wxDialog::Create}\label{wxdialogcreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
@@ -164,6 +168,7 @@ Centres the dialog box on the display.
Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogctor}\rtfsp Used for two-step dialog box construction. See \helpref{wxDialog::wxDialog}{wxdialogctor}\rtfsp
for details. for details.
\membersection{wxDialog::CreateButtonSizer}\label{wxdialogcreatebuttonsizer} \membersection{wxDialog::CreateButtonSizer}\label{wxdialogcreatebuttonsizer}
\func{wxSizer*}{CreateButtonSizer}{\param{long}{ flags}} \func{wxSizer*}{CreateButtonSizer}{\param{long}{ flags}}
@@ -175,6 +180,7 @@ The sizer lays out the buttons in a manner appropriate to the platform.
This function simply calls \helpref{CreateStdDialogButtonSizer}{wxdialogcreatestddialogbuttonsizer}. This function simply calls \helpref{CreateStdDialogButtonSizer}{wxdialogcreatestddialogbuttonsizer}.
\membersection{wxDialog::CreateStdDialogButtonSizer}\label{wxdialogcreatestddialogbuttonsizer} \membersection{wxDialog::CreateStdDialogButtonSizer}\label{wxdialogcreatestddialogbuttonsizer}
\func{wxStdDialogButtonSizer*}{CreateStdDialogButtonSizer}{\param{long}{ flags}} \func{wxStdDialogButtonSizer*}{CreateStdDialogButtonSizer}{\param{long}{ flags}}
@@ -184,6 +190,7 @@ of the following flags: wxOK, wxCANCEL, wxYES, wxNO, wxHELP, wxNO\_DEFAULT.
The sizer lays out the buttons in a manner appropriate to the platform. The sizer lays out the buttons in a manner appropriate to the platform.
\membersection{wxDialog::DoOK}\label{wxdialogdook} \membersection{wxDialog::DoOK}\label{wxdialogdook}
\func{virtual bool}{DoOK}{\void} \func{virtual bool}{DoOK}{\void}
@@ -193,6 +200,7 @@ A command event for the identifier returned by GetAffirmativeId is sent by
default. You can override this function. If the function returns false, wxWidgets default. You can override this function. If the function returns false, wxWidgets
will call Close() for the dialog. will call Close() for the dialog.
\membersection{wxDialog::EndModal}\label{wxdialogendmodal} \membersection{wxDialog::EndModal}\label{wxdialogendmodal}
\func{void}{EndModal}{\param{int }{retCode}} \func{void}{EndModal}{\param{int }{retCode}}
@@ -210,6 +218,7 @@ invocation.
\helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp
\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode} \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
\membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid} \membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid}
\constfunc{int}{GetAffirmativeId}{\void} \constfunc{int}{GetAffirmativeId}{\void}
@@ -220,6 +229,19 @@ Gets the identifier to be used when the user presses an OK button in a PocketPC
\helpref{wxDialog::SetAffirmativeId}{wxdialogsetaffirmativeid} \helpref{wxDialog::SetAffirmativeId}{wxdialogsetaffirmativeid}
\membersection{wxDialog::GetEscapeId}\label{wxdialoggetescapeid}
\constfunc{int}{GetEscapeId}{\void}
Gets the identifier of the button to map presses of \texttt{\textsc{ESC}}
button to.
\wxheading{See also}
\helpref{wxDialog::SetEscapeId}{wxdialogsetescapeid}
\membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode} \membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode}
\func{int}{GetReturnCode}{\void} \func{int}{GetReturnCode}{\void}
@@ -236,12 +258,14 @@ a code to the application.
\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
\helpref{wxDialog::EndModal}{wxdialogendmodal} \helpref{wxDialog::EndModal}{wxdialogendmodal}
\membersection{wxDialog::GetTitle}\label{wxdialoggettitle} \membersection{wxDialog::GetTitle}\label{wxdialoggettitle}
\constfunc{wxString}{GetTitle}{\void} \constfunc{wxString}{GetTitle}{\void}
Returns the title of the dialog box. Returns the title of the dialog box.
\membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar} \membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar}
\constfunc{wxToolBar*}{GetToolBar}{\void} \constfunc{wxToolBar*}{GetToolBar}{\void}
@@ -252,6 +276,7 @@ arbitrary controls are not currently supported.
This function is not available on any other platform. This function is not available on any other platform.
\membersection{wxDialog::Iconize}\label{wxdialogiconized} \membersection{wxDialog::Iconize}\label{wxdialogiconized}
\func{void}{Iconize}{\param{const bool}{ iconize}} \func{void}{Iconize}{\param{const bool}{ iconize}}
@@ -270,6 +295,7 @@ boxes under Motif which have user-iconizable frames, and under Windows
calling {\tt Iconize(false)} will bring the window to the front, as does calling {\tt Iconize(false)} will bring the window to the front, as does
\rtfsp{\tt Show(true)}. \rtfsp{\tt Show(true)}.
\membersection{wxDialog::IsIconized}\label{wxdialogisiconized} \membersection{wxDialog::IsIconized}\label{wxdialogisiconized}
\constfunc{bool}{IsIconized}{\void} \constfunc{bool}{IsIconized}{\void}
@@ -280,12 +306,14 @@ Returns true if the dialog box is iconized. Windows only.
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} \membersection{wxDialog::IsModal}\label{wxdialogismodal}
\constfunc{bool}{IsModal}{\void} \constfunc{bool}{IsModal}{\void}
Returns true if the dialog box is modal, false otherwise. Returns true if the dialog box is modal, false otherwise.
\membersection{wxDialog::OnApply}\label{wxdialogonapply} \membersection{wxDialog::OnApply}\label{wxdialogonapply}
\func{void}{OnApply}{\param{wxCommandEvent\& }{event}} \func{void}{OnApply}{\param{wxCommandEvent\& }{event}}
@@ -300,6 +328,7 @@ This function calls \helpref{wxWindow::Validate}{wxwindowvalidate} and \helpref{
\helpref{wxDialog::OnOK}{wxdialogonok}, \helpref{wxDialog::OnCancel}{wxdialogoncancel} \helpref{wxDialog::OnOK}{wxdialogonok}, \helpref{wxDialog::OnCancel}{wxdialogoncancel}
\membersection{wxDialog::OnCancel}\label{wxdialogoncancel} \membersection{wxDialog::OnCancel}\label{wxdialogoncancel}
\func{void}{OnCancel}{\param{wxCommandEvent\& }{event}} \func{void}{OnCancel}{\param{wxCommandEvent\& }{event}}
@@ -315,6 +344,7 @@ sets the return value to wxID\_CANCEL and calls {\bf Show(false)} if the dialog
\helpref{wxDialog::OnOK}{wxdialogonok}, \helpref{wxDialog::OnApply}{wxdialogonapply} \helpref{wxDialog::OnOK}{wxdialogonok}, \helpref{wxDialog::OnApply}{wxdialogonapply}
\membersection{wxDialog::OnOK}\label{wxdialogonok} \membersection{wxDialog::OnOK}\label{wxdialogonok}
\func{void}{OnOK}{\param{wxCommandEvent\& }{event}} \func{void}{OnOK}{\param{wxCommandEvent\& }{event}}
@@ -332,6 +362,7 @@ sets the return value to wxID\_OK and calls {\bf Show(false)} if the dialog is m
\helpref{wxDialog::OnCancel}{wxdialogoncancel}, \helpref{wxDialog::OnApply}{wxdialogonapply} \helpref{wxDialog::OnCancel}{wxdialogoncancel}, \helpref{wxDialog::OnApply}{wxdialogonapply}
\membersection{wxDialog::OnSysColourChanged}\label{wxdialogonsyscolourchanged} \membersection{wxDialog::OnSysColourChanged}\label{wxdialogonsyscolourchanged}
\func{void}{OnSysColourChanged}{\param{wxSysColourChangedEvent\& }{event}} \func{void}{OnSysColourChanged}{\param{wxSysColourChangedEvent\& }{event}}
@@ -354,6 +385,7 @@ propagate the notification to child windows and controls.
\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent} \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}
\membersection{wxDialog::SetAffirmativeId}\label{wxdialogsetaffirmativeid} \membersection{wxDialog::SetAffirmativeId}\label{wxdialogsetaffirmativeid}
\func{void}{SetAffirmativeId}{\param{int }{id}} \func{void}{SetAffirmativeId}{\param{int }{id}}
@@ -365,6 +397,20 @@ By default, this is wxID\_OK.
\helpref{wxDialog::GetAffirmativeId}{wxdialoggetaffirmativeid} \helpref{wxDialog::GetAffirmativeId}{wxdialoggetaffirmativeid}
\membersection{wxDialog::SetEscapeId}\label{wxdialogsetescapeid}
\func{void}{SetEscapeId}{\param{int }{id}}
Sets the identifier to be used when the user presses \texttt{\textsc{ESC}}
button in the dialog. By default, this is \texttt{wxID\_ANY} meaning that
the first suitable button is used: if there a \texttt{wxID\_CANCEL} button, it
is activated, otherwise \texttt{wxID\_OK} button is activated if present.
Another possible special value for \arg{id} is \texttt{wxID\_NONE} meaning that
\texttt{\textsc{ESC}} presses should be ignored. If another value is given, it
is interpreted as the id of the button to map the escape key to.
\membersection{wxDialog::SetIcon}\label{wxdialogseticon} \membersection{wxDialog::SetIcon}\label{wxdialogseticon}
\func{void}{SetIcon}{\param{const wxIcon\& }{icon}} \func{void}{SetIcon}{\param{const wxIcon\& }{icon}}
@@ -377,6 +423,7 @@ Sets the icon for this dialog.
See also \helpref{wxIcon}{wxicon}. See also \helpref{wxIcon}{wxicon}.
\membersection{wxDialog::SetIcons}\label{wxdialogseticons} \membersection{wxDialog::SetIcons}\label{wxdialogseticons}
\func{void}{SetIcons}{\param{const wxIconBundle\& }{icons}} \func{void}{SetIcons}{\param{const wxIconBundle\& }{icons}}
@@ -389,6 +436,7 @@ Sets the icons for this dialog.
See also \helpref{wxIconBundle}{wxiconbundle}. See also \helpref{wxIconBundle}{wxiconbundle}.
\membersection{wxDialog::SetModal}\label{wxdialogsetmodal} \membersection{wxDialog::SetModal}\label{wxdialogsetmodal}
\func{void}{SetModal}{\param{const bool}{ flag}} \func{void}{SetModal}{\param{const bool}{ flag}}
@@ -403,6 +451,7 @@ until the dialog is hidden) or modeless (control returns immediately).
\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} \membersection{wxDialog::SetReturnCode}\label{wxdialogsetreturncode}
\func{void}{SetReturnCode}{\param{int }{retCode}} \func{void}{SetReturnCode}{\param{int }{retCode}}
@@ -423,6 +472,7 @@ a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogend
\helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
\helpref{wxDialog::EndModal}{wxdialogendmodal} \helpref{wxDialog::EndModal}{wxdialogendmodal}
\membersection{wxDialog::SetTitle}\label{wxdialogsettitle} \membersection{wxDialog::SetTitle}\label{wxdialogsettitle}
\func{void}{SetTitle}{\param{const wxString\& }{ title}} \func{void}{SetTitle}{\param{const wxString\& }{ title}}
@@ -433,6 +483,7 @@ Sets the title of the dialog box.
\docparam{title}{The dialog box title.} \docparam{title}{The dialog box title.}
\membersection{wxDialog::Show}\label{wxdialogshow} \membersection{wxDialog::Show}\label{wxdialogshow}
\func{bool}{Show}{\param{const bool}{ show}} \func{bool}{Show}{\param{const bool}{ show}}
@@ -449,6 +500,7 @@ modal, control is returned to the calling program.}
The preferred way of dismissing a modal dialog is to use \helpref{wxDialog::EndModal}{wxdialogendmodal}. The preferred way of dismissing a modal dialog is to use \helpref{wxDialog::EndModal}{wxdialogendmodal}.
\membersection{wxDialog::ShowModal}\label{wxdialogshowmodal} \membersection{wxDialog::ShowModal}\label{wxdialogshowmodal}
\func{int}{ShowModal}{\void} \func{int}{ShowModal}{\void}

View File

@@ -47,17 +47,8 @@ public:
int GetAffirmativeId() const { return m_affirmativeId; } int GetAffirmativeId() const { return m_affirmativeId; }
// Identifier for Esc key translation // Identifier for Esc key translation
#if wxCHECK_VERSION(2, 7, 0)
#error "Uncomment SetEscapeId() implementation"
// this is what we should do in 2.7: remove the "#else" part and add
// m_escapeId declaration and the docs for Set/GetEscapeId()
void SetEscapeId(int escapeId) { m_escapeId = escapeId; } void SetEscapeId(int escapeId) { m_escapeId = escapeId; }
int GetEscapeId() const { return m_escapeId; } int GetEscapeId() const { return m_escapeId; }
#elif wxABI_VERSION > 20601
// just a stub for 2.6
int GetEscapeId() const { return wxID_ANY; }
#endif
#if wxUSE_STATTEXT // && wxUSE_TEXTCTRL #if wxUSE_STATTEXT // && wxUSE_TEXTCTRL
// splits text up at newlines and places the // splits text up at newlines and places the
@@ -78,6 +69,9 @@ protected:
// The identifier for the affirmative button (usually wxID_OK) // The identifier for the affirmative button (usually wxID_OK)
int m_affirmativeId; int m_affirmativeId;
// The identifier for cancel button (usually wxID_CANCEL)
int m_escapeId;
DECLARE_NO_COPY_CLASS(wxDialogBase) DECLARE_NO_COPY_CLASS(wxDialogBase)
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
WX_DECLARE_CONTROL_CONTAINER(); WX_DECLARE_CONTROL_CONTAINER();

View File

@@ -108,6 +108,7 @@ void wxDialogBase::Init()
{ {
m_returnCode = 0; m_returnCode = 0;
m_affirmativeId = wxID_OK; m_affirmativeId = wxID_OK;
m_escapeId = wxID_ANY;
// the dialogs have this flag on by default to prevent the events from the // the dialogs have this flag on by default to prevent the events from the
// dialog controls from reaching the parent frame which is usually // dialog controls from reaching the parent frame which is usually