]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/listctrl.tex
added HTML printing
[wxWidgets.git] / docs / latex / wx / listctrl.tex
CommitLineData
a660d684
KB
1\section{\class{wxListCtrl}}\label{wxlistctrl}
2
3A list control presents lists in a number of formats: list view, report view, icon view
4and small icon view. Elements are numbered from zero.
5
6To intercept events from a list control, use the event table macros described in \helpref{wxListEvent}{wxlistevent}.
7
8\wxheading{Derived from}
9
10\helpref{wxControl}{wxcontrol}\\
11\helpref{wxWindow}{wxwindow}\\
12\helpref{wxEvtHandler}{wxevthandler}\\
13\helpref{wxObject}{wxobject}
14
954b8ae6
JS
15\wxheading{Include files}
16
17<wx/listctrl.h>
18
a660d684
KB
19\wxheading{Window styles}
20
21\twocolwidtha{5cm}
22\begin{twocollist}\itemsep=0pt
23\twocolitem{\windowstyle{wxLC\_LIST}}{multicolumn list view, with optional small icons.
24Columns are computed automatically, i.e. you don't set columns as in wxLC\_REPORT. In other words,
25the list wraps, unlike a wxListBox.}
26\twocolitem{\windowstyle{wxLC\_REPORT}}{single or multicolumn report view, with optional header.}
27\twocolitem{\windowstyle{wxLC\_ICON}}{Large icon view, with optional labels.}
28\twocolitem{\windowstyle{wxLC\_SMALL\_ICON}}{Small icon view, with optional labels.}
0180dad6
RR
29\twocolitem{\windowstyle{wxLC\_ALIGN\_TOP}}{Icons align to the top. Win32 default, Win32 only. }
30\twocolitem{\windowstyle{wxLC\_ALIGN\_LEFT}}{Icons align to the left. }
31\twocolitem{\windowstyle{wxLC\_AUTOARRANGE}}{Icons arrange themselves. Win32 only. }
32\twocolitem{\windowstyle{wxLC\_USER\_TEXT}}{The application provides label text on demand, except for column headers. Win32 only. }
a660d684 33\twocolitem{\windowstyle{wxLC\_EDIT\_LABELS}}{Labels are editable: the application will be notified when editing starts.}
0180dad6 34\twocolitem{\windowstyle{wxLC\_NO\_HEADER}}{No header in report mode. Win32 only. }
a660d684
KB
35\twocolitem{\windowstyle{wxLC\_SINGLE\_SEL}}{Single selection.}
36\twocolitem{\windowstyle{wxLC\_SORT\_ASCENDING}}{Sort in ascending order (must still supply a comparison callback in SortItems.}
37\twocolitem{\windowstyle{wxLC\_SORT\_DESCENDING}}{Sort in descending order (must still supply a comparison callback in SortItems.}
38\end{twocollist}
39
40See also \helpref{window styles overview}{windowstyles}.
41
5de76427
JS
42\wxheading{Event handling}
43
44To process input from a list control, use these event handler macros to direct input to member
45functions that take a \helpref{wxListEvent}{wxlistevent} argument.
46
47\twocolwidtha{7cm}
48\begin{twocollist}\itemsep=0pt
49\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
50\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
fd128b0c
RR
51\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
52\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
5de76427
JS
53\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
54\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
55\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
56\twocolitem{{\bf EVT\_LIST\_SET\_INFO(id, func)}}{Information is being supplied (not implemented).}
57\twocolitem{{\bf EVT\_LIST\_ITEM\_SELECTED(id, func)}}{The item has been selected.}
58\twocolitem{{\bf EVT\_LIST\_ITEM\_DESELECTED(id, func)}}{The item has been deselected.}
8b17ba72 59\twocolitem{{\bf EVT\_LIST\_ITEM\_ACTIVATED(id, func)}}{The item has been activated (ENTER or double click).}
5de76427
JS
60\twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.}
61\twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.}
62\twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.}
63\end{twocollist}%
64
a660d684
KB
65\wxheading{See also}
66
67\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
68\helpref{wxImageList}{wximagelist}, \helpref{wxListEvent}{wxlistevent}
69
70\latexignore{\rtfignore{\wxheading{Members}}}
71
72\membersection{wxListCtrl::wxListCtrl}\label{wxlistctrlconstr}
73
74\func{}{wxListCtrl}{\void}
75
76Default constructor.
77
eaaa6a06 78\func{}{wxListCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 79\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06 80\param{long}{ style = wxLC\_ICON}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
a660d684
KB
81
82Constructor, creating and showing a list control.
83
84\wxheading{Parameters}
85
86\docparam{parent}{Parent window. Must not be NULL.}
87
88\docparam{id}{Window identifier. A value of -1 indicates a default value.}
89
90\docparam{pos}{Window position.}
91
92\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
93appropriately.}
94
95\docparam{style}{Window style. See \helpref{wxListCtrl}{wxlistctrl}.}
96
97\docparam{validator}{Window validator.}
98
99\docparam{name}{Window name.}
100
101\wxheading{See also}
102
103\helpref{wxListCtrl::Create}{wxlistctrlcreate}, \helpref{wxValidator}{wxvalidator}
104
105\membersection{wxListCtrl::\destruct{wxListCtrl}}
106
107\func{void}{\destruct{wxListCtrl}}{\void}
108
109Destructor, destroying the list control.
110
111\membersection{wxListCtrl::Arrange}\label{wxlistctrlarrange}
112
eaaa6a06 113\func{bool}{Arrange}{\param{int }{flag = wxLIST\_ALIGN\_DEFAULT}}
a660d684 114
0180dad6 115Arranges the items in icon or small icon view. This only has effect on Win32. {\it flag} is one of:
a660d684
KB
116
117\twocolwidtha{5cm}
118\begin{twocollist}\itemsep=0pt
119\twocolitem{wxLIST\_ALIGN\_DEFAULT}{Default alignment.}
120\twocolitem{wxLIST\_ALIGN\_LEFT}{Align to the left side of the control.}
121\twocolitem{wxLIST\_ALIGN\_TOP}{Align to the top side of the control.}
122\twocolitem{wxLIST\_ALIGN\_SNAP\_TO\_GRID}{Snap to grid.}
123\end{twocollist}
124
125\membersection{wxListCtrl::Create}\label{wxlistctrlcreate}
126
eaaa6a06 127\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 128\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06 129\param{long}{ style = wxLC\_ICON}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
a660d684
KB
130
131Creates the list control. See \helpref{wxListCtrl::wxListCtrl}{wxlistctrlconstr} for further details.
132
8b17ba72
RR
133\membersection{wxListCtrl::ClearAll}\label{wxlistctrlclearall}
134
135\func{void}{ClearAll}{}
136
137Deletes all items and all columns.
138
a660d684
KB
139\membersection{wxListCtrl::DeleteItem}\label{wxlistctrldeleteitem}
140
eaaa6a06 141\func{bool}{DeleteItem}{\param{long }{item}}
a660d684
KB
142
143Deletes the specified item.
144
145\membersection{wxListCtrl::DeleteAllItems}\label{wxlistctrldeleteallitems}
146
8b17ba72 147\func{bool}{DeleteAllItems}{}
a660d684
KB
148
149Deletes all the items in the list control.
150
151\membersection{wxListCtrl::DeleteColumn}\label{wxlistctrldeletecolumn}
152
eaaa6a06 153\func{bool}{DeleteColumn}{\param{int }{col}}
a660d684
KB
154
155Deletes a column.
156
86f975a8 157\membersection{wxListCtrl::EditLabel}\label{wxlistctrledit}
a660d684 158
fd128b0c 159\func{void}{EditLabel}{\param{long }{item}}
a660d684 160
fd128b0c
RR
161Starts editing the label of the given item. This function generates a
162EVT\_LIST\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no
163text control will appear for in-place editing.
86f975a8 164
fd128b0c 165If the user changed the label (i.e. s/he does not press ESC or leave
76e1c2de 166the text control without changes, a EVT\_LIST\_END\_LABEL\_EDIT event
fd128b0c 167will be sent which can be vetoed as well.
a660d684
KB
168
169\membersection{wxListCtrl::EnsureVisible}\label{wxlistctrlensurevisible}
170
eaaa6a06 171\func{bool}{EnsureVisible}{\param{long }{item}}
a660d684
KB
172
173Ensures this item is visible.
174
175\membersection{wxListCtrl::FindItem}\label{wxlistctrlfinditem}
176
eaaa6a06 177\func{long}{FindItem}{\param{long }{start}, \param{const wxString\& }{str}, \param{const bool }{partial = FALSE}}
a660d684
KB
178
179Find an item whose label matches this string, starting from the item after {\it start} or
180the beginning if {\it start} is -1.
181
eaaa6a06 182\func{long}{FindItem}{\param{long }{start}, \param{long }{data}}
a660d684
KB
183
184Find an item whose data matches this data, starting from the item after {\it start} or
185the beginning if 'start' is -1.
186
eaaa6a06 187\func{long}{FindItem}{\param{long }{start}, \param{const wxPoint\& }{pt}, \param{int }{direction}}
a660d684
KB
188
189Find an item nearest this position in the specified direction, starting from
190the item after {\it start} or the beginning if {\it start} is -1.
191
21f280f4
RD
192\pythonnote{In place of a single overloaded method name, wxPython
193implements the following methods:\par
194\indented{2cm}{\begin{twocollist}
195\twocolitem{\bf{FindItem(start, str, partial=FALSE)}}{}
196\twocolitem{\bf{FindItemData(start, data)}}{}
197\twocolitem{\bf{FindItemAtPos(start, point, direction)}}{}
198\end{twocollist}}
199}
200
a660d684
KB
201\membersection{wxListCtrl::GetColumn}\label{wxlistctrlgetcolumn}
202
eaaa6a06 203\constfunc{bool}{GetColumn}{\param{int }{col}, \param{wxListItem\& }{item}}
a660d684
KB
204
205Gets information about this column. See \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem} for more
206information.
207
208\membersection{wxListCtrl::GetColumnWidth}\label{wxlistctrlgetcolumnwidth}
209
eaaa6a06 210\constfunc{int}{GetColumnWidth}{\param{int }{col}}
a660d684
KB
211
212Gets the column width (report view only).
213
214\membersection{wxListCtrl::GetCountPerPage}\label{wxlistctrlgetcountperpage}
215
216\constfunc{int}{GetCountPerPage}{\void}
217
218Gets the number of items that can fit vertically in the
219visible area of the list control (list or report view)
220or the total number of items in the list control (icon
221or small icon view).
222
223\membersection{wxListCtrl::GetEditControl}\label{wxlistctrlgeteditcontrol}
224
225\constfunc{wxTextCtrl\&}{GetEditControl}{\void}
226
227Gets the edit control for editing labels.
228
229\membersection{wxListCtrl::GetImageList}\label{wxlistctrlgetimagelist}
230
eaaa6a06 231\constfunc{wxImageList*}{GetImageList}{\param{int }{which}}
a660d684
KB
232
233Returns the specified image list. {\it which} may be one of:
234
235\twocolwidtha{5cm}
236\begin{twocollist}\itemsep=0pt
237\twocolitem{\windowstyle{wxIMAGE\_LIST\_NORMAL}}{The normal (large icon) image list.}
238\twocolitem{\windowstyle{wxIMAGE\_LIST\_SMALL}}{The small icon image list.}
239\twocolitem{\windowstyle{wxIMAGE\_LIST\_STATE}}{The user-defined state image list (unimplemented).}
240\end{twocollist}
241
242\membersection{wxListCtrl::GetItem}\label{wxlistctrlgetitem}
243
244\constfunc{bool}{GetItem}{\param{wxListItem\& }{info}}
245
246Gets information about the item. See \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem} for more
247information.
248
76e1c2de
RD
249\pythonnote{The wxPython version of this method takes an integer parameter
250for the item ID, and returns the wxListItem object.
21f280f4
RD
251}
252
a660d684
KB
253\membersection{wxListCtrl::GetItemData}\label{wxlistctrlgetitemdata}
254
eaaa6a06 255\constfunc{long}{GetItemData}{\param{long }{item}}
a660d684
KB
256
257Gets the application-defined data associated with this item.
258
259\membersection{wxListCtrl::GetItemPosition}\label{wxlistctrlgetitemposition}
260
eaaa6a06 261\constfunc{bool}{GetItemPosition}{\param{long }{item}, \param{wxPoint\& }{pos}}
a660d684
KB
262
263Returns the position of the item, in icon or small icon view.
264
b456d571 265\pythonnote{The wxPython version of this method accepts only the item
21f280f4
RD
266ID and returns the wxPoint.}
267
a660d684
KB
268\membersection{wxListCtrl::GetItemRect}\label{wxlistctrlgetitemrect}
269
eaaa6a06 270\constfunc{bool}{GetItemRect}{\param{long }{item}, \param{wxRect\& }{rect}, \param{int }{code = wxLIST\_RECT\_BOUNDS}}
a660d684
KB
271
272Returns the rectangle representing the item's size and position, in client coordinates.
273
274{\it code} is one of wxLIST\_RECT\_BOUNDS, wxLIST\_RECT\_ICON, wxLIST\_RECT\_LABEL.
275
b456d571 276\pythonnote{The wxPython version of this method accepts only the item
21f280f4
RD
277ID and returns the wxRect.}
278
a660d684
KB
279\membersection{wxListCtrl::GetItemState}\label{wxlistctrlgetitemstate}
280
eaaa6a06 281\constfunc{int}{GetItemState}{\param{long }{item}, \param{long }{stateMask}}
a660d684
KB
282
283Gets the item state. For a list of state flags, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
284
285The {\bf stateMask} indicates which state flags are of interest.
286
287\membersection{wxListCtrl::GetItemCount}\label{wxlistctrlgetitemcount}
288
289\constfunc{int}{GetItemCount}{\void}
290
291Returns the number of items in the list control.
292
293\membersection{wxListCtrl::GetItemSpacing}\label{wxlistctrlgetitemspacing}
294
295\constfunc{int}{GetItemSpacing}{\param{bool }{isSmall}}
296
297Retrieves the spacing between icons in pixels.
298If {\it small} is TRUE, gets the spacing for the small icon
299view, otherwise the large icon view.
300
301\membersection{wxListCtrl::GetItemText}\label{wxlistctrlgetitemtext}
302
eaaa6a06 303\constfunc{wxString}{GetItemText}{\param{long }{item}}
a660d684
KB
304
305Gets the item text for this item.
306
307\membersection{wxListCtrl::GetNextItem}\label{wxlistctrlgetnextitem}
308
eaaa6a06 309\constfunc{long}{GetNextItem}{\param{long }{item}, \param{int }{geometry = wxLIST\_NEXT\_ALL}, \param{int }{state = wxLIST\_STATE\_DONTCARE}}
a660d684
KB
310
311Searches for an item with the given goemetry or state, starting from {\it item}. {\it item} can be -1
312to find the first item that matches the specified flags.
313
314Returns the item or -1 if unsuccessful.
315
316{\it geometry} can be one of:
317
318\twocolwidtha{5cm}
319\begin{twocollist}\itemsep=0pt
320\twocolitem{wxLIST\_NEXT\_ABOVE}{Searches for an item above the specified item.}
321\twocolitem{wxLIST\_NEXT\_ALL}{Searches for subsequent item by index.}
322\twocolitem{wxLIST\_NEXT\_BELOW}{Searches for an item below the specified item.}
323\twocolitem{wxLIST\_NEXT\_LEFT}{Searches for an item to the left of the specified item.}
324\twocolitem{wxLIST\_NEXT\_RIGHT}{Searches for an item to the right of the specified item.}
325\end{twocollist}
326
327{\it state} can be a bitlist of the following:
328
329\twocolwidtha{5cm}
330\begin{twocollist}\itemsep=0pt
331\twocolitem{wxLIST\_STATE\_DONTCARE}{Don't care what the state is.}
332\twocolitem{wxLIST\_STATE\_DROPHILITED}{The item indicates it is a drop target.}
333\twocolitem{wxLIST\_STATE\_FOCUSED}{The item has the focus.}
334\twocolitem{wxLIST\_STATE\_SELECTED}{The item is selected.}
335\twocolitem{wxLIST\_STATE\_CUT}{The item is selected as part of a cut and paste operation.}
336\end{twocollist}
337
338\membersection{wxListCtrl::GetSelectedItemCount}\label{wxlistctrlgetselecteditemcount}
339
340\constfunc{int}{GetSelectedItemCount}{\void}
341
342Returns the number of selected items in the list control.
343
344\membersection{wxListCtrl::GetTextColour}\label{wxlistctrlgettextcolour}
345
346\constfunc{wxColour}{GetTextColour}{\void}
347
348Gets the text colour of the list control.
349
350\membersection{wxListCtrl::GetTopItem}\label{wxlistctrlgettopitem}
351
352\constfunc{long}{GetTopItem}{\void}
353
354Gets the index of the topmost visible item when in
355list or report view.
356
357\membersection{wxListCtrl::HitTest}\label{wxlistctrlhittest}
358
359\func{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}}
360
361Determines which item (if any) is at the specified point,
362giving details in {\it flags}. {\it flags} will be a combination of the following flags:
363
364\twocolwidtha{5cm}
365\begin{twocollist}\itemsep=0pt
366\twocolitem{wxLIST\_HITTEST\_ABOVE}{Above the client area.}
367\twocolitem{wxLIST\_HITTEST\_BELOW}{Below the client area.}
368\twocolitem{wxLIST\_HITTEST\_NOWHERE}{In the client area but below the last item.}
369\twocolitem{wxLIST\_HITTEST\_ONITEMICON}{On the bitmap associated with an item.}
370\twocolitem{wxLIST\_HITTEST\_ONITEMLABEL}{On the label (string) associated with an item.}
371\twocolitem{wxLIST\_HITTEST\_ONITEMRIGHT}{In the area to the right of an item.}
372\twocolitem{wxLIST\_HITTEST\_ONITEMSTATEICON}{On the state icon for a tree view item that is in a user-defined state.}
373\twocolitem{wxLIST\_HITTEST\_TOLEFT}{To the right of the client area.}
374\twocolitem{wxLIST\_HITTEST\_TORIGHT}{To the left of the client area.}
375\twocolitem{wxLIST\_HITTEST\_ONITEM}{Combination of wxLIST\_HITTEST\_ONITEMICON, wxLIST\_HITTEST\_ONITEMLABEL,
376wxLIST\_HITTEST\_ONITEMSTATEICON.}
377\end{twocollist}
378
86e78222
RD
379\pythonnote{A tuple of values is returned in the wxPython version of
380thsi method. The first value is the item id and the second is the
381flags value mentioned above.}
382
a660d684
KB
383\membersection{wxListCtrl::InsertColumn}\label{wxlistctrlinsertcolumn}
384
eaaa6a06 385\func{long}{InsertColumn}{\param{long }{col}, \param{wxListItem\& }{info}}
a660d684
KB
386
387For list view mode (only), inserts a column. For more details, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
388
eaaa6a06
JS
389\func{long}{InsertColumn}{\param{long }{col}, \param{const wxString\& }{heading}, \param{int }{format = wxLIST\_FORMAT\_LEFT},\rtfsp
390\param{int }{width = -1}}
a660d684
KB
391
392For list view mode (only), inserts a column. For more details, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
393
21f280f4
RD
394\pythonnote{In place of a single overloaded method name, wxPython
395implements the following methods:\par
396\indented{2cm}{\begin{twocollist}
397\twocolitem{\bf{InsertColumn(col, heading, format=wxLIST_FORMAT_LEFT,
398width=-1)}}{Creates a column using a header string only.}
399\twocolitem{\bf{InsertColumnInfo(col, item)}}{Creates a column using a
400wxListInfo.}
401\end{twocollist}}
402}
403
a660d684
KB
404\membersection{wxListCtrl::InsertItem}\label{wxlistctrlinsertitem}
405
406\func{long}{InsertItem}{\param{wxListItem\& }{info}}
407
408Inserts an item, returning the index of the new item if successful,
409-1 otherwise.
410
eaaa6a06 411\func{long}{InsertItem}{\param{long }{index}, \param{const wxString\& }{label}}
a660d684
KB
412
413Inserts a string item.
414
eaaa6a06 415\func{long}{InsertItem}{\param{long }{index}, \param{int }{imageIndex}}
a660d684
KB
416
417Inserts an image item.
418
eaaa6a06 419\func{long}{InsertItem}{\param{long }{index}, \param{const wxString\& }{label}, \param{int }{imageIndex}}
a660d684
KB
420
421Insert an image/string item.
422
884360bc
JS
423\wxheading{Parameters}
424
425\docparam{info}{wxListItem object}
426
427\docparam{index}{Index of the new item, supplied by the application}
428
429\docparam{label}{String label}
430
431\docparam{imageIndex}{index into the image list associated with this control and view style}
432
21f280f4
RD
433\pythonnote{In place of a single overloaded method name, wxPython
434implements the following methods:\par
435\indented{2cm}{\begin{twocollist}
436\twocolitem{\bf{InsertItem(item)}}{Inserts an item using a wxListItem.}
437\twocolitem{\bf{InsertStringItem(index, label)}}{Inserts a string item.}
438\twocolitem{\bf{InsertImageItem(index, imageIndex)}}{Inserts an image item.}
439\twocolitem{\bf{InsertImageStringItem(index, label, imageIndex)}}{Insert an image/string item.}
440\end{twocollist}}
441}
442
a660d684
KB
443\membersection{wxListCtrl::ScrollList}\label{wxlistctrlscrolllist}
444
eaaa6a06 445\func{bool}{ScrollList}{\param{int }{dx}, \param{int }{dy}}
a660d684
KB
446
447Scrolls the list control. If in icon, small icon or report view mode,
448dx specifies the number of pixels to scroll. If in list view mode, dx
449specifies the number of columns to scroll.
450
451If in icon, small icon or list view mode, dy specifies the number of pixels
452to scroll. If in report view mode, dy specifies the number of lines to scroll.
453
454\membersection{wxListCtrl::SetBackgroundColour}\label{wxlistctrlsetbackgroundcolour}
455
456\func{void}{SetBackgroundColour}{\param{const wxColour\& }{col}}
457
458Sets the background colour (GetBackgroundColour already implicit in
459wxWindow class).
460
461\membersection{wxListCtrl::SetColumn}\label{wxlistctrlsetcolumn}
462
eaaa6a06 463\func{bool}{SetColumn}{\param{int }{col}, \param{wxListItem\& }{item}}
a660d684
KB
464
465Sets information about this column. See \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem} for more
466information.
467
468\membersection{wxListCtrl::SetColumnWidth}\label{wxlistctrlsetcolumnwidth}
469
eaaa6a06 470\func{bool}{SetColumnWidth}{\param{int }{col}, \param{int }{width}}
a660d684 471
884360bc 472Sets the column width.
a660d684
KB
473
474{\it width} can be a width in pixels or wxLIST\_AUTOSIZE (-1) or wxLIST\_AUTOSIZE\_USEHEADER (-2).
0180dad6
RR
475wxLIST\_AUTOSIZE will resize the column to the length of its longest item. wxLIST\_AUTOSIZE\_USEHEADER
476will resize the column to the length of the header (Win32) or 80 pixels (other platforms).
884360bc
JS
477
478In small or normal icon view, {\it col} must be -1, and the column width is set for all columns.
a660d684
KB
479
480\membersection{wxListCtrl::SetImageList}\label{wxlistctrlsetimagelist}
481
eaaa6a06 482\func{void}{SetImageList}{\param{wxImageList*}{ imageList}, \param{int }{which}}
a660d684
KB
483
484Sets the image list associated with the control. {\it which} is one of
485wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL, wxIMAGE\_LIST\_STATE (the last is unimplemented).
486
487\membersection{wxListCtrl::SetItem}\label{wxlistctrlsetitem}
488
489\func{bool}{SetItem}{\param{wxListItem\& }{info}}
490
491Sets information about the item.
492
493wxListItem is a class with the following members:
494
495\twocolwidtha{5cm}
496\begin{twocollist}\itemsep=0pt
497\twocolitem{long m\_mask}{Indicates which fields are valid. See the list of valid mask flags below.}
498\twocolitem{long m\_itemId}{The zero-based item position.}
499\twocolitem{int m\_col}{Zero-based column, if in report mode.}
500\twocolitem{long m\_state}{The state of the item. See the list of valid state flags below.}
501\twocolitem{long m\_stateMask}{A mask indicating which state flags are valid. See the list of valid state flags below.}
502\twocolitem{wxString m\_text}{The label/header text.}
503\twocolitem{int m\_image}{The zero-based index into an image list.}
504\twocolitem{long m\_data}{Application-defined data.}
505\twocolitem{int m\_format}{For columns only: the format. Can be wxLIST\_FORMAT\_LEFT, wxLIST\_FORMAT\_RIGHT or
506wxLIST\_FORMAT\_CENTRE.}
507\twocolitem{int m\_width}{For columns only: the column width.}
508\end{twocollist}
509
510The {\bf m\_mask} member contains a bitlist specifying which of the other fields are valid. The flags are:
511
512\twocolwidtha{5cm}
513\begin{twocollist}\itemsep=0pt
514\twocolitem{wxLIST\_MASK\_STATE}{The {\bf m\_state} field is valid.}
515\twocolitem{wxLIST\_MASK\_TEXT}{The {\bf m\_text} field is valid.}
516\twocolitem{wxLIST\_MASK\_IMAGE}{The {\bf m\_image} field is valid.}
517\twocolitem{wxLIST\_MASK\_DATA}{The {\bf m\_data} field is valid.}
518\twocolitem{wxLIST\_MASK\_WIDTH}{The {\bf m\_width} field is valid.}
519\twocolitem{wxLIST\_MASK\_FORMAT}{The {\bf m\_format} field is valid.}
520\end{twocollist}
521
522The {\bf m\_stateMask} and {\bf m\_state} members take flags from the following:
523
524\twocolwidtha{5cm}
525\begin{twocollist}\itemsep=0pt
0180dad6
RR
526\twocolitem{wxLIST\_STATE\_DONTCARE}{Don't care what the state is. Win32 only. }
527\twocolitem{wxLIST\_STATE\_DROPHILITED}{The item is highlighted to receive a drop event. Win32 only. }
a660d684
KB
528\twocolitem{wxLIST\_STATE\_FOCUSED}{The item has the focus.}
529\twocolitem{wxLIST\_STATE\_SELECTED}{The item is selected.}
0180dad6 530\twocolitem{wxLIST\_STATE\_CUT}{The item is in the cut state. Win32 only. }
a660d684
KB
531\end{twocollist}
532
eaaa6a06 533\func{long}{SetItem}{\param{long }{index}, \param{int }{col}, \param{const wxString\& }{label}, \param{int }{imageId = -1}}
a660d684
KB
534
535Sets a string field at a particular column.
536
21f280f4
RD
537\pythonnote{In place of a single overloaded method name, wxPython
538implements the following methods:\par
539\indented{2cm}{\begin{twocollist}
540\twocolitem{\bf{SetItem(item)}}{Sets information about the given wxListItem.}
541\twocolitem{\bf{SetStringItem(index, col, label, imageId)}}{Sets a
542string or image at a given location.}
543\end{twocollist}}
544}
545
546
a660d684
KB
547\membersection{wxListCtrl::SetItemData}\label{wxlistctrlsetitemdata}
548
eaaa6a06 549\func{bool}{SetItemData}{\param{long }{item}, \param{long }{data}}
a660d684
KB
550
551Associates application-defined data with this item.
552
553\membersection{wxListCtrl::SetItemImage}\label{wxlistctrlsetitemimage}
554
eaaa6a06 555\func{bool}{SetItemImage}{\param{long }{item}, \param{int }{image}, \param{int }{selImage}}
a660d684
KB
556
557Sets the unselected and selected images associated with the item. The images are indices into the
558image list associated with the list control.
559
560\membersection{wxListCtrl::SetItemPosition}\label{wxlistctrlsetitemposition}
561
eaaa6a06 562\func{bool}{SetItemPosition}{\param{long }{item}, \param{const wxPoint\& }{pos}}
a660d684
KB
563
564Sets the position of the item, in icon or small icon view.
565
566\membersection{wxListCtrl::SetItemState}\label{wxlistctrlsetitemstate}
567
eaaa6a06 568\func{bool}{SetItemState}{\param{long }{item}, \param{long }{state}, \param{long }{stateMask}}
a660d684
KB
569
570Sets the item state. For a list of state flags, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
571
572The {\bf stateMask} indicates which state flags are valid.
573
574\membersection{wxListCtrl::SetItemText}\label{wxlistctrlsetitemtext}
575
eaaa6a06 576\func{void}{SetItemText}{\param{long }{item}, \param{const wxString\& }{text}}
a660d684
KB
577
578Sets the item text for this item.
579
580\membersection{wxListCtrl::SetSingleStyle}\label{wxlistctrlsetsinglestyle}
581
eaaa6a06 582\func{void}{SetSingleStyle}{\param{long }{style}, \param{const bool }{add = TRUE}}
a660d684
KB
583
584Adds or removes a single window style.
585
586\membersection{wxListCtrl::SetTextColour}\label{wxlistctrlsettextcolour}
587
588\func{void}{SetTextColour}{\param{const wxColour\& }{col}}
589
590Sets the text colour of the list control.
591
592\membersection{wxListCtrl::SetWindowStyleFlag}\label{wxlistctrlsetwindowstyleflag}
593
eaaa6a06 594\func{void}{SetWindowStyleFlag}{\param{long }{style}}
a660d684
KB
595
596Sets the whole window style.
597
598\membersection{wxListCtrl::SortItems}\label{wxlistctrlsortitems}
599
600\func{bool}{SortItems}{\param{wxListCtrlCompare }{fn}, \param{long }{data}}
601
602Sorts the items in the list control.
603
604fn is a function which takes 3 long arguments: item1, item2, data.
605
606item1 is the long data associated with a first item (NOT the index).
607
608item2 is the long data associated with a second item (NOT the index).
609
610data is the same value as passed to SortItems.
611
612The return value is a negative number if the first item should precede the second
613item, a positive number of the second item should precede the first,
614or zero if the two items are equivalent.
615
616data is arbitrary data to be passed to the sort function.
617