]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/listctrl.tex
document that wxRenderer methods [are supposed to] preserve wxDC attributes
[wxWidgets.git] / docs / latex / wx / listctrl.tex
index 3cc184d6df93cfffabaefbc172ce8e54e6d9ef82..1d8039bb5d0f3aee2398564aa12a59c2b595850d 100644 (file)
@@ -1,3 +1,14 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        listctrl.tex
+%% Purpose:     wxListCtrl docs
+%% Author:
+%% Modified by:
+%% Created:
+%% RCS-ID:      $Id$
+%% Copyright:   (c) wxWidgets
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \section{\class{wxListCtrl}}\label{wxlistctrl}
 
 A list control presents lists in a number of formats: list view, report view,
@@ -12,7 +23,7 @@ itself only when needed which allows to have controls with millions of items
 without consuming much memory. To use virtual list control you must use
 \helpref{SetItemCount}{wxlistctrlsetitemcount} first and overload at least
 \helpref{OnGetItemText}{wxlistctrlongetitemtext} (and optionally
-\helpref{OnGetItemImage}{wxlistctrlongetitemimage} and
+\helpref{OnGetItemImage}{wxlistctrlongetitemimage} or \helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage} and
 \helpref{OnGetItemAttr}{wxlistctrlongetitemattr}) to return the information
 about the items when the control requests it. Virtual list control can be used
 as a normal one except that no operations which can take time proportional to
@@ -96,8 +107,8 @@ functions that take a \helpref{wxListEvent}{wxlistevent} argument.
 
 \wxheading{See also}
 
-\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
-\helpref{wxImageList}{wximagelist}, \helpref{wxListEvent}{wxlistevent},
+\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListView}{wxlistview}, \helpref{wxListBox}{wxlistbox},\rtfsp
+\helpref{wxTreeCtrl}{wxtreectrl}, \helpref{wxImageList}{wximagelist}, \helpref{wxListEvent}{wxlistevent},
 \helpref{wxListItem}{wxlistitem}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
@@ -193,7 +204,7 @@ Creates the list control. See \helpref{wxListCtrl::wxListCtrl}{wxlistctrlctor} f
 
 \func{bool}{DeleteAllItems}{}
 
-Deletes all the items in the list control.
+Deletes all items in the list control.
 
 {\bf NB:} This function does {\it not} send the
 {\tt wxEVT\_COMMAND\_LIST\_DELETE\_ITEM} event because deleting many items
@@ -377,6 +388,13 @@ Returns the number of items in the list control.
 Gets the application-defined data associated with this item.
 
 
+\membersection{wxListCtrl::GetItemFont}\label{wxlistctrlgetitemfont}
+
+\constfunc{wxFont}{GetItemFont}{\param{long }{item}}
+
+Returns the item's font.
+
+
 \membersection{wxListCtrl::GetItemPosition}\label{wxlistctrlgetitemposition}
 
 \constfunc{bool}{GetItemPosition}{\param{long }{item}, \param{wxPoint\& }{pos}}
@@ -468,7 +486,7 @@ This function may be used to find all selected items in the control like this:
             break;
 
         // this item is selected - do whatever is needed with it
-        wxLogMessage("Item %ld is selected."), item);
+        wxLogMessage("Item %ld is selected.", item);
     }
 \end{verbatim}
 
@@ -483,7 +501,7 @@ This function may be used to find all selected items in the control like this:
 \twocolitem{wxLIST\_NEXT\_RIGHT}{Searches for an item to the right of the specified item.}
 \end{twocollist}
 
-{\bf NB:} this parameters is only supported by wxMSW currently and ignored on
+{\bf NB:} this parameter is only supported by wxMSW currently and ignored on
 other platforms.
 
 {\it state} can be a bitlist of the following:
@@ -639,38 +657,61 @@ method:\par
 
 \membersection{wxListCtrl::OnGetItemAttr}\label{wxlistctrlongetitemattr}
 
-\func{virtual wxListItemAttr *}{OnGetItemAttr}{\param{long }{item}}
+\constfunc{virtual wxListItemAttr *}{OnGetItemAttr}{\param{long }{item}}
 
 This function may be overloaded in the derived class for a control with
 {\tt wxLC\_VIRTUAL} style. It should return the attribute for the
 for the specified {\tt item} or {\tt NULL} to use the default appearance
 parameters.
 
+wxListCtrl will not delete the pointer or keep a reference of it. You can 
+return the same wxListItemAttr pointer for every OnGetItemAttr call.
+
 The base class version always returns {\tt NULL}.
 
 \wxheading{See also}
 
 \helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
+\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
 \helpref{OnGetItemText}{wxlistctrlongetitemtext}
 
 
 \membersection{wxListCtrl::OnGetItemImage}\label{wxlistctrlongetitemimage}
 
-\func{virtual int}{OnGetItemImage}{\param{long }{item}}
+\constfunc{virtual int}{OnGetItemImage}{\param{long }{item}}
 
 This function must be overloaded in the derived class for a control with
 {\tt wxLC\_VIRTUAL} style having an \helpref{image list}{wxlistctrlsetimagelist}
 (if the control doesn't have an image list, it is not necessary to overload
  it). It should return the index of the items image in the controls image list
 or $-1$ for no image.
+In a control with {\tt wxLC\_REPORT} style, OnGetItemImage only gets called for
+the first column of each line.
 
 The base class version always returns $-1$.
 
 \wxheading{See also}
 
 \helpref{OnGetItemText}{wxlistctrlongetitemtext},\\
+\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
 \helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
 
+\membersection{wxListCtrl::OnGetItemColumnImage}\label{wxlistctrlongetitemcolumnimage}
+
+\constfunc{virtual int}{OnGetItemColumnImage}{\param{long }{item}, \param{long }{column}}
+
+Overload this function in the derived class for a control with
+{\tt wxLC\_VIRTUAL} and {\tt wxLC\_REPORT} styles in order to specify the image
+index for the given line and column.
+
+The base class version always calls OnGetItemImage for the first column, else
+it returns $-1$.
+
+\wxheading{See also}
+
+\helpref{OnGetItemText}{wxlistctrlongetitemtext},\\
+\helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
+\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
 
 \membersection{wxListCtrl::OnGetItemText}\label{wxlistctrlongetitemtext}
 
@@ -684,6 +725,7 @@ the given {\it column} for the specified {\tt item}.
 
 \helpref{SetItemCount}{wxlistctrlsetitemcount},\\
 \helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
+\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
 \helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
 
 
@@ -866,12 +908,20 @@ from $0$ to {\it count}.
 Associates application-defined data with this item.
 
 
+\membersection{wxListCtrl::SetItemFont}\label{wxlistctrlsetitemfont}
+
+\func{void}{SetItemFont}{\param{long }{item}, \param{const wxFont\& }{font}}
+
+Sets the item's font.
+
+
 \membersection{wxListCtrl::SetItemImage}\label{wxlistctrlsetitemimage}
 
 \func{bool}{SetItemImage}{\param{long }{item}, \param{int }{image}}
 
 Sets the image associated with the item. The image is an index into the
-image list associated with the list control.
+image list associated with the list control. In report view, this only sets
+the image for the first column.
 
 \func{bool}{SetItemImage}{\param{long }{item}, \param{int }{image}, \param{int }{selImage}}
 
@@ -880,6 +930,14 @@ image list associated with the list control. This form is deprecated: {\it selIm
 used.
 
 
+\membersection{wxListCtrl::SetItemColumnImage}\label{wxlistctrlsetitemcolumnimage}
+
+\func{bool}{SetItemImage}{\param{long }{item}, \param{long }{column}\param{int }{image}}
+
+Sets the image associated with the item. In report view, you can specify the column.
+The image is an index into the image list associated with the list control.
+
+
 \membersection{wxListCtrl::SetItemPosition}\label{wxlistctrlsetitemposition}
 
 \func{bool}{SetItemPosition}{\param{long }{item}, \param{const wxPoint\& }{pos}}
@@ -971,6 +1029,6 @@ SortItems with a reference to a callable object that expects two
 parameters.}
 
 \perlnote{In wxPerl the comparison function must take just two parameters;
- however, you may use a closure to achieve an effect similar to the
- SortItems third parameter.}
+however, you may use a closure to achieve an effect similar to the
+SortItems third parameter.}