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