wxCONTROL_DISABLED = 0x00000001, // control is disabled
wxCONTROL_FOCUSED = 0x00000002, // currently has keyboard focus
wxCONTROL_PRESSED = 0x00000004, // (button) is pressed
- wxCONTROL_ISDEFAULT = 0x00000008, // only applies to the buttons
- wxCONTROL_ISSUBMENU = wxCONTROL_ISDEFAULT, // only for menu items
- wxCONTROL_EXPANDED = wxCONTROL_ISDEFAULT, // only for the tree items
+ wxCONTROL_SPECIAL = 0x00000008, // control-specific bit:
+ wxCONTROL_ISDEFAULT = wxCONTROL_SPECIAL, // only for the buttons
+ wxCONTROL_ISSUBMENU = wxCONTROL_SPECIAL, // only for the menu items
+ wxCONTROL_EXPANDED = wxCONTROL_SPECIAL, // only for the tree items
+ wxCONTROL_SIZEGRIP = wxCONTROL_SPECIAL, // only for the status bar panes
wxCONTROL_CURRENT = 0x00000010, // mouse is currently over the control
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
- wxCONTROL_UPICON = 0x00000100, // header button has an up arrow icon
- wxCONTROL_DOWNICON = 0x00000200, // header button has a down arrow icon
- wxCONTROL_FLAGS_MASK = 0x000002ff,
+ wxCONTROL_FLAGS_MASK = 0x000000ff,
// this is a pseudo flag not used directly by wxRenderer but rather by some
// controls internally
int m_labelAlignment;
};
+enum wxHeaderSortIconType {
+ wxHDR_SORT_ICON_NONE, // Header button has no sort arrow
+ wxHDR_SORT_ICON_UP, // Header button an an up sort arrow icon
+ wxHDR_SORT_ICON_DOWN // Header button an a down sort arrow icon
+};
DocStr(wxRendererVersion,
DocDeclStr(
- virtual void , DrawHeaderButton(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0,
- wxHeaderButtonParams* params=NULL),
- "Draw the header control button (such as what is used by `wx.ListCtrl`
-in report mode.)", "");
+ virtual int , DrawHeaderButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0,
+ wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
+ wxHeaderButtonParams* params=NULL),
+ "Draw a header control button (such as what is used by `wx.ListCtrl` in report
+mode.) The optimal size of the label (text and icons) is returned.", "");
DocDeclStr(
- virtual void , DrawHeaderButtonContents(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0,
- wxHeaderButtonParams* params=NULL),
+ virtual int , DrawHeaderButtonContents(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0,
+ wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
+ wxHeaderButtonParams* params=NULL),
"Draw the contents of a header control button, (label, sort
arrows, etc.) Normally this is only called by `DrawHeaderButton`.", "");