]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/listctrl.tex
Unicode overview added
[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
379\membersection{wxListCtrl::InsertColumn}\label{wxlistctrlinsertcolumn}
380
eaaa6a06 381\func{long}{InsertColumn}{\param{long }{col}, \param{wxListItem\& }{info}}
a660d684
KB
382
383For list view mode (only), inserts a column. For more details, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
384
eaaa6a06
JS
385\func{long}{InsertColumn}{\param{long }{col}, \param{const wxString\& }{heading}, \param{int }{format = wxLIST\_FORMAT\_LEFT},\rtfsp
386\param{int }{width = -1}}
a660d684
KB
387
388For list view mode (only), inserts a column. For more details, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
389
21f280f4
RD
390\pythonnote{In place of a single overloaded method name, wxPython
391implements the following methods:\par
392\indented{2cm}{\begin{twocollist}
393\twocolitem{\bf{InsertColumn(col, heading, format=wxLIST_FORMAT_LEFT,
394width=-1)}}{Creates a column using a header string only.}
395\twocolitem{\bf{InsertColumnInfo(col, item)}}{Creates a column using a
396wxListInfo.}
397\end{twocollist}}
398}
399
a660d684
KB
400\membersection{wxListCtrl::InsertItem}\label{wxlistctrlinsertitem}
401
402\func{long}{InsertItem}{\param{wxListItem\& }{info}}
403
404Inserts an item, returning the index of the new item if successful,
405-1 otherwise.
406
eaaa6a06 407\func{long}{InsertItem}{\param{long }{index}, \param{const wxString\& }{label}}
a660d684
KB
408
409Inserts a string item.
410
eaaa6a06 411\func{long}{InsertItem}{\param{long }{index}, \param{int }{imageIndex}}
a660d684
KB
412
413Inserts an image item.
414
eaaa6a06 415\func{long}{InsertItem}{\param{long }{index}, \param{const wxString\& }{label}, \param{int }{imageIndex}}
a660d684
KB
416
417Insert an image/string item.
418
884360bc
JS
419\wxheading{Parameters}
420
421\docparam{info}{wxListItem object}
422
423\docparam{index}{Index of the new item, supplied by the application}
424
425\docparam{label}{String label}
426
427\docparam{imageIndex}{index into the image list associated with this control and view style}
428
21f280f4
RD
429\pythonnote{In place of a single overloaded method name, wxPython
430implements the following methods:\par
431\indented{2cm}{\begin{twocollist}
432\twocolitem{\bf{InsertItem(item)}}{Inserts an item using a wxListItem.}
433\twocolitem{\bf{InsertStringItem(index, label)}}{Inserts a string item.}
434\twocolitem{\bf{InsertImageItem(index, imageIndex)}}{Inserts an image item.}
435\twocolitem{\bf{InsertImageStringItem(index, label, imageIndex)}}{Insert an image/string item.}
436\end{twocollist}}
437}
438
a660d684
KB
439\membersection{wxListCtrl::ScrollList}\label{wxlistctrlscrolllist}
440
eaaa6a06 441\func{bool}{ScrollList}{\param{int }{dx}, \param{int }{dy}}
a660d684
KB
442
443Scrolls the list control. If in icon, small icon or report view mode,
444dx specifies the number of pixels to scroll. If in list view mode, dx
445specifies the number of columns to scroll.
446
447If in icon, small icon or list view mode, dy specifies the number of pixels
448to scroll. If in report view mode, dy specifies the number of lines to scroll.
449
450\membersection{wxListCtrl::SetBackgroundColour}\label{wxlistctrlsetbackgroundcolour}
451
452\func{void}{SetBackgroundColour}{\param{const wxColour\& }{col}}
453
454Sets the background colour (GetBackgroundColour already implicit in
455wxWindow class).
456
457\membersection{wxListCtrl::SetColumn}\label{wxlistctrlsetcolumn}
458
eaaa6a06 459\func{bool}{SetColumn}{\param{int }{col}, \param{wxListItem\& }{item}}
a660d684
KB
460
461Sets information about this column. See \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem} for more
462information.
463
464\membersection{wxListCtrl::SetColumnWidth}\label{wxlistctrlsetcolumnwidth}
465
eaaa6a06 466\func{bool}{SetColumnWidth}{\param{int }{col}, \param{int }{width}}
a660d684 467
884360bc 468Sets the column width.
a660d684
KB
469
470{\it width} can be a width in pixels or wxLIST\_AUTOSIZE (-1) or wxLIST\_AUTOSIZE\_USEHEADER (-2).
0180dad6
RR
471wxLIST\_AUTOSIZE will resize the column to the length of its longest item. wxLIST\_AUTOSIZE\_USEHEADER
472will resize the column to the length of the header (Win32) or 80 pixels (other platforms).
884360bc
JS
473
474In small or normal icon view, {\it col} must be -1, and the column width is set for all columns.
a660d684
KB
475
476\membersection{wxListCtrl::SetImageList}\label{wxlistctrlsetimagelist}
477
eaaa6a06 478\func{void}{SetImageList}{\param{wxImageList*}{ imageList}, \param{int }{which}}
a660d684
KB
479
480Sets the image list associated with the control. {\it which} is one of
481wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL, wxIMAGE\_LIST\_STATE (the last is unimplemented).
482
483\membersection{wxListCtrl::SetItem}\label{wxlistctrlsetitem}
484
485\func{bool}{SetItem}{\param{wxListItem\& }{info}}
486
487Sets information about the item.
488
489wxListItem is a class with the following members:
490
491\twocolwidtha{5cm}
492\begin{twocollist}\itemsep=0pt
493\twocolitem{long m\_mask}{Indicates which fields are valid. See the list of valid mask flags below.}
494\twocolitem{long m\_itemId}{The zero-based item position.}
495\twocolitem{int m\_col}{Zero-based column, if in report mode.}
496\twocolitem{long m\_state}{The state of the item. See the list of valid state flags below.}
497\twocolitem{long m\_stateMask}{A mask indicating which state flags are valid. See the list of valid state flags below.}
498\twocolitem{wxString m\_text}{The label/header text.}
499\twocolitem{int m\_image}{The zero-based index into an image list.}
500\twocolitem{long m\_data}{Application-defined data.}
501\twocolitem{int m\_format}{For columns only: the format. Can be wxLIST\_FORMAT\_LEFT, wxLIST\_FORMAT\_RIGHT or
502wxLIST\_FORMAT\_CENTRE.}
503\twocolitem{int m\_width}{For columns only: the column width.}
504\end{twocollist}
505
506The {\bf m\_mask} member contains a bitlist specifying which of the other fields are valid. The flags are:
507
508\twocolwidtha{5cm}
509\begin{twocollist}\itemsep=0pt
510\twocolitem{wxLIST\_MASK\_STATE}{The {\bf m\_state} field is valid.}
511\twocolitem{wxLIST\_MASK\_TEXT}{The {\bf m\_text} field is valid.}
512\twocolitem{wxLIST\_MASK\_IMAGE}{The {\bf m\_image} field is valid.}
513\twocolitem{wxLIST\_MASK\_DATA}{The {\bf m\_data} field is valid.}
514\twocolitem{wxLIST\_MASK\_WIDTH}{The {\bf m\_width} field is valid.}
515\twocolitem{wxLIST\_MASK\_FORMAT}{The {\bf m\_format} field is valid.}
516\end{twocollist}
517
518The {\bf m\_stateMask} and {\bf m\_state} members take flags from the following:
519
520\twocolwidtha{5cm}
521\begin{twocollist}\itemsep=0pt
0180dad6
RR
522\twocolitem{wxLIST\_STATE\_DONTCARE}{Don't care what the state is. Win32 only. }
523\twocolitem{wxLIST\_STATE\_DROPHILITED}{The item is highlighted to receive a drop event. Win32 only. }
a660d684
KB
524\twocolitem{wxLIST\_STATE\_FOCUSED}{The item has the focus.}
525\twocolitem{wxLIST\_STATE\_SELECTED}{The item is selected.}
0180dad6 526\twocolitem{wxLIST\_STATE\_CUT}{The item is in the cut state. Win32 only. }
a660d684
KB
527\end{twocollist}
528
eaaa6a06 529\func{long}{SetItem}{\param{long }{index}, \param{int }{col}, \param{const wxString\& }{label}, \param{int }{imageId = -1}}
a660d684
KB
530
531Sets a string field at a particular column.
532
21f280f4
RD
533\pythonnote{In place of a single overloaded method name, wxPython
534implements the following methods:\par
535\indented{2cm}{\begin{twocollist}
536\twocolitem{\bf{SetItem(item)}}{Sets information about the given wxListItem.}
537\twocolitem{\bf{SetStringItem(index, col, label, imageId)}}{Sets a
538string or image at a given location.}
539\end{twocollist}}
540}
541
542
a660d684
KB
543\membersection{wxListCtrl::SetItemData}\label{wxlistctrlsetitemdata}
544
eaaa6a06 545\func{bool}{SetItemData}{\param{long }{item}, \param{long }{data}}
a660d684
KB
546
547Associates application-defined data with this item.
548
549\membersection{wxListCtrl::SetItemImage}\label{wxlistctrlsetitemimage}
550
eaaa6a06 551\func{bool}{SetItemImage}{\param{long }{item}, \param{int }{image}, \param{int }{selImage}}
a660d684
KB
552
553Sets the unselected and selected images associated with the item. The images are indices into the
554image list associated with the list control.
555
556\membersection{wxListCtrl::SetItemPosition}\label{wxlistctrlsetitemposition}
557
eaaa6a06 558\func{bool}{SetItemPosition}{\param{long }{item}, \param{const wxPoint\& }{pos}}
a660d684
KB
559
560Sets the position of the item, in icon or small icon view.
561
562\membersection{wxListCtrl::SetItemState}\label{wxlistctrlsetitemstate}
563
eaaa6a06 564\func{bool}{SetItemState}{\param{long }{item}, \param{long }{state}, \param{long }{stateMask}}
a660d684
KB
565
566Sets the item state. For a list of state flags, see \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem}.
567
568The {\bf stateMask} indicates which state flags are valid.
569
570\membersection{wxListCtrl::SetItemText}\label{wxlistctrlsetitemtext}
571
eaaa6a06 572\func{void}{SetItemText}{\param{long }{item}, \param{const wxString\& }{text}}
a660d684
KB
573
574Sets the item text for this item.
575
576\membersection{wxListCtrl::SetSingleStyle}\label{wxlistctrlsetsinglestyle}
577
eaaa6a06 578\func{void}{SetSingleStyle}{\param{long }{style}, \param{const bool }{add = TRUE}}
a660d684
KB
579
580Adds or removes a single window style.
581
582\membersection{wxListCtrl::SetTextColour}\label{wxlistctrlsettextcolour}
583
584\func{void}{SetTextColour}{\param{const wxColour\& }{col}}
585
586Sets the text colour of the list control.
587
588\membersection{wxListCtrl::SetWindowStyleFlag}\label{wxlistctrlsetwindowstyleflag}
589
eaaa6a06 590\func{void}{SetWindowStyleFlag}{\param{long }{style}}
a660d684
KB
591
592Sets the whole window style.
593
594\membersection{wxListCtrl::SortItems}\label{wxlistctrlsortitems}
595
596\func{bool}{SortItems}{\param{wxListCtrlCompare }{fn}, \param{long }{data}}
597
598Sorts the items in the list control.
599
600fn is a function which takes 3 long arguments: item1, item2, data.
601
602item1 is the long data associated with a first item (NOT the index).
603
604item2 is the long data associated with a second item (NOT the index).
605
606data is the same value as passed to SortItems.
607
608The return value is a negative number if the first item should precede the second
609item, a positive number of the second item should precede the first,
610or zero if the two items are equivalent.
611
612data is arbitrary data to be passed to the sort function.
613