]> git.saurik.com Git - wxWidgets.git/commitdiff
added and documented SetEscapeId()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Sep 2005 20:17:01 +0000 (20:17 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Sep 2005 20:17:01 +0000 (20:17 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
docs/latex/wx/dialog.tex
include/wx/dialog.h
src/common/dlgcmn.cpp

index 97e038535fb20d8e941c67744fc36c294439fe0a..7d7d9f4c52ada0babe7d5792fea7d42f913826a3 100644 (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:
 
 - wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson)
 wxMSW:
 
 - wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson)
index 7d3b71676d0fbc0d7cc3a2d940c46b2711f477c0..4107a0136216ea0a05a0b3da5ea153f71f456411 100644 (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}
 
 \func{}{wxDialog}{\void}
 \membersection{wxDialog::wxDialog}\label{wxdialogctor}
 
 \func{}{wxDialog}{\void}
@@ -136,12 +137,14 @@ individual dialog boxes.}
 
 \helpref{wxDialog::Create}{wxdialogcreate}
 
 
 \helpref{wxDialog::Create}{wxdialogcreate}
 
+
 \membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor}
 
 \func{}{\destruct{wxDialog}}{\void}
 
 Destructor. Deletes any child windows before deleting the physical window.
 
 \membersection{wxDialog::\destruct{wxDialog}}\label{wxdialogdtor}
 
 \func{}{\destruct{wxDialog}}{\void}
 
 Destructor. Deletes any child windows before deleting the physical window.
 
+
 \membersection{wxDialog::Centre}\label{wxdialogcentre}
 
 \func{void}{Centre}{\param{int}{ direction = wxBOTH}}
 \membersection{wxDialog::Centre}\label{wxdialogcentre}
 
 \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}
 
 \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
 \membersection{wxDialog::Create}\label{wxdialogcreate}
 
 \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
 for details.
 
 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}}
 \membersection{wxDialog::CreateButtonSizer}\label{wxdialogcreatebuttonsizer}
 
 \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}
 
 \func{wxStdDialogButtonSizer*}{CreateStdDialogButtonSizer}{\param{long}{ flags}}
 \membersection{wxDialog::CreateStdDialogButtonSizer}\label{wxdialogcreatestddialogbuttonsizer}
 
 \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}
 
 \func{virtual bool}{DoOK}{\void}
 \membersection{wxDialog::DoOK}\label{wxdialogdook}
 
 \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
 will call Close() for the dialog.
 
 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}}
 \membersection{wxDialog::EndModal}\label{wxdialogendmodal}
 
 \func{void}{EndModal}{\param{int }{retCode}}
@@ -210,6 +218,7 @@ invocation.
 \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp
 \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
 
 \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp
 \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
 
+
 \membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid}
 
 \constfunc{int}{GetAffirmativeId}{\void}
 \membersection{wxDialog::GetAffirmativeId}\label{wxdialoggetaffirmativeid}
 
 \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}
 
 \func{int}{GetReturnCode}{\void}
 \membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode}
 
 \func{int}{GetReturnCode}{\void}
@@ -236,12 +258,14 @@ a code to the application.
 \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
 \helpref{wxDialog::EndModal}{wxdialogendmodal}
 
 \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
 \helpref{wxDialog::EndModal}{wxdialogendmodal}
 
+
 \membersection{wxDialog::GetTitle}\label{wxdialoggettitle}
 
 \constfunc{wxString}{GetTitle}{\void}
 
 Returns the title of the dialog box.
 
 \membersection{wxDialog::GetTitle}\label{wxdialoggettitle}
 
 \constfunc{wxString}{GetTitle}{\void}
 
 Returns the title of the dialog box.
 
+
 \membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar}
 
 \constfunc{wxToolBar*}{GetToolBar}{\void}
 \membersection{wxDialog::GetToolBar}\label{wxdialoggettoolbar}
 
 \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}
 
 \func{void}{Iconize}{\param{const bool}{ iconize}}
 \membersection{wxDialog::Iconize}\label{wxdialogiconized}
 
 \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
 \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}
 \membersection{wxDialog::IsIconized}\label{wxdialogisiconized}
 
 \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}
 
 \constfunc{bool}{IsModal}{\void}
 
 Returns true if the dialog box is modal, false otherwise.
 
 \membersection{wxDialog::IsModal}\label{wxdialogismodal}
 
 \constfunc{bool}{IsModal}{\void}
 
 Returns true if the dialog box is modal, false otherwise.
 
+
 \membersection{wxDialog::OnApply}\label{wxdialogonapply}
 
 \func{void}{OnApply}{\param{wxCommandEvent\& }{event}}
 \membersection{wxDialog::OnApply}\label{wxdialogonapply}
 
 \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}
 
 \func{void}{OnCancel}{\param{wxCommandEvent\& }{event}}
 \membersection{wxDialog::OnCancel}\label{wxdialogoncancel}
 
 \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}
 
 \func{void}{OnOK}{\param{wxCommandEvent\& }{event}}
 \membersection{wxDialog::OnOK}\label{wxdialogonok}
 
 \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}
 
 \func{void}{OnSysColourChanged}{\param{wxSysColourChangedEvent\& }{event}}
 \membersection{wxDialog::OnSysColourChanged}\label{wxdialogonsyscolourchanged}
 
 \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}
 
 \func{void}{SetAffirmativeId}{\param{int }{id}}
 \membersection{wxDialog::SetAffirmativeId}\label{wxdialogsetaffirmativeid}
 
 \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}
 
 \func{void}{SetIcon}{\param{const wxIcon\& }{icon}}
 \membersection{wxDialog::SetIcon}\label{wxdialogseticon}
 
 \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}
 
 \func{void}{SetIcons}{\param{const wxIconBundle\& }{icons}}
 \membersection{wxDialog::SetIcons}\label{wxdialogseticons}
 
 \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}
 
 \func{void}{SetModal}{\param{const bool}{ flag}}
 \membersection{wxDialog::SetModal}\label{wxdialogsetmodal}
 
 \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}
 
 \func{void}{SetReturnCode}{\param{int }{retCode}}
 \membersection{wxDialog::SetReturnCode}\label{wxdialogsetreturncode}
 
 \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::EndModal}{wxdialogendmodal}
 
 \helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
 \helpref{wxDialog::EndModal}{wxdialogendmodal}
 
+
 \membersection{wxDialog::SetTitle}\label{wxdialogsettitle}
 
 \func{void}{SetTitle}{\param{const wxString\& }{ title}}
 \membersection{wxDialog::SetTitle}\label{wxdialogsettitle}
 
 \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}
 
 \func{bool}{Show}{\param{const bool}{ show}}
 \membersection{wxDialog::Show}\label{wxdialogshow}
 
 \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}
 
 \func{int}{ShowModal}{\void}
 \membersection{wxDialog::ShowModal}\label{wxdialogshowmodal}
 
 \func{int}{ShowModal}{\void}
index ac1e23f9ccd8147d414637010a65a650b3f12d9a..7df4f1f9a1dc5ed246b28910b93bc86578449adc 100644 (file)
@@ -47,17 +47,8 @@ public:
     int GetAffirmativeId() const { return m_affirmativeId; }
 
     // Identifier for Esc key translation
     int GetAffirmativeId() const { return m_affirmativeId; }
 
     // 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; }
     int GetEscapeId() const { return m_escapeId; }
     void SetEscapeId(int escapeId) { m_escapeId = 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
     // splits text up at newlines and places the
 
 #if wxUSE_STATTEXT // && wxUSE_TEXTCTRL
     // splits text up at newlines and places the
@@ -78,6 +69,9 @@ protected:
     // The identifier for the affirmative button (usually wxID_OK)
     int m_affirmativeId;
 
     // The identifier for the affirmative button (usually wxID_OK)
     int m_affirmativeId;
 
+    // The identifier for cancel button (usually wxID_CANCEL)
+    int m_escapeId;
+
     DECLARE_NO_COPY_CLASS(wxDialogBase)
     DECLARE_EVENT_TABLE()
     WX_DECLARE_CONTROL_CONTAINER();
     DECLARE_NO_COPY_CLASS(wxDialogBase)
     DECLARE_EVENT_TABLE()
     WX_DECLARE_CONTROL_CONTAINER();
index f03af0e60134e57be6e51787cbceffe1a19ba72f..ba4e88cbbe8dc8f2abc623d1a87b4bdce9b4ca56 100644 (file)
@@ -108,7 +108,8 @@ void wxDialogBase::Init()
 {
     m_returnCode = 0;
     m_affirmativeId = wxID_OK;
 {
     m_returnCode = 0;
     m_affirmativeId = wxID_OK;
-    
+    m_escapeId = wxID_ANY;
+
     // the dialogs have this flag on by default to prevent the events from the
     // dialog controls from reaching the parent frame which is usually
     // undesirable and can lead to unexpected and hard to find bugs
     // the dialogs have this flag on by default to prevent the events from the
     // dialog controls from reaching the parent frame which is usually
     // undesirable and can lead to unexpected and hard to find bugs