X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/482d06f8b5917f9ba0bf1b5623a70262220aed52..d55906de77d5e0a62729bbe6bd30d958f4c70099:/interface/wx/headerctrl.h?ds=sidebyside diff --git a/interface/wx/headerctrl.h b/interface/wx/headerctrl.h index 02eed62ee4..73142a1959 100644 --- a/interface/wx/headerctrl.h +++ b/interface/wx/headerctrl.h @@ -66,7 +66,7 @@ @c wxHD_ALLOW_REORDER. @endStyleTable - @beginEventTable{wxHeaderCtrlEvent} + @beginEventEmissionTable{wxHeaderCtrlEvent} @event{EVT_HEADER_CLICK(id, func)} A column heading was clicked. @event{EVT_HEADER_RIGHT_CLICK(id, func)} @@ -126,7 +126,7 @@ @see wxGrid, wxListCtrl, wxDataViewCtrl */ -class wxHeaderCtrl +class wxHeaderCtrl : public wxControl { public: /** @@ -325,7 +325,36 @@ public: @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()); + bool 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. @@ -525,14 +554,14 @@ public: @see AppendColumn() */ - void InsertColumn(const wxHeaderColumn& col, unsigned int idx); + void InsertColumn(const wxHeaderColumnSimple& col, unsigned int idx); /** Append the column to the end of the control. @see InsertColumn() */ - void AppendColumn(const wxHeaderColumn& col); + void AppendColumn(const wxHeaderColumnSimple& col); /** Delete the column at the given position. @@ -578,22 +607,20 @@ public: @param idx The column to set the sort indicator for. + If @c -1 is given, then the currently shown sort indicator + will be removed. @param sortOrder If @true or @false show the sort indicator corresponding to - ascending or descending sort order respectively, if @c -1 remove - the currently shown sort indicator. + ascending or descending sort order respectively. */ - virtual void ShowSortIndicator(unsigned int idx, int sortOrder); + void ShowSortIndicator(unsigned int idx, bool sortOrder = true); /** - Remove the sort indicator from the given column. - - This is the same as calling ShowSortIndicator() with @c -1 argument. + Remove the sort indicator from the column being used as sort key. - @param idx - The column to remove sort indicator for. + @see ShowSortIndicator */ - void RemoveSortIndicator(unsigned int idx); + void RemoveSortIndicator(); protected: /** @@ -618,7 +645,7 @@ protected: Event class representing the events generated by wxHeaderCtrl. @library{wxcore} - @category{ctrl} + @category{events} @see wxHeaderCtrl */