Applied patch [ 565012 ] Add wxTextValidator to wxTextEntryDialog

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2002-06-23 13:51:32 +00:00
parent 45d6fd80b3
commit fc0d5b6bd2
5 changed files with 49 additions and 5 deletions

View File

@@ -1,3 +1,5 @@
aaaaa ICON "cards.ico"
#include "wx/msw/wx.rc"
CardsIcon ICON "cards.ico"

View File

@@ -208,6 +208,9 @@ All (GUI):
- Added wxMouseCaptureChangedEvent
- Added custom character filtering to wxTextValidator
- wxTreeCtrl now supports incremental keyboard search
- wxHelpProvider::RemoveHelp added and called from ~wxWindowBase
so that erroneous help strings are no longer found as the hash
table fills up
wxMSW:

View File

@@ -184,14 +184,14 @@ Set the replacement string (used as initial value by the dialog).
\section{\class{wxFindReplaceDialog}}\label{wxfindreplacedialog}
wxFindReplaceDialog is a standard modeless dialog which is used to allow the
user to search for some text (and possible replace it with something else).
user to search for some text (and possibly replace it with something else).
The actual searching is supposed to be done in the owner window which is the
parent of this dialog. Note that it means that unlike for the other standard
dialogs this one {\bf must} have a parent window. Also note that there is no
way to use this dialog in a modal way, it is always, by design and
way to use this dialog in a modal way; it is always, by design and
implementation, modeless.
Please see the dialogs sample for example of using it.
Please see the dialogs sample for an example of using it.
\wxheading{Include files}
@@ -229,7 +229,6 @@ Destructor.
Creates the dialog and shows it on screen.
The {\it parent} and {\it data} parameters must be non-{\tt NULL}.
\membersection{wxFindReplaceDialog::GetData}\label{wxfindreplacedialoggetdata}
\constfunc{const wxFindReplaceData*}{GetData}{\void}

View File

@@ -20,12 +20,16 @@
#include "wx/dialog.h"
#if wxUSE_VALIDATORS
#include "wx/valtext.h"
#endif
class WXDLLEXPORT wxTextCtrl;
WXDLLEXPORT_DATA(extern const wxChar*) wxGetTextFromUserPromptStr;
WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE)
#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE | wxWS_EX_VALIDATE_RECURSIVELY)
// ----------------------------------------------------------------------------
// wxTextEntryDialog: a dialog with text control, [ok] and [cancel] buttons
@@ -44,6 +48,13 @@ public:
void SetValue(const wxString& val);
wxString GetValue() const { return m_value; }
#if wxUSE_VALIDATORS
void SetTextValidator( wxTextValidator& validator );
void SetTextValidator( long style = wxFILTER_NONE );
wxTextValidator* GetTextValidator() { return (wxTextValidator*)m_textctrl->GetValidator(); }
#endif
// wxUSE_VALIDATORS
// implementation only
void OnOK(wxCommandEvent& event);

View File

@@ -92,6 +92,12 @@ wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent,
style & ~wxTextEntryDialogStyle);
topsizer->Add( m_textctrl, 1, wxEXPAND | wxLEFT|wxRIGHT, 15 );
#if wxUSE_VALIDATORS
wxTextValidator validator( wxFILTER_NONE, &m_value );
m_textctrl->SetValidator( validator );
#endif
// wxUSE_VALIDATORS
#if wxUSE_STATLINE
// 3) static line
topsizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 );
@@ -115,9 +121,17 @@ wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent,
void wxTextEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event) )
{
#if wxUSE_VALIDATORS
if( Validate() && TransferDataFromWindow() )
{
EndModal( wxID_OK );
}
#else
m_value = m_textctrl->GetValue();
EndModal(wxID_OK);
#endif
// wxUSE_VALIDATORS
}
void wxTextEntryDialog::SetValue(const wxString& val)
@@ -127,4 +141,19 @@ void wxTextEntryDialog::SetValue(const wxString& val)
m_textctrl->SetValue(val);
}
#if wxUSE_VALIDATORS
void wxTextEntryDialog::SetTextValidator( long style )
{
wxTextValidator validator( style, &m_value );
m_textctrl->SetValidator( validator );
}
void wxTextEntryDialog::SetTextValidator( wxTextValidator& validator )
{
m_textctrl->SetValidator( validator );
}
#endif
// wxUSE_VALIDATORS
#endif // wxUSE_TEXTDLG