]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/listctrl.tex
Added wxWrapSizer (modified patch: [1826950] Wrapping Sizer) from Arne Steinarson
[wxWidgets.git] / docs / latex / wx / listctrl.tex
index 98942762b6728cd13fd1e1d6764d4e5b32068608..ac0fdfb739fac661a66e63f77a938844a05b1024 100644 (file)
@@ -40,8 +40,9 @@ in \helpref{wxListEvent}{wxlistevent}.
 
 {\bf Mac Note:} Starting with 2.8, wxListCtrl uses a native implementation for 
 report mode, and uses a generic implementation for other modes. You can use the
-generic implementation for report mode as well by setting the 
-mac.listctrl.always_use_generic \helpref{wxSystemOption}{wxsystemoptions} to 1.
+generic implementation for report mode as well by setting the
+mac.listctrl.always\_use\_generic \helpref{wxSystemOption}{wxsystemoptions} to
+1.
 
 \wxheading{Derived from}
 
@@ -54,6 +55,10 @@ mac.listctrl.always_use_generic \helpref{wxSystemOption}{wxsystemoptions} to 1.
 
 <wx/listctrl.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{Window styles}
 
 \twocolwidtha{7cm}
@@ -110,6 +115,22 @@ functions that take a \helpref{wxListEvent}{wxlistevent} argument.
 \twocolitem{{\bf EVT\_LIST\_CACHE\_HINT(id, func)}}{Prepare cache for a virtual list control}
 \end{twocollist}%
 
+\wxheading{Column ordering}
+
+In report view, the control has several columns which are identified by their
+internal indices. By default, these indices correspond to their order on
+screen, i.e. the column $0$ appears first (in the left-to-right or maybe
+right-to-left if the current language uses this writing direction), the column
+$1$ next and so on. However it is possible to reorder the columns visual order
+using \helpref{SetColumnsOrder}{wxlistctrlsetcolumnsorder} method and the
+user can also rearrange the columns interactively by dragging them. In this
+case, the index of the column is not the same as its order and the functions
+\helpref{GetColumnOrder}{wxlistctrlgetcolumnorder} and 
+\helpref{GetColumnIndexFromOrder}{wxlistctrlgetcolumnindexfromorder} should be
+used to translate between them.
+
+Please notice that current column reordering is implemented only in wxMSW.
+
 \wxheading{See also}
 
 \helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListView}{wxlistview}, \helpref{wxListBox}{wxlistbox},\rtfsp
@@ -255,7 +276,7 @@ Ensures this item is visible.
 
 \membersection{wxListCtrl::FindItem}\label{wxlistctrlfinditem}
 
-\func{long}{FindItem}{\param{long }{start}, \param{const wxString\& }{str}, \param{const bool }{partial = false}}
+\func{long}{FindItem}{\param{long }{start}, \param{const wxString\& }{str}, \param{bool }{partial = false}}
 
 Find an item whose label matches this string, starting from {\it start} or
 the beginning if {\it start} is -1. The string comparison is case
@@ -316,6 +337,28 @@ Returns the number of columns.
 Gets the column width (report view only).
 
 
+\membersection{wxListCtrl::GetColumnIndexFromOrder}\label{wxlistctrlgetcolumnindexfromorder}
+
+\constfunc{int}{GetColumnIndexFromOrder}{\param{int }{order}}
+
+Gets the column number by visual order index (report view only).
+
+
+\membersection{wxListCtrl::GetColumnOrder}\label{wxlistctrlgetcolumnorder}
+
+\constfunc{int}{GetColumnOrder}{\param{int }{col}}
+
+Gets the column visual order index (valid in report view only).
+
+
+\membersection{wxListCtrl::GetColumnsOrder}\label{wxlistctrlgetcolumnsorder}
+
+\constfunc{wxArrayInt}{GetColumnsOrder}{\void}
+
+Returns the array containing the orders of all columns. On error, an empty
+array is returned.
+
+
 \membersection{wxListCtrl::GetCountPerPage}\label{wxlistctrlgetcountperpage}
 
 \constfunc{int}{GetCountPerPage}{\void}
@@ -831,6 +874,17 @@ will resize the column to the length of the header (Win32) or 80 pixels (other p
 In small or normal icon view, {\it col} must be -1, and the column width is set for all columns.
 
 
+\membersection{wxListCtrl::SetColumnsOrder}\label{wxlistctrlsetcolumnsorder}
+
+\constfunc{bool}{SetColumnOrder}{\param{const wxArrayInt\& }{orders}}
+
+Sets the order of all columns at once. The \arg{orders} array must have the
+same number elements as the number of columns and contain each position exactly
+once.
+
+This function is valid in report view only.
+
+
 \membersection{wxListCtrl::SetImageList}\label{wxlistctrlsetimagelist}
 
 \func{void}{SetImageList}{\param{wxImageList*}{ imageList}, \param{int }{which}}
@@ -942,6 +996,9 @@ from $0$ to {\it count}.
 
 Associates application-defined data with this item.
 
+Notice that this function cannot be used to associate pointers with the control
+items, use \helpref{SetItemPtrData}{wxlistctrlsetitemptrdata} instead.
+
 
 \membersection{wxListCtrl::SetItemFont}\label{wxlistctrlsetitemfont}
 
@@ -967,7 +1024,7 @@ used.
 
 \membersection{wxListCtrl::SetItemColumnImage}\label{wxlistctrlsetitemcolumnimage}
 
-\func{bool}{SetItemImage}{\param{long }{item}, \param{long }{column}\param{int }{image}}
+\func{bool}{SetItemColumnImage}{\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.
@@ -980,6 +1037,18 @@ The image is an index into the image list associated with the list control.
 Sets the position of the item, in icon or small icon view. Windows only.
 
 
+\membersection{wxListCtrl::SetItemPtrData}\label{wxlistctrlsetitemptrdata}
+
+\func{bool}{SetItemPtrData}{\param{long }{item}, \param{wxUIntPtr }{data}}
+
+Associates application-defined data with this item. The \arg{data} parameter may
+be either an integer or a pointer cast to the \texttt{wxUIntPtr} type which is
+guaranteed to be large enough to be able to contain all integer types and
+pointers.
+
+\newsince{2.8.4}
+
+
 \membersection{wxListCtrl::SetItemState}\label{wxlistctrlsetitemstate}
 
 \func{bool}{SetItemState}{\param{long }{item}, \param{long }{state}, \param{long }{stateMask}}
@@ -1008,7 +1077,7 @@ The colour can be retrieved using
 
 \membersection{wxListCtrl::SetSingleStyle}\label{wxlistctrlsetsinglestyle}
 
-\func{void}{SetSingleStyle}{\param{long }{style}, \param{const bool }{add = true}}
+\func{void}{SetSingleStyle}{\param{long }{style}, \param{bool }{add = true}}
 
 Adds or removes a single window style.