]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/srchctrl.h
Move SendIdleEvents() from wxApp to wxWindow.
[wxWidgets.git] / interface / wx / srchctrl.h
CommitLineData
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}
e4821c39 58 @appearance{searchctrl.png}
7c913512 59
e54c96f1 60 @see wxTextCtrl::Create, wxValidator
23324ae1
FM
61*/
62class wxSearchCtrl : public wxTextCtrl
63{
64public:
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
FM
104
105 /**
7c913512 106 Returns a pointer to the search control's menu object or @NULL if there is no
23324ae1
FM
107 menu attached.
108 */
109 virtual wxMenu* GetMenu();
110
111 /**
7c913512 112 Returns the search button visibility value.
23324ae1 113 If there is a menu attached, the search button will be visible regardless of
e725ba4f
FM
114 the search button visibility value.
115
23324ae1
FM
116 This always returns @false in Mac OS X v10.3
117 */
adaaa686 118 virtual bool IsSearchButtonVisible() const;
23324ae1
FM
119
120 /**
e725ba4f
FM
121 Sets the search control's menu object.
122 If there is already a menu associated with the search control it is deleted.
3c4f71cc 123
7c913512 124 @param menu
4cc4bfaf 125 Menu to attach to the search control.
23324ae1
FM
126 */
127 virtual void SetMenu(wxMenu* menu);
128
129 /**
130 Shows or hides the cancel button.
131 */
132 virtual void ShowCancelButton(bool show);
133
134 /**
7c913512 135 Sets the search button visibility value on the search control.
23324ae1 136 If there is a menu attached, the search button will be visible regardless of
e725ba4f
FM
137 the search button visibility value.
138
23324ae1
FM
139 This has no effect in Mac OS X v10.3
140 */
141 virtual void ShowSearchButton(bool show);
142};
e54c96f1 143