]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/listctrl.h
Make the CreateTool factories be public so they can be used from application code
[wxWidgets.git] / interface / wx / listctrl.h
index c6252bca22740c11af1d8c543138d907cad78d5c..6a7a539801d63c4123db9e74ba64f7aafe935a3f 100644 (file)
@@ -197,6 +197,19 @@ public:
     */
     virtual ~wxListCtrl();
 
+    /**
+        Adds a new column to the list control in report view mode.
+
+        This is just a convenient wrapper for InsertColumn() which adds the new
+        column after all the existing ones without having to specify its
+        position explicitly.
+
+        @since 2.9.4
+     */
+    long AppendColumn(const wxString& heading,
+                      int format = wxLIST_FORMAT_LEFT,
+                      int width = -1);
+
     /**
         Arranges the items in icon or small icon view.
         This only has effect on Win32. @a flag is one of:
@@ -575,7 +588,7 @@ public:
         coordinates, of the given subitem, i.e. the part of the row @a item in the
         column @a subItem.
 
-        This method is only meaningfull when the wxListCtrl is in the report mode.
+        This method is only meaningful when the wxListCtrl is in the report mode.
         If @a subItem parameter is equal to the special value
         @c wxLIST_GETSUBITEMRECT_WHOLEITEM the return value is the same as
         for GetItemRect().
@@ -643,16 +656,53 @@ public:
     long HitTest(const wxPoint& point, int& flags, long* ptrSubItem = NULL) const;
 
     /**
-        For report view mode (only), inserts a column. For more details, see SetItem().
+        Returns true if the control is currently using ::wxLC_REPORT style.
+     */
+    bool InReportView() const;
+
+    /**
+        For report view mode (only), inserts a column.
+
+        For more details, see SetItem(). Also see InsertColumn(long, const
+        wxString&, int, int) overload for a usually more convenient
+        alternative to this method and the description of how the item width
+        is interpreted by this method.
     */
-    long InsertColumn(long col, wxListItem& info);
+    long InsertColumn(long col, const wxListItem& info);
 
     /**
-        For report view mode (only), inserts a column. For more details, see SetItem().
+        For report view mode (only), inserts a column.
+
+        Insert a new column in the list control in report view mode at the
+        given position specifying its most common attributes.
+
+        Notice that to set the image for the column you need to use
+        Insert(long, const wxListItem&) overload and specify ::wxLIST_MASK_IMAGE
+        in the item mask.
+
+        @param col
+            The index where the column should be inserted. Valid indices are
+            from 0 up to GetColumnCount() inclusive and the latter can be used
+            to append the new column after the last existing one.
+        @param heading
+            The string specifying the column heading.
+        @param format
+            The flags specifying the control heading text alignment.
+        @param width
+            If positive, the width of the column in pixels. Otherwise it can be
+            @c wxLIST_AUTOSIZE to choose the default size for the column or @c
+            wxLIST_AUTOSIZE_USEHEADER to fit the column width to @a heading or
+            to extend to fill all the remaining space for the last column.
+            Notice that in case of @c wxLIST_AUTOSIZE fixed width is used as
+            there are no items in this column to use for determining its best
+            size yet. If you want to fit the column to its contents, use
+            SetColumnWidth() after adding the items with values in this column.
+        @return
+            The index of the inserted column or -1 if adding it failed.
     */
     long InsertColumn(long col, const wxString& heading,
                       int format = wxLIST_FORMAT_LEFT,
-                      int width = -1);
+                      int width = wxLIST_AUTOSIZE);
 
     /**
         Inserts an item, returning the index of the new item if successful, -1 otherwise.
@@ -707,6 +757,11 @@ public:
     long InsertItem(long index, const wxString& label,
                     int imageIndex);
 
+    /**
+        Returns true if the control is currently in virtual report view.
+     */
+    bool IsVirtual() const;
+
     /**
         Redraws the given @e item.
 
@@ -813,7 +868,7 @@ public:
 
         @see GetColumnsOrder()
     */
-    bool SetColumnsOrder(const wxArrayInt& orders) const;
+    bool SetColumnsOrder(const wxArrayInt& orders);
 
     /**
         Sets the image list associated with the control.
@@ -953,7 +1008,7 @@ public:
         using the specified @a fnSortCallBack function. This function must have the
         following prototype:
         @code
-        int wxCALLBACK wxListCompareFunction(long item1, long item2, wxIntPtr sortData)
+        int wxCALLBACK wxListCompareFunction(wxIntPtr item1, wxIntPtr item2, wxIntPtr sortData)
         @endcode
 
         It is called each time when the two items must be compared and should return 0
@@ -1085,7 +1140,7 @@ protected:
     @event{EVT_LIST_ITEM_RIGHT_CLICK(id, func)}
         The right mouse button has been clicked on an item.
     @event{EVT_LIST_KEY_DOWN(id, func)}
-        A key has been pressed.
+        A key has been pressed. GetIndex() may be -1 if no item is selected. 
     @event{EVT_LIST_INSERT_ITEM(id, func)}
         An item has been inserted.
     @event{EVT_LIST_COL_CLICK(id, func)}