]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/headerctrl.h
make wxRearrangeDialog more customizable and add an example of customizing it to...
[wxWidgets.git] / interface / wx / headerctrl.h
index 02eed62ee4da9ea26fe7718c38bbee3a6ea246da..c718467c170ca5fda1f3f7c773de705809d69a68 100644 (file)
@@ -327,6 +327,35 @@ public:
      */
     int ShowColumnsMenu(const wxPoint& pt, const wxString& title = wxString());
 
      */
     int ShowColumnsMenu(const wxPoint& pt, const wxString& title = wxString());
 
+    /**
+        Helper function appending the checkable items corresponding to all the
+        columns to the given menu.
+
+        This function is used by ShowColumnsMenu() but can also be used if you
+        show your own custom columns menu and still want all the columns shown
+        in it. It appends menu items with column labels as their text and
+        consecutive ids starting from @a idColumnsBase to the menu and checks
+        the items corresponding to the currently visible columns.
+
+        Example of use:
+        @code
+            wxMenu menu;
+            menu.Append(100, "Some custom command");
+            menu.AppendSeparator();
+            AddColumnsItems(menu, 200);
+            const int rc = GetPopupMenuSelectionFromUser(menu, pt);
+            if ( rc >= 200 )
+                ... toggle visibility of the column rc-200 ...
+        @endcode
+
+        @param menu
+            The menu to append the items to. It may be currently empty or not.
+        @param idColumnsBase
+            The id for the menu item corresponding to the first column, the
+            other ones are consecutive starting from it. It should be positive.
+     */
+    void AddColumnsItems(wxMenu& menu, int idColumnsBase = 0);
+
     /**
         Show the column customization dialog.
 
     /**
         Show the column customization dialog.