X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c67daf87774c71ae9f73af9969008af220e52a11..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/generic/textdlgg.h diff --git a/include/wx/generic/textdlgg.h b/include/wx/generic/textdlgg.h index 5b5eccb267..bbd7c70de5 100644 --- a/include/wx/generic/textdlgg.h +++ b/include/wx/generic/textdlgg.h @@ -1,51 +1,135 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: textdlgg.h -// Purpose: wxStatusBar class +// Name: wx/generic/textdlgg.h +// Purpose: wxTextEntryDialog class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __TEXTDLGH_G__ -#define __TEXTDLGH_G__ +#ifndef _WX_TEXTDLGG_H_ +#define _WX_TEXTDLGG_H_ -#ifdef __GNUG__ -#pragma interface "textdlgg.h" -#endif +#include "wx/defs.h" + +#if wxUSE_TEXTDLG -#include "wx/setup.h" #include "wx/dialog.h" -// Handy dialog functions (will be converted into classes at some point) -WXDLLEXPORT_DATA(extern const char*) wxGetTextFromUserPromptStr; -WXDLLEXPORT_DATA(extern const char*) wxEmptyString; +#if wxUSE_VALIDATORS +#include "wx/valtext.h" +#include "wx/textctrl.h" +#endif + +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; + +extern WXDLLIMPEXP_DATA_CORE(const char) wxGetTextFromUserPromptStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxGetPasswordFromUserPromptStr[]; + +#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE | wxWS_EX_VALIDATE_RECURSIVELY) -#define wxID_TEXT 3000 +// ---------------------------------------------------------------------------- +// wxTextEntryDialog: a dialog with text control, [ok] and [cancel] buttons +// ---------------------------------------------------------------------------- -class WXDLLEXPORT wxTextEntryDialog: public wxDialog +class WXDLLIMPEXP_CORE wxTextEntryDialog : public wxDialog { -DECLARE_DYNAMIC_CLASS(wxTextEntryDialog) -protected: - long m_dialogStyle; - wxString m_value; public: - wxTextEntryDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxGetTextFromUserPromptStr, - const wxString& value = wxEmptyString, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition); + wxTextEntryDialog() + { + m_textctrl = NULL; + } + + wxTextEntryDialog(wxWindow *parent, + const wxString& message, + const wxString& caption = wxGetTextFromUserPromptStr, + const wxString& value = wxEmptyString, + long style = wxTextEntryDialogStyle, + const wxPoint& pos = wxDefaultPosition) + { + Create(parent, message, caption, value, style, pos); + } + + bool Create(wxWindow *parent, + const wxString& message, + const wxString& caption = wxGetTextFromUserPromptStr, + const wxString& value = wxEmptyString, + long style = wxTextEntryDialogStyle, + const wxPoint& pos = wxDefaultPosition); + + void SetValue(const wxString& val); + wxString GetValue() const { return m_value; } + + void SetMaxLength(unsigned long len); - inline void SetValue(const wxString& val) { m_value = val; } - inline wxString GetValue(void) const { return m_value; } +#if wxUSE_VALIDATORS + void SetTextValidator( const wxTextValidator& validator ); +#if WXWIN_COMPATIBILITY_2_8 + wxDEPRECATED( void SetTextValidator( long style ) ); +#endif + void SetTextValidator( wxTextValidatorStyle style = wxFILTER_NONE ); + wxTextValidator* GetTextValidator() { return (wxTextValidator*)m_textctrl->GetValidator(); } +#endif // wxUSE_VALIDATORS + + virtual bool TransferDataToWindow(); + virtual bool TransferDataFromWindow(); + // implementation only void OnOK(wxCommandEvent& event); -DECLARE_EVENT_TABLE() +protected: + wxTextCtrl *m_textctrl; + wxString m_value; + long m_dialogStyle; + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxTextEntryDialog) + wxDECLARE_NO_COPY_CLASS(wxTextEntryDialog); }; -wxString WXDLLEXPORT wxGetTextFromUser(const wxString& message, const wxString& caption = wxGetTextFromUserPromptStr, - const wxString& default_value = wxEmptyString, wxWindow *parent = (wxWindow *) NULL, - int x = -1, int y = -1, bool centre = TRUE); +// ---------------------------------------------------------------------------- +// wxPasswordEntryDialog: dialog with password control, [ok] and [cancel] +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPasswordEntryDialog : public wxTextEntryDialog +{ +public: + wxPasswordEntryDialog(wxWindow *parent, + const wxString& message, + const wxString& caption = wxGetPasswordFromUserPromptStr, + const wxString& value = wxEmptyString, + long style = wxTextEntryDialogStyle, + const wxPoint& pos = wxDefaultPosition); +private: + DECLARE_DYNAMIC_CLASS(wxPasswordEntryDialog) + wxDECLARE_NO_COPY_CLASS(wxPasswordEntryDialog); +}; + +// ---------------------------------------------------------------------------- +// function to get a string from user +// ---------------------------------------------------------------------------- + +WXDLLIMPEXP_CORE wxString + wxGetTextFromUser(const wxString& message, + const wxString& caption = wxGetTextFromUserPromptStr, + const wxString& default_value = wxEmptyString, + wxWindow *parent = NULL, + wxCoord x = wxDefaultCoord, + wxCoord y = wxDefaultCoord, + bool centre = true); + +WXDLLIMPEXP_CORE wxString + wxGetPasswordFromUser(const wxString& message, + const wxString& caption = wxGetPasswordFromUserPromptStr, + const wxString& default_value = wxEmptyString, + wxWindow *parent = NULL, + wxCoord x = wxDefaultCoord, + wxCoord y = wxDefaultCoord, + bool centre = true); #endif - // __TEXTDLGH_G__ + // wxUSE_TEXTDLG +#endif // _WX_TEXTDLGG_H_