X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/35c2acd4a81a3b41ced9253f744a00e64de2a423..5a70d3f578cdd6939616505d5a38c001a5cc7692:/docs/latex/wx/listctrl.tex?ds=sidebyside diff --git a/docs/latex/wx/listctrl.tex b/docs/latex/wx/listctrl.tex index 31f5e41f38..05aa3c6578 100644 --- a/docs/latex/wx/listctrl.tex +++ b/docs/latex/wx/listctrl.tex @@ -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 @@ -414,6 +425,25 @@ returns a Wx::Rect ( or undef ).} +\membersection{wxListCtrl::GetSubItemRect}\label{wxlistctrlgetsubitemrect} + +\constfunc{bool}{GetSubItemRect}{\param{long }{item}, \param{long }{subItem}, \param{wxRect\& }{rect}, \param{int }{code = wxLIST\_RECT\_BOUNDS}} + +Returns the rectangle representing the size and position, in physical +coordinates, of the given subitem, i.e. the part of the row \arg{item} in the +column \arg{subItem}. + +This method is only meaningfull when the wxListCtrl is in the report mode. If +\arg{subItem} parameter is equal to the special value +\texttt{wxLIST\_GETSUBITEMRECT\_WHOLEITEM} the return value is the same as +for \helpref{GetItemRect}{wxlistctrlgetitemrect}. + +\arg{code} can be one of \texttt{wxLIST\_RECT\_BOUNDS}, +\texttt{wxLIST\_RECT\_ICON} or \texttt{wxLIST\_RECT\_LABEL}. + +\newsince{2.7.0} + + \membersection{wxListCtrl::GetItemSpacing}\label{wxlistctrlgetitemspacing} \constfunc{wxSize}{GetItemSpacing}{\void} @@ -475,7 +505,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} @@ -490,7 +520,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: @@ -543,7 +573,7 @@ list or report views (this is a limitation of the native Win32 control). \membersection{wxListCtrl::HitTest}\label{wxlistctrlhittest} -\func{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}} +\constfunc{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}, \param{long *}{ptrSubItem}} Determines which item (if any) is at the specified point, giving details in {\it flags}. Returns index of the item or {\tt wxNOT\_FOUND} @@ -565,6 +595,14 @@ if no item is at the specified point. wxLIST\_HITTEST\_ONITEMSTATEICON.} \end{twocollist} +If \arg{ptrSubItem} is not \NULL and the wxListCtrl is in the report +mode the subitem (or column) number will also be provided. +This feature is only available in version 2.7.0 or higher and is currently only +implemented under wxMSW and requires at least comctl32.dll of verion 4.70 on +the host system or the value stored in \arg{ptrSubItem} will be always -1. To +compile this feature into wxWidgets library you need to have access to +commctrl.h of version 4.70 that is provided by Microsoft. + \pythonnote{A tuple of values is returned in the wxPython version of this method. The first value is the item id and the second is the flags value mentioned above.} @@ -646,38 +684,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} @@ -691,6 +752,7 @@ the given {\it column} for the specified {\tt item}. \helpref{SetItemCount}{wxlistctrlsetitemcount},\\ \helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\ +\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\ \helpref{OnGetItemAttr}{wxlistctrlongetitemattr} @@ -885,7 +947,8 @@ Sets the item's font. \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}} @@ -894,6 +957,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}} @@ -985,6 +1056,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.}