]>
Commit | Line | Data |
---|---|---|
23324ae1 FM |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: srchctrl.h | |
e54c96f1 | 3 | // Purpose: interface of wxSearchCtrl |
23324ae1 FM |
4 | // Author: wxWidgets team |
5 | // RCS-ID: $Id$ | |
526954c5 | 6 | // Licence: wxWindows licence |
23324ae1 FM |
7 | ///////////////////////////////////////////////////////////////////////////// |
8 | ||
9 | /** | |
10 | @class wxSearchCtrl | |
7c913512 FM |
11 | |
12 | A search control is a composite control with a search button, a text | |
23324ae1 | 13 | control, and a cancel button. |
7c913512 | 14 | |
23324ae1 | 15 | @beginStyleTable |
8c6791e4 | 16 | @style{wxTE_PROCESS_ENTER} |
3a194bda | 17 | The control will generate the event @c wxEVT_COMMAND_TEXT_ENTER |
23324ae1 FM |
18 | (otherwise pressing Enter key is either processed internally by the |
19 | control or used for navigation between dialog controls). | |
8c6791e4 | 20 | @style{wxTE_PROCESS_TAB} |
3a194bda | 21 | The control will receive @c wxEVT_CHAR events for TAB pressed - |
23324ae1 FM |
22 | normally, TAB is used for passing to the next control in a dialog |
23 | instead. For the control created with this style, you can still use | |
24 | Ctrl-Enter to pass to the next control from the keyboard. | |
8c6791e4 | 25 | @style{wxTE_NOHIDESEL} |
23324ae1 FM |
26 | By default, the Windows text control doesn't show the selection |
27 | when it doesn't have focus - use this style to force it to always | |
28 | show it. It doesn't do anything under other platforms. | |
8c6791e4 | 29 | @style{wxTE_LEFT} |
23324ae1 | 30 | The text in the control will be left-justified (default). |
8c6791e4 | 31 | @style{wxTE_CENTRE} |
23324ae1 FM |
32 | The text in the control will be centered (currently wxMSW and |
33 | wxGTK2 only). | |
8c6791e4 | 34 | @style{wxTE_RIGHT} |
23324ae1 FM |
35 | The text in the control will be right-justified (currently wxMSW |
36 | and wxGTK2 only). | |
8c6791e4 | 37 | @style{wxTE_CAPITALIZE} |
23324ae1 FM |
38 | On PocketPC and Smartphone, causes the first letter to be |
39 | capitalized. | |
40 | @endStyleTable | |
7c913512 | 41 | |
3051a44a | 42 | @beginEventEmissionTable{wxCommandEvent} |
e725ba4f FM |
43 | To retrieve actual search queries, use EVT_TEXT and EVT_TEXT_ENTER events, |
44 | just as you would with wxTextCtrl. | |
45 | @event{EVT_SEARCHCTRL_SEARCH_BTN(id, func)} | |
3a194bda | 46 | Respond to a @c wxEVT_SEARCHCTRL_SEARCH_BTN event, generated when the |
ac63bc40 VZ |
47 | search button is clicked. Note that this does not initiate a search on |
48 | its own, you need to perform the appropriate action in your event | |
49 | handler. You may use @code event.GetString() @endcode to retrieve the | |
50 | string to search for in the event handler code. | |
e725ba4f | 51 | @event{EVT_SEARCHCTRL_CANCEL_BTN(id, func)} |
3a194bda | 52 | Respond to a @c wxEVT_SEARCHCTRL_CANCEL_BTN event, generated when the |
e725ba4f FM |
53 | cancel button is clicked. |
54 | @endEventTable | |
55 | ||
23324ae1 | 56 | @library{wxcore} |
e725ba4f | 57 | @category{ctrl} |
ce154616 | 58 | @appearance{searchctrl} |
7c913512 | 59 | |
e54c96f1 | 60 | @see wxTextCtrl::Create, wxValidator |
23324ae1 FM |
61 | */ |
62 | class wxSearchCtrl : public wxTextCtrl | |
63 | { | |
64 | public: | |
671600d8 RR |
65 | /** |
66 | Default constructor | |
67 | */ | |
68 | wxSearchCtrl(); | |
e725ba4f | 69 | |
23324ae1 FM |
70 | /** |
71 | Constructor, creating and showing a text control. | |
3c4f71cc | 72 | |
7c913512 | 73 | @param parent |
4cc4bfaf | 74 | Parent window. Should not be @NULL. |
7c913512 | 75 | @param id |
4cc4bfaf | 76 | Control identifier. A value of -1 denotes a default value. |
7c913512 | 77 | @param value |
4cc4bfaf | 78 | Default text value. |
7c913512 | 79 | @param pos |
4cc4bfaf | 80 | Text control position. |
7c913512 | 81 | @param size |
4cc4bfaf | 82 | Text control size. |
7c913512 | 83 | @param style |
4cc4bfaf | 84 | Window style. See wxSearchCtrl. |
7c913512 | 85 | @param validator |
4cc4bfaf | 86 | Window validator. |
7c913512 | 87 | @param name |
4cc4bfaf | 88 | Window name. |
3c4f71cc | 89 | |
4cc4bfaf | 90 | @see wxTextCtrl::Create, wxValidator |
23324ae1 | 91 | */ |
7c913512 | 92 | wxSearchCtrl(wxWindow* parent, wxWindowID id, |
11e3af6e | 93 | const wxString& value = wxEmptyString, |
7c913512 FM |
94 | const wxPoint& pos = wxDefaultPosition, |
95 | const wxSize& size = wxDefaultSize, | |
96 | long style = 0, | |
97 | const wxValidator& validator = wxDefaultValidator, | |
98 | const wxString& name = wxSearchCtrlNameStr); | |
23324ae1 FM |
99 | |
100 | /** | |
101 | Destructor, destroying the search control. | |
102 | */ | |
adaaa686 | 103 | virtual ~wxSearchCtrl(); |
23324ae1 | 104 | |
7cab9c41 RD |
105 | |
106 | bool Create(wxWindow* parent, wxWindowID id, | |
107 | const wxString& value = wxEmptyString, | |
108 | const wxPoint& pos = wxDefaultPosition, | |
109 | const wxSize& size = wxDefaultSize, | |
110 | long style = 0, | |
111 | const wxValidator& validator = wxDefaultValidator, | |
112 | const wxString& name = wxSearchCtrlNameStr); | |
113 | ||
23324ae1 | 114 | /** |
7c913512 | 115 | Returns a pointer to the search control's menu object or @NULL if there is no |
23324ae1 FM |
116 | menu attached. |
117 | */ | |
118 | virtual wxMenu* GetMenu(); | |
119 | ||
120 | /** | |
7c913512 | 121 | Returns the search button visibility value. |
23324ae1 | 122 | If there is a menu attached, the search button will be visible regardless of |
e725ba4f FM |
123 | the search button visibility value. |
124 | ||
23324ae1 FM |
125 | This always returns @false in Mac OS X v10.3 |
126 | */ | |
adaaa686 | 127 | virtual bool IsSearchButtonVisible() const; |
23324ae1 | 128 | |
7cab9c41 RD |
129 | /** |
130 | Returns the cancel button's visibility state. | |
131 | */ | |
132 | virtual bool IsCancelButtonVisible() const; | |
133 | ||
23324ae1 | 134 | /** |
e725ba4f FM |
135 | Sets the search control's menu object. |
136 | If there is already a menu associated with the search control it is deleted. | |
3c4f71cc | 137 | |
7c913512 | 138 | @param menu |
4cc4bfaf | 139 | Menu to attach to the search control. |
23324ae1 FM |
140 | */ |
141 | virtual void SetMenu(wxMenu* menu); | |
142 | ||
143 | /** | |
144 | Shows or hides the cancel button. | |
145 | */ | |
146 | virtual void ShowCancelButton(bool show); | |
147 | ||
148 | /** | |
7c913512 | 149 | Sets the search button visibility value on the search control. |
23324ae1 | 150 | If there is a menu attached, the search button will be visible regardless of |
e725ba4f FM |
151 | the search button visibility value. |
152 | ||
23324ae1 FM |
153 | This has no effect in Mac OS X v10.3 |
154 | */ | |
155 | virtual void ShowSearchButton(bool show); | |
7cab9c41 RD |
156 | |
157 | /** | |
158 | Set the text to be displayed in the search control when the user has | |
159 | not yet typed anything in it. | |
160 | */ | |
161 | void SetDescriptiveText(const wxString& text); | |
162 | ||
163 | /** | |
164 | Return the text displayed when there is not yet any user input. | |
165 | */ | |
166 | wxString GetDescriptiveText() const; | |
23324ae1 | 167 | }; |
e54c96f1 | 168 | |
7cab9c41 RD |
169 | |
170 | wxEventType wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN; | |
171 | wxEventType wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN; |