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