+ /**
+ Show the popup menu allowing the user to show or hide the columns.
+
+ This functions shows the popup menu containing all columns with check
+ marks for the ones which are currently shown and allows the user to
+ check or uncheck them to toggle their visibility. It is called from the
+ default EVT_HEADER_RIGHT_CLICK handler for the controls which have
+ wxHD_ALLOW_HIDE style. And if the column has wxHD_ALLOW_REORDER style
+ as well, the menu also contains an item to customize the columns shown
+ using which results in ShowCustomizeDialog() being called, please see
+ its description for more details.
+
+ If a column was toggled, UpdateColumnVisibility() virtual function is
+ called so it must be implemented for the controls with wxHD_ALLOW_HIDE
+ style or if you call this function explicitly.
+
+ @param pt
+ The position of the menu, in the header window coordinates.
+ @param title
+ The title for the menu if not empty.
+ @return
+ @true if a column was shown or hidden or @false if nothing was
+ done, e.g. because the menu was cancelled.
+ */
+ int ShowColumnsMenu(const wxPoint& pt, const wxString& title = wxString());
+
+ /**
+ Show the column customization dialog.
+
+ This function displays a modal dialog containing the list of all
+ columns which the user can use to reorder them as well as show or hide
+ individual columns.
+
+ If the user accepts the changes done in the dialog, the virtual
+ methods UpdateColumnVisibility() and UpdateColumnsOrder() will be
+ called so they must be overridden in the derived class if this method
+ is ever called. Please notice that the user will be able to invoke it
+ interactively from the header popup menu if the control has both
+ wxHD_ALLOW_HIDE and wxHD_ALLOW_REORDER styles.
+
+ @see wxRearrangeDialog
+ */
+ bool ShowCustomizeDialog();
+