]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: pickerbase.h | |
3 | // Purpose: interface of wxPickerBase | |
4 | // Author: wxWidgets team | |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows license | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | /** | |
10 | @class wxPickerBase | |
11 | ||
12 | Base abstract class for all pickers which support an auxiliary text control. | |
13 | ||
14 | This class handles all positioning and sizing of the text control like a | |
15 | an horizontal wxBoxSizer would do, with the text control on the left of the | |
16 | picker button. | |
17 | ||
18 | The proportion (see wxSizer documentation for more info about proportion values) | |
19 | of the picker control defaults to 1 when there isn't a text control associated | |
20 | (see @c wxPB_USE_TEXTCTRL style) and to 0 otherwise. | |
21 | ||
22 | @beginStyleTable | |
23 | @style{wxPB_USE_TEXTCTRL} | |
24 | Creates a text control to the left of the picker which is | |
25 | completely managed by this wxPickerBase class. | |
26 | @endStyleTable | |
27 | ||
28 | @library{wxcore} | |
29 | @category{pickers} | |
30 | ||
31 | @see wxColourPickerCtrl | |
32 | */ | |
33 | class wxPickerBase : public wxControl | |
34 | { | |
35 | public: | |
36 | /** | |
37 | Returns the margin (in pixel) between the picker and the text control. | |
38 | ||
39 | This function can be used only when HasTextCtrl() returns @true. | |
40 | */ | |
41 | int GetInternalMargin() const; | |
42 | ||
43 | /** | |
44 | Returns the proportion value of the picker. | |
45 | */ | |
46 | int GetPickerCtrlProportion() const; | |
47 | ||
48 | /** | |
49 | Returns a pointer to the text control handled by this window or @NULL if the | |
50 | @c wxPB_USE_TEXTCTRL style was not specified when this control was created. | |
51 | ||
52 | @remarks | |
53 | The contents of the text control could be an invalid representation of | |
54 | the entity which can be chosen through the picker | |
55 | (e.g. when the user enters an invalid colour syntax because of a typo). | |
56 | Thus you should never parse the content of the textctrl to get the | |
57 | user's input; rather use the derived-class getter | |
58 | (e.g. wxColourPickerCtrl::GetColour(), wxFilePickerCtrl::GetPath(), etc). | |
59 | */ | |
60 | wxTextCtrl* GetTextCtrl(); | |
61 | ||
62 | /** | |
63 | Returns the native implementation of the real picker control. | |
64 | ||
65 | @note | |
66 | The returned control in the generic implementation of wxFilePickerCtrl, | |
67 | wxDirPickerCtrl, wxFontPickerCtrl and wxColourPickerCtrl is a specialized | |
68 | wxButton class so that you can change its label doing, e.g.: | |
69 | @code | |
70 | #ifdef __WXMSW__ | |
71 | // wxMSW is one of the platforms where the generic implementation | |
72 | // of wxFilePickerCtrl is used... | |
73 | ||
74 | wxButton *pButt = wx_static_cast(wxButton*, myFilePickerCtrl->GetPickerCtrl()); | |
75 | if (pButt) | |
76 | pButt->SetLabel("Custom browse string"); | |
77 | #endif | |
78 | @endcode | |
79 | */ | |
80 | wxControl* GetPickerCtrl(); | |
81 | ||
82 | /** | |
83 | Returns the proportion value of the text control. | |
84 | ||
85 | This function can be used only when HasTextCtrl() returns @true. | |
86 | */ | |
87 | int GetTextCtrlProportion() const; | |
88 | ||
89 | /** | |
90 | Returns @true if this window has a valid text control (i.e. if the @c | |
91 | wxPB_USE_TEXTCTRL style was given when creating this control). | |
92 | */ | |
93 | bool HasTextCtrl() const; | |
94 | ||
95 | /** | |
96 | Returns @true if the picker control is growable. | |
97 | */ | |
98 | bool IsPickerCtrlGrowable() const; | |
99 | ||
100 | /** | |
101 | Returns @true if the text control is growable. | |
102 | ||
103 | This function can be used only when HasTextCtrl() returns @true. | |
104 | */ | |
105 | bool IsTextCtrlGrowable() const; | |
106 | ||
107 | /** | |
108 | Sets the margin (in pixel) between the picker and the text control. | |
109 | ||
110 | This function can be used only when HasTextCtrl() returns @true. | |
111 | */ | |
112 | void SetInternalMargin(int margin); | |
113 | ||
114 | /** | |
115 | Sets the picker control as growable when @c grow is @true. | |
116 | */ | |
117 | void SetPickerCtrlGrowable(bool grow = true); | |
118 | ||
119 | /** | |
120 | Sets the proportion value of the picker. | |
121 | ||
122 | Look at the detailed description of wxPickerBase for more info. | |
123 | */ | |
124 | void SetPickerCtrlProportion(int prop); | |
125 | ||
126 | /** | |
127 | Sets the text control as growable when @c grow is @true. | |
128 | ||
129 | This function can be used only when HasTextCtrl() returns @true. | |
130 | */ | |
131 | void SetTextCtrlGrowable(bool grow = true); | |
132 | ||
133 | /** | |
134 | Sets the proportion value of the text control. | |
135 | ||
136 | Look at the detailed description of wxPickerBase for more info. | |
137 | ||
138 | This function can be used only when HasTextCtrl() returns @true. | |
139 | */ | |
140 | void SetTextCtrlProportion(int prop); | |
141 | }; | |
142 |