]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/valgen.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / valgen.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: valgen.h
3 // Purpose: interface of wxGenericValidator
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
7
8 /**
9 @class wxGenericValidator
10
11 wxGenericValidator performs data transfer (but not validation or filtering)
12 for many type of controls.
13
14 wxGenericValidator supports:
15 - wxButton, wxRadioButton, wxToggleButton, wxBitmapToggleButton, wxSpinButton
16 - wxCheckBox, wxRadioBox, wxComboBox, wxListBox, wxCheckListBox
17 - wxGauge, wxSlider, wxScrollBar, wxChoice, wxStaticText
18 - wxSpinCtrl, wxTextCtrl
19
20 It checks the type of the window and uses an appropriate type for it.
21 For example, wxButton and wxTextCtrl transfer data to and from a
22 wxString variable; wxListBox uses a wxArrayInt; wxCheckBox uses a boolean.
23
24 For more information, please see @ref overview_validator.
25
26 @library{wxcore}
27 @category{validator}
28
29 @see @ref overview_validator, wxValidator, wxTextValidator,
30 wxIntegerValidator, wxFloatingPointValidator
31 */
32 class wxGenericValidator : public wxValidator
33 {
34 public:
35 /**
36 Copy constructor.
37
38 @param validator
39 Validator to copy.
40 */
41 wxGenericValidator(const wxGenericValidator& validator);
42 /**
43 Constructor taking a bool pointer. This will be used for wxCheckBox,
44 wxRadioButton, wxToggleButton and wxBitmapToggleButton.
45
46 @param valPtr
47 A pointer to a variable that contains the value. This variable
48 should have a lifetime equal to or longer than the validator
49 lifetime (which is usually determined by the lifetime of the
50 window).
51 */
52 wxGenericValidator(bool* valPtr);
53 /**
54 Constructor taking a wxString pointer. This will be used for wxButton,
55 wxComboBox, wxStaticText, wxTextCtrl.
56
57 @param valPtr
58 A pointer to a variable that contains the value. This variable
59 should have a lifetime equal to or longer than the validator
60 lifetime (which is usually determined by the lifetime of the
61 window).
62 */
63 wxGenericValidator(wxString* valPtr);
64 /**
65 Constructor taking an integer pointer. This will be used for wxChoice,
66 wxGauge, wxScrollBar, wxRadioBox, wxSlider, wxSpinButton and
67 wxSpinCtrl.
68
69 @param valPtr
70 A pointer to a variable that contains the value. This variable
71 should have a lifetime equal to or longer than the validator
72 lifetime (which is usually determined by the lifetime of the
73 window).
74 */
75 wxGenericValidator(int* valPtr);
76 /**
77 Constructor taking a wxArrayInt pointer. This will be used for
78 wxListBox, wxCheckListBox.
79
80 @param valPtr
81 A pointer to a variable that contains the value. This variable
82 should have a lifetime equal to or longer than the validator
83 lifetime (which is usually determined by the lifetime of the
84 window).
85 */
86 wxGenericValidator(wxArrayInt* valPtr);
87 /**
88 Constructor taking a wxDateTime pointer. This will be used for
89 wxDatePickerCtrl.
90
91 @param valPtr
92 A pointer to a variable that contains the value. This variable
93 should have a lifetime equal to or longer than the validator
94 lifetime (which is usually determined by the lifetime of the
95 window).
96 */
97 wxGenericValidator(wxDateTime* valPtr);
98 /**
99 Constructor taking a wxFileName pointer. This will be used for
100 wxTextCtrl.
101
102 @param valPtr
103 A pointer to a variable that contains the value. This variable
104 should have a lifetime equal to or longer than the validator
105 lifetime (which is usually determined by the lifetime of the
106 window).
107 @since 2.9.3
108 */
109 wxGenericValidator(wxFileName* valPtr);
110 /**
111 Constructor taking a float pointer. This will be used for
112 wxTextCtrl.
113
114 @param valPtr
115 A pointer to a variable that contains the value. This variable
116 should have a lifetime equal to or longer than the validator
117 lifetime (which is usually determined by the lifetime of the
118 window).
119 @since 2.9.3
120 */
121 wxGenericValidator(float* valPtr);
122 /**
123 Constructor taking a double pointer. This will be used for
124 wxTextCtrl.
125
126 @param valPtr
127 A pointer to a variable that contains the value. This variable
128 should have a lifetime equal to or longer than the validator
129 lifetime (which is usually determined by the lifetime of the
130 window).
131 @since 2.9.3
132 */
133 wxGenericValidator(double* valPtr);
134
135 /**
136 Destructor.
137 */
138 virtual ~wxGenericValidator();
139
140 /**
141 Clones the generic validator using the copy constructor.
142 */
143 virtual wxObject* Clone() const;
144
145 /**
146 Transfers the value from the window to the appropriate data type.
147 */
148 virtual bool TransferFromWindow();
149
150 /**
151 Transfers the value to the window.
152 */
153 virtual bool TransferToWindow();
154 };
155