X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/de150f6af99a77c15546cba1d323ae916a5c11de..51623cc53f350935337e57930eaaf1afe9a48c3b:/include/wx/headercol.h diff --git a/include/wx/headercol.h b/include/wx/headercol.h index a84c175858..58736edb02 100644 --- a/include/wx/headercol.h +++ b/include/wx/headercol.h @@ -13,6 +13,8 @@ #include "wx/bitmap.h" +#if wxUSE_HEADERCTRL + // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -20,7 +22,10 @@ enum { // special value for column width meaning unspecified/default - wxCOL_WIDTH_DEFAULT = -1 + wxCOL_WIDTH_DEFAULT = -1, + + // size the column automatically to fit all values + wxCOL_WIDTH_AUTOSIZE = -2 }; // bit masks for the various column attributes @@ -92,7 +97,7 @@ public: // unspecified/default virtual int GetWidth() const = 0; - // minimal width can be set for resizeable columns to forbid resizing them + // minimal width can be set for resizable columns to forbid resizing them // below the specified size (set to 0 to remove) virtual int GetMinWidth() const = 0; @@ -172,8 +177,8 @@ public: void ClearFlag(int flag); void ToggleFlag(int flag); - virtual void SetResizeable(bool resizeable) - { ChangeFlag(wxCOL_RESIZABLE, resizeable); } + virtual void SetResizeable(bool resizable) + { ChangeFlag(wxCOL_RESIZABLE, resizable); } virtual void SetSortable(bool sortable) { ChangeFlag(wxCOL_SORTABLE, sortable); } virtual void SetReorderable(bool reorderable) @@ -181,8 +186,12 @@ public: virtual void SetHidden(bool hidden) { ChangeFlag(wxCOL_HIDDEN, hidden); } - virtual void SetAsSortKey(bool sort = true) = 0; - void UnsetAsSortKey() { SetAsSortKey(false); } + // This function can be called to indicate that this column is not used for + // sorting any more. Under some platforms it's not necessary to do anything + // in this case as just setting another column as a sort key takes care of + // everything but under MSW we currently need to call this explicitly to + // reset the sort indicator displayed on the column. + virtual void UnsetAsSortKey() { } virtual void SetSortOrder(bool ascending) = 0; void ToggleSortOrder() { SetSortOrder(!IsSortOrderAscending()); } @@ -244,10 +253,15 @@ public: virtual void SetFlags(int flags) { m_flags = flags; } virtual int GetFlags() const { return m_flags; } - virtual void SetAsSortKey(bool sort = true) { m_sort = sort; } virtual bool IsSortKey() const { return m_sort; } + virtual void UnsetAsSortKey() { m_sort = false; } + + virtual void SetSortOrder(bool ascending) + { + m_sort = true; + m_sortAscending = ascending; + } - virtual void SetSortOrder(bool ascending) { m_sortAscending = ascending; } virtual bool IsSortOrderAscending() const { return m_sortAscending; } private: @@ -268,5 +282,8 @@ private: bool m_sort, m_sortAscending; }; + +#endif // wxUSE_HEADERCTRL + #endif // _WX_HEADERCOL_H_