]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/generic/textdlgg.h
Richtext interface fixes and additions for Phoenix
[wxWidgets.git] / include / wx / generic / textdlgg.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/generic/textdlgg.h
3// Purpose: wxTextEntryDialog class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_TEXTDLGG_H_
13#define _WX_TEXTDLGG_H_
14
15#include "wx/defs.h"
16
17#if wxUSE_TEXTDLG
18
19#include "wx/dialog.h"
20
21#if wxUSE_VALIDATORS
22#include "wx/valtext.h"
23#include "wx/textctrl.h"
24#endif
25
26class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
27
28extern WXDLLIMPEXP_DATA_CORE(const char) wxGetTextFromUserPromptStr[];
29extern WXDLLIMPEXP_DATA_CORE(const char) wxGetPasswordFromUserPromptStr[];
30
31#define wxTextEntryDialogStyle (wxOK | wxCANCEL | wxCENTRE | wxWS_EX_VALIDATE_RECURSIVELY)
32
33// ----------------------------------------------------------------------------
34// wxTextEntryDialog: a dialog with text control, [ok] and [cancel] buttons
35// ----------------------------------------------------------------------------
36
37class WXDLLIMPEXP_CORE wxTextEntryDialog : public wxDialog
38{
39public:
40 wxTextEntryDialog()
41 {
42 m_textctrl = NULL;
43 }
44
45 wxTextEntryDialog(wxWindow *parent,
46 const wxString& message,
47 const wxString& caption = wxGetTextFromUserPromptStr,
48 const wxString& value = wxEmptyString,
49 long style = wxTextEntryDialogStyle,
50 const wxPoint& pos = wxDefaultPosition)
51 {
52 Create(parent, message, caption, value, style, pos);
53 }
54
55 bool Create(wxWindow *parent,
56 const wxString& message,
57 const wxString& caption = wxGetTextFromUserPromptStr,
58 const wxString& value = wxEmptyString,
59 long style = wxTextEntryDialogStyle,
60 const wxPoint& pos = wxDefaultPosition);
61
62 void SetValue(const wxString& val);
63 wxString GetValue() const { return m_value; }
64
65 void SetMaxLength(unsigned long len);
66
67#if wxUSE_VALIDATORS
68 void SetTextValidator( const wxTextValidator& validator );
69#if WXWIN_COMPATIBILITY_2_8
70 wxDEPRECATED( void SetTextValidator( long style ) );
71#endif
72 void SetTextValidator( wxTextValidatorStyle style = wxFILTER_NONE );
73 wxTextValidator* GetTextValidator() { return (wxTextValidator*)m_textctrl->GetValidator(); }
74#endif // wxUSE_VALIDATORS
75
76 virtual bool TransferDataToWindow();
77 virtual bool TransferDataFromWindow();
78
79 // implementation only
80 void OnOK(wxCommandEvent& event);
81
82protected:
83 wxTextCtrl *m_textctrl;
84 wxString m_value;
85 long m_dialogStyle;
86
87private:
88 DECLARE_EVENT_TABLE()
89 DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
90 wxDECLARE_NO_COPY_CLASS(wxTextEntryDialog);
91};
92
93// ----------------------------------------------------------------------------
94// wxPasswordEntryDialog: dialog with password control, [ok] and [cancel]
95// ----------------------------------------------------------------------------
96
97class WXDLLIMPEXP_CORE wxPasswordEntryDialog : public wxTextEntryDialog
98{
99public:
100 wxPasswordEntryDialog(wxWindow *parent,
101 const wxString& message,
102 const wxString& caption = wxGetPasswordFromUserPromptStr,
103 const wxString& value = wxEmptyString,
104 long style = wxTextEntryDialogStyle,
105 const wxPoint& pos = wxDefaultPosition);
106private:
107 DECLARE_DYNAMIC_CLASS(wxPasswordEntryDialog)
108 wxDECLARE_NO_COPY_CLASS(wxPasswordEntryDialog);
109};
110
111// ----------------------------------------------------------------------------
112// function to get a string from user
113// ----------------------------------------------------------------------------
114
115WXDLLIMPEXP_CORE wxString
116 wxGetTextFromUser(const wxString& message,
117 const wxString& caption = wxGetTextFromUserPromptStr,
118 const wxString& default_value = wxEmptyString,
119 wxWindow *parent = NULL,
120 wxCoord x = wxDefaultCoord,
121 wxCoord y = wxDefaultCoord,
122 bool centre = true);
123
124WXDLLIMPEXP_CORE wxString
125 wxGetPasswordFromUser(const wxString& message,
126 const wxString& caption = wxGetPasswordFromUserPromptStr,
127 const wxString& default_value = wxEmptyString,
128 wxWindow *parent = NULL,
129 wxCoord x = wxDefaultCoord,
130 wxCoord y = wxDefaultCoord,
131 bool centre = true);
132
133#endif
134 // wxUSE_TEXTDLG
135#endif // _WX_TEXTDLGG_H_