]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_combobox.i
test for special keys first, before testing for alphanumeric ones as even keys such...
[wxWidgets.git] / wxPython / src / _combobox.i
CommitLineData
d14a1e28
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: _combobox.i
3// Purpose: SWIG interface defs for wxComboBox
4//
5// Author: Robin Dunn
6//
7// Created: 10-June-1998
8// RCS-ID: $Id$
9// Copyright: (c) 2003 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13// Not a %module
14
15
16//---------------------------------------------------------------------------
17
b2dc1044 18MAKE_CONST_WXSTRING(ComboBoxNameStr);
d14a1e28
RD
19
20//---------------------------------------------------------------------------
21%newgroup;
22
23
6ad421ae 24DocStr(wxComboBox,
d07d2bc9
RD
25"A combobox is like a combination of an edit control and a
26listbox. It can be displayed as static list with editable or
27read-only text field; or a drop-down list with text field.
28
29A combobox permits a single selection only. Combobox items are
30numbered from zero.", "
31
32Styles
33------
34 ================ ===============================================
35 wx.CB_SIMPLE Creates a combobox with a permanently
36 displayed list. Windows only.
37
38 wx.CB_DROPDOWN Creates a combobox with a drop-down list.
39
40 wx.CB_READONLY Same as wxCB_DROPDOWN but only the strings
41 specified as the combobox choices can be
42 selected, it is impossible to select
43 (even from a program) a string which is
44 not in the choices list.
45
46 wx.CB_SORT Sorts the entries in the list alphabetically.
47 ================ ===============================================
48
49Events
50-------
51 ================ ===============================================
52 EVT_COMBOBOX Sent when an item on the list is selected.
b7287719
RD
53 Note that calling `GetValue` in this handler
54 will return the newly selected value.
d07d2bc9 55 EVT_TEXT Sent when the combobox text changes.
c9463abb
RD
56 EVT_TEXT_ENTER Sent when the RETURN/ENTER key is pressed in
57 the combobox.
d07d2bc9 58 ================ ===============================================
6ad421ae
RD
59");
60
61
62
ab1f7d2a
RD
63MustHaveApp(wxComboBox);
64
d14a1e28
RD
65#ifdef __WXMSW__
66class wxComboBox : public wxChoice
67#else
68class wxComboBox : public wxControl, public wxItemContainer
69#endif
70{
71public:
2b9048c5
RD
72 %pythonAppend wxComboBox "self._setOORInfo(self)"
73 %pythonAppend wxComboBox() ""
d14a1e28 74
6ad421ae 75 DocCtorAStr(
907c2926 76 wxComboBox(wxWindow* parent, wxWindowID id=-1,
6ad421ae
RD
77 const wxString& value = wxPyEmptyString,
78 const wxPoint& pos = wxDefaultPosition,
79 const wxSize& size = wxDefaultSize,
80 const wxArrayString& choices = wxPyEmptyStringArray,
81 long style = 0,
82 const wxValidator& validator = wxDefaultValidator,
83 const wxString& name = wxPyComboBoxNameStr),
3c69a2ec 84 "__init__(Window parent, int id=-1, String value=EmptyString,
d07d2bc9 85 Point pos=DefaultPosition, Size size=DefaultSize,
40a0d6ca 86 List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
d07d2bc9
RD
87 String name=ComboBoxNameStr) -> ComboBox",
88 "Constructor, creates and shows a ComboBox control.", "");
6ad421ae
RD
89
90 DocCtorStrName(
91 wxComboBox(),
d07d2bc9 92 "Precreate a ComboBox control for 2-phase creation.", "",
6ad421ae
RD
93 PreComboBox);
94
95
96 DocDeclAStr(
907c2926 97 bool, Create(wxWindow *parent, wxWindowID id=-1,
6ad421ae
RD
98 const wxString& value = wxPyEmptyString,
99 const wxPoint& pos = wxDefaultPosition,
100 const wxSize& size = wxDefaultSize,
101 const wxArrayString& choices = wxPyEmptyStringArray,
102 long style = 0,
103 const wxValidator& validator = wxDefaultValidator,
104 const wxString& name = wxPyChoiceNameStr),
3c69a2ec 105 "Create(Window parent, int id=-1, String value=EmptyString,
d07d2bc9 106 Point pos=DefaultPosition, Size size=DefaultSize,
40a0d6ca 107 List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
d07d2bc9
RD
108 String name=ChoiceNameStr) -> bool",
109 "Actually create the GUI wxComboBox control for 2-phase creation", "");
6ad421ae
RD
110
111
112 DocDeclStr(
113 virtual wxString , GetValue() const,
d07d2bc9 114 "Returns the current value in the combobox text field.", "");
6ad421ae
RD
115
116 DocDeclStr(
117 virtual void , SetValue(const wxString& value),
d07d2bc9 118 "", "");
6ad421ae
RD
119
120
121 DocDeclStr(
122 virtual void , Copy(),
d07d2bc9 123 "Copies the selected text to the clipboard.", "");
6ad421ae
RD
124
125 DocDeclStr(
126 virtual void , Cut(),
d07d2bc9 127 "Copies the selected text to the clipboard and removes the selection.", "");
6ad421ae
RD
128
129 DocDeclStr(
130 virtual void , Paste(),
d07d2bc9 131 "Pastes text from the clipboard to the text field.", "");
6ad421ae
RD
132
133
134 DocDeclStr(
135 virtual void , SetInsertionPoint(long pos),
d07d2bc9 136 "Sets the insertion point in the combobox text field.", "");
6ad421ae
RD
137
138 DocDeclStr(
139 virtual long , GetInsertionPoint() const,
d07d2bc9 140 "Returns the insertion point for the combobox's text field.", "");
6ad421ae
RD
141
142 DocDeclStr(
143 virtual long , GetLastPosition() const,
d07d2bc9 144 "Returns the last position in the combobox text field.", "");
6ad421ae
RD
145
146 DocDeclStr(
147 virtual void , Replace(long from, long to, const wxString& value),
d07d2bc9
RD
148 "Replaces the text between two positions with the given text, in the
149combobox text field.", "");
6ad421ae
RD
150
151 DocDeclStr(
152 void , SetSelection(int n),
d07d2bc9 153 "Sets the item at index 'n' to be the selected item.", "");
d14a1e28 154
f8c88923
RD
155 DocDeclStrName(
156 virtual void , SetSelection(long from, long to),
d07d2bc9 157 "Selects the text between the two positions in the combobox text field.", "",
f8c88923 158 SetMark);
d14a1e28 159
e4e84ccd 160#ifndef __WXMAC__
2c25de3f
RD
161 DocDeclAStrName(
162 virtual void , GetSelection(long* OUTPUT, long* OUTPUT),
163 "GetMark(self) -> (from, to)",
164 "Gets the positions of the begining and ending of the selection mark in
165the combobox text field.", "",
166 GetMark);
77aee871
RD
167#else
168 %pythoncode {
169 def GetMark(self):
2fa7c075 170 return (0,0)
77aee871 171 }
2c25de3f 172#endif
77aee871 173
2c25de3f 174
02b800ce
RD
175 DocDeclStr(
176 int , GetCurrentSelection() const,
177 "Unlike `GetSelection` which only returns the accepted selection value,
178i.e. the selection in the control once the user closes the dropdown
179list, this function returns the current selection. That is, while the
180dropdown list is shown, it returns the currently selected item in
181it. When it is not shown, its result is the same as for the other
182function.", "");
183
f8c88923
RD
184 DocDeclStr(
185 bool , SetStringSelection(const wxString& string),
d07d2bc9 186 "Select the item with the specifed string", "");
f8c88923
RD
187
188 DocDeclStr(
189 void , SetString(int n, const wxString& string),
d07d2bc9 190 "Set the label for the n'th item (zero based) in the list.", "");
f8c88923 191
6ad421ae
RD
192 DocDeclStr(
193 virtual void , SetEditable(bool editable),
d07d2bc9 194 "", "");
6ad421ae
RD
195
196
197 DocDeclStr(
198 virtual void , SetInsertionPointEnd(),
d07d2bc9 199 "Sets the insertion point at the end of the combobox text field.", "");
6ad421ae
RD
200
201 DocDeclStr(
202 virtual void , Remove(long from, long to),
d07d2bc9 203 "Removes the text between the two positions in the combobox text field.", "");
c9463abb
RD
204
205
206
207 DocDeclStr(
208 bool , IsEditable() const,
209 "Returns True if the combo is ediatable (not read-only.)", "");
210
211
212 DocDeclStr(
213 void , Undo(),
214 "Redoes the last undo in the text field. Windows only.", "");
215
216 DocDeclStr(
217 void , Redo(),
218 "Undoes the last edit in the text field. Windows only.", "");
219
220 DocDeclStr(
221 void , SelectAll(),
222 "Select all the text in the combo's text field.", "");
223
224
225 DocDeclStr(
226 bool , CanCopy() const,
227 "Returns True if the combobox is editable and there is a text selection
228to copy to the clipboard. Only available on Windows.", "");
229
230 DocDeclStr(
231 bool , CanCut() const,
232 "Returns True if the combobox is editable and there is a text selection
233to copy to the clipboard. Only available on Windows.", "");
234
235 DocDeclStr(
236 bool , CanPaste() const,
237 "Returns True if the combobox is editable and there is text on the
238clipboard that can be pasted into the text field. Only available on
239Windows.", "");
240
241 DocDeclStr(
242 bool , CanUndo() const,
243 "Returns True if the combobox is editable and the last edit can be
244undone. Only available on Windows.", "");
245
246 DocDeclStr(
247 bool , CanRedo() const,
248 "Returns True if the combobox is editable and the last undo can be
249redone. Only available on Windows.", "");
250
251
6ad421ae 252
880715c9
RD
253 static wxVisualAttributes
254 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
0eae5d09
RD
255
256 %property(CurrentSelection, GetCurrentSelection, doc="See `GetCurrentSelection`");
257 %property(InsertionPoint, GetInsertionPoint, SetInsertionPoint, doc="See `GetInsertionPoint` and `SetInsertionPoint`");
258 %property(LastPosition, GetLastPosition, doc="See `GetLastPosition`");
259 %property(Mark, GetMark, SetMark, doc="See `GetMark` and `SetMark`");
260 %property(Value, GetValue, SetValue, doc="See `GetValue` and `SetValue`");
261
d14a1e28
RD
262};
263
264//---------------------------------------------------------------------------