]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/listbox.tex
updated the script to generate pieces of TeX documentation as well
[wxWidgets.git] / docs / latex / wx / listbox.tex
CommitLineData
a660d684
KB
1\section{\class{wxListBox}}\label{wxlistbox}
2
3A listbox is used to select one or more of a list of strings. The
4strings are displayed in a scrolling box, with the selected string(s)
5marked in reverse video. A listbox can be single selection (if an item
6is selected, the previous selection is removed) or multiple selection
7(clicking an item toggles the item on or off independently of other
8selections).
9
27d029c7
RR
10List box elements are numbered from zero. Their number is limited in
11some platforms (e.g. ca. 2000 on GTK).
a660d684
KB
12
13A listbox callback gets an event wxEVT\_COMMAND\_LISTBOX\_SELECT for single clicks, and
debe6624 14wxEVT\_COMMAND\_LISTBOX\_DOUBLE\_CLICKED for double clicks.
a660d684
KB
15
16\wxheading{Derived from}
17
18\helpref{wxControl}{wxcontrol}\\
19\helpref{wxWindow}{wxwindow}\\
20\helpref{wxEvtHandler}{wxevthandler}\\
21\helpref{wxObject}{wxobject}
22
954b8ae6
JS
23\wxheading{Include files}
24
25<wx/listbox.h>
26
a660d684
KB
27\wxheading{Window styles}
28
29\twocolwidtha{5cm}%
30\begin{twocollist}\itemsep=0pt
31\twocolitem{\windowstyle{wxLB\_SINGLE}}{Single-selection list.}
32\twocolitem{\windowstyle{wxLB\_MULTIPLE}}{Multiple-selection list: the user can toggle multiple
33items on and off.}
34\twocolitem{\windowstyle{wxLB\_EXTENDED}}{Extended-selection list: the user can
35select multiple items using the SHIFT key and the mouse or special key combinations.}
36\twocolitem{\windowstyle{wxLB\_HSCROLL}}{Create horizontal scrollbar if contents are too wide (Windows only).}
37\twocolitem{\windowstyle{wxLB\_ALWAYS\_SB}}{Always show a vertical scrollbar.}
38\twocolitem{\windowstyle{wxLB\_NEEDED\_SB}}{Only create a vertical scrollbar if needed.}
9c884972 39\twocolitem{\windowstyle{wxLB\_SORT}}{The listbox contents are sorted in alphabetical order. No effect for GTK.}
a660d684
KB
40\end{twocollist}
41
42See also \helpref{window styles overview}{windowstyles}.
43
5de76427
JS
44\wxheading{Event handling}
45
46\twocolwidtha{7cm}
47\begin{twocollist}\itemsep=0pt
48\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
49when an item on the list is selected.}
def172b2 50\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
5de76427
JS
51when the listbox is doubleclicked.}
52\end{twocollist}
53
a660d684
KB
54\wxheading{See also}
55
5de76427
JS
56\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
57\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
a660d684
KB
58
59\latexignore{\rtfignore{\wxheading{Members}}}
60
61\membersection{wxListBox::wxListBox}\label{wxlistboxconstr}
62
63\func{}{wxListBox}{\void}
64
65Default constructor.
66
eaaa6a06 67\func{}{wxListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 68\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06
JS
69\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
70\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
a660d684
KB
71
72Constructor, creating and showing a list box.
73
74\wxheading{Parameters}
75
76\docparam{parent}{Parent window. Must not be NULL.}
77
78\docparam{id}{Window identifier. A value of -1 indicates a default value.}
79
80\docparam{pos}{Window position.}
81
82\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
83appropriately.}
84
85\docparam{n}{Number of strings with which to initialise the control.}
86
87\docparam{choices}{An array of strings with which to initialise the control.}
88
89\docparam{style}{Window style. See \helpref{wxListBox}{wxlistbox}.}
90
91\docparam{validator}{Window validator.}
92
93\docparam{name}{Window name.}
94
95\wxheading{See also}
96
97\helpref{wxListBox::Create}{wxlistboxcreate}, \helpref{wxValidator}{wxvalidator}
98
c9110876
VS
99\pythonnote{The wxListBox constructor in wxPython reduces the {\tt n}
100and {\tt choices} arguments are to a single argument, which is
06d20283
RD
101a list of strings.}
102
5873607e
VZ
103\perlnote{In wxPerl there is just an array reference in place of {\tt n}
104and {\tt choices}.}
06d20283 105
a660d684
KB
106\membersection{wxListBox::\destruct{wxListBox}}
107
108\func{void}{\destruct{wxListBox}}{\void}
109
110Destructor, destroying the list box.
111
112\membersection{wxListBox::Append}\label{wxlistboxappend}
113
114\func{void}{Append}{\param{const wxString\& }{ item}}
115
116Adds the item to the end of the list box.
117
9c884972 118\func{void}{Append}{\param{const wxString\& }{ item}, \param{void* }{clientData}}
a660d684
KB
119
120Adds the item to the end of the list box, associating the given data
121with the item.
122
123\wxheading{Parameters}
124
125\docparam{item}{String to add.}
126
127\docparam{clientData}{Client data to associate with the item.}
128
129\membersection{wxListBox::Clear}\label{wxlistboxclear}
130
131\func{void}{Clear}{\void}
132
133Clears all strings from the list box.
134
135\membersection{wxListBox::Create}\label{wxlistboxcreate}
136
eaaa6a06 137\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 138\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06
JS
139\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
140\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
a660d684
KB
141
142Creates the listbox for two-step construction. See \helpref{wxListBox::wxListBox}{wxlistboxconstr}\rtfsp
143for further details.
144
145\membersection{wxListBox::Delete}\label{wxlistboxdelete}
146
147\func{void}{Delete}{\param{int}{ n}}
148
149Deletes an item from the listbox.
150
151\wxheading{Parameters}
152
153\docparam{n}{The zero-based item index.}
154
155\membersection{wxListBox::Deselect}\label{wxlistboxdeselect}
156
157\func{void}{Deselect}{\param{int}{ n}}
158
159Deselects an item in the list box.
160
161\wxheading{Parameters}
162
163\docparam{n}{The zero-based item to deselect.}
164
165\wxheading{Remarks}
166
167This applies to multiple selection listboxes only.
168
169\membersection{wxListBox::FindString}\label{wxlistboxfindstring}
170
171\func{int}{FindString}{\param{const wxString\& }{string}}
172
173Finds an item matching the given string.
174
175\wxheading{Parameters}
176
177\docparam{string}{String to find.}
178
179\wxheading{Return value}
180
181The zero-based position of the item, or -1 if the string was not found.
182
183\membersection{wxListBox::GetClientData}\label{wxlistboxgetclientdata}
184
9c884972 185\constfunc{void*}{GetClientData}{\param{int}{ n}}
a660d684
KB
186
187Returns a pointer to the client data associated with the given item (if any).
188
189\wxheading{Parameters}
190
191\docparam{n}{The zero-based position of the item.}
192
193\wxheading{Return value}
194
195A pointer to the client data, or NULL if not present.
196
197\membersection{wxListBox::GetSelection}\label{wxlistboxgetselection}
198
199\constfunc{int}{GetSelection}{\void}
200
201Gets the position of the selected item.
202
203\wxheading{Return value}
204
205The position of the current selection.
206
207\wxheading{Remarks}
208
209Applicable to single selection list boxes only.
210
211\wxheading{See also}
212
213\helpref{wxListBox::SetSelection}{wxlistboxsetselection},\rtfsp
214\helpref{wxListBox::GetStringSelection}{wxlistboxgetstringselection},\rtfsp
215\helpref{wxListBox::GetSelections}{wxlistboxgetselections}
216
217\membersection{wxListBox::GetSelections}\label{wxlistboxgetselections}
218
605d715d 219\constfunc{int}{GetSelections}{\param{wxArrayInt\& }{selections}}
a660d684 220
fd9811b1 221Fill an array of ints with the positions of the currently selected items.
a660d684
KB
222
223\wxheading{Parameters}
224
fd9811b1 225\docparam{selections}{A reference to an wxArrayInt instance that is used to store the result of the query.}
a660d684
KB
226
227\wxheading{Return value}
228
229The number of selections.
230
231\wxheading{Remarks}
232
233Use this with a multiple selection listbox.
234
235\wxheading{See also}
236
237\helpref{wxListBox::GetSelection}{wxlistboxgetselection},\rtfsp
238\helpref{wxListBox::GetStringSelection}{wxlistboxgetstringselection},\rtfsp
239\helpref{wxListBox::SetSelection}{wxlistboxsetselection}
240
f899db6d
RD
241\pythonnote{The wxPython version of this method takes no parameters
242and returns a tuple of the selected items.}
243
5873607e
VZ
244\perlnote{In wxPerl this method takes no parameters and returna the
245selected items as a list.}
246
a660d684
KB
247\membersection{wxListBox::GetString}\label{wxlistboxgetstring}
248
eaaa6a06 249\constfunc{wxString}{GetString}{\param{int}{ n}}
a660d684
KB
250
251Returns the string at the given position.
252
253\wxheading{Parameters}
254
255\docparam{n}{The zero-based position.}
256
257\wxheading{Return value}
258
259The string, or an empty string if the position was invalid.
260
261\membersection{wxListBox::GetStringSelection}\label{wxlistboxgetstringselection}
262
263\constfunc{wxString}{GetStringSelection}{\void}
264
265Gets the selected string - for single selection list boxes only. This
266must be copied by the calling program if long term use is to be made of
267it.
268
269\wxheading{See also}
270
271\helpref{wxListBox::GetSelection}{wxlistboxgetselection},\rtfsp
272\helpref{wxListBox::GetSelections}{wxlistboxgetselections},\rtfsp
273\helpref{wxListBox::SetSelection}{wxlistboxsetselection}
274
81108288
VZ
275\membersection{wxListBox::InsertItems}\label{wxlistboxinsertitems}
276
277\func{void}{InsertItems}{\param{int}{ nItems}, \param{const wxString}{ items}, \param{int}{ pos}}
278
279Insert the given number of strings before the specified position.
280
281\wxheading{Parameters}
282
283\docparam{nItems}{Number of items in the array {\it items}}
284
285\docparam{items}{Labels of items to be inserted}
286
287\docparam{pos}{Position before which to insert the items: for example, if {\it pos} is 0 the items
288will be inserted in the beginning of the listbox}
289
76e1c2de
RD
290\pythonnote{The first two parameters are collapsed into a single
291parameter for wxPython, which is a list of strings.}
292
5873607e
VZ
293\perlnote{In wxPerl there is just an array reference in place of {\tt nItems}
294and {\tt items}.}
295
a660d684
KB
296\membersection{wxListBox::Number}\label{wxlistboxnumber}
297
298\constfunc{int}{Number}{\void}
299
300Returns the number of items in the listbox.
301
302\membersection{wxListBox::Selected}\label{wxlistboxselected}
303
eaaa6a06 304\constfunc{bool}{Selected}{\param{int}{ n}}
a660d684
KB
305
306Determines whether an item is selected.
307
308\wxheading{Parameters}
309
310\docparam{n}{The zero-based item index.}
311
312\wxheading{Return value}
313
314TRUE if the given item is selected, FALSE otherwise.
315
316\membersection{wxListBox::Set}\label{wxlistboxset}
317
eaaa6a06 318\func{void}{Set}{\param{int}{ n}, \param{const wxString*}{ choices}}
a660d684 319
9c884972 320Clears the list box and adds the given strings. Not implemented for GTK.
a660d684
KB
321
322\wxheading{Parameters}
323
324\docparam{n}{The number of strings to set.}
325
326\docparam{choices}{An array of strings to set.}
327
328\wxheading{Remarks}
329
330Deallocate the array from the calling program
331after this function has been called.
332
333\membersection{wxListBox::SetClientData}\label{wxlistboxsetclientdata}
334
9c884972 335\func{void}{SetClientData}{\param{int}{ n}, \param{void* }{data}}
a660d684
KB
336
337Associates the given client data pointer with the given item.
338
339\wxheading{Parameters}
340
341\docparam{n}{The zero-based item index.}
342
343\docparam{data}{The client data to associate with the item.}
344
345\membersection{wxListBox::SetFirstItem}\label{wxlistboxsetfirstitem}
346
347\func{void}{SetFirstItem}{\param{int}{ n}}
348
349\func{void}{SetFirstItem}{\param{const wxString\& }{string}}
350
953704c1 351Set the specified item to be the first visible item. Windows only.
a660d684
KB
352
353\wxheading{Parameters}
354
355\docparam{n}{The zero-based item index.}
356
357\docparam{string}{The string that should be visible.}
358
359\membersection{wxListBox::SetSelection}\label{wxlistboxsetselection}
360
eaaa6a06 361\func{void}{SetSelection}{\param{int}{ n}, \param{const bool }{select = TRUE}}
a660d684 362
953704c1
RR
363Selects or deselects the given item. This does not cause a
364wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
a660d684
KB
365
366\wxheading{Parameters}
367
368\docparam{n}{The zero-based item index.}
369
370\docparam{select}{If TRUE, will select the item. If FALSE, will deselect it.}
371
372\membersection{wxListBox::SetString}\label{wxlistboxsetstring}
373
eaaa6a06 374\func{void}{SetString}{\param{int}{ n}, \param{const wxString\& }{ string}}
a660d684
KB
375
376Sets the string value of an item.
377
378\wxheading{Parameters}
379
380\docparam{n}{The zero-based item index.}
381
382\docparam{string}{The string to set.}
383
384\membersection{wxListBox::SetStringSelection}\label{wxlistboxsetstringselection}
385
386\func{void}{SetStringSelection}{\param{const wxString\& }{ string}, \param{const bool}{ select = TRUE}}
387
953704c1
RR
388Sets the current selection. This does not cause a
389wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
a660d684
KB
390
391\wxheading{Parameters}
392
393\docparam{string}{The item to select.}
394
395\docparam{select}{If TRUE, will select the item. If FALSE, will deselect it.}
396