X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7012bb9f03e0012c32485655b7af4345b490bf4d..30e24d9dd5a5abf1c9a375ea259eb239b122b7f7:/wxPython/src/_renderer.i?ds=sidebyside diff --git a/wxPython/src/_renderer.i b/wxPython/src/_renderer.i index 7c0754a968..c7f100b84f 100644 --- a/wxPython/src/_renderer.i +++ b/wxPython/src/_renderer.i @@ -26,9 +26,11 @@ enum 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 @@ -73,6 +75,34 @@ struct wxSplitterRenderParams +DocStr(wxHeaderButtonParams, +"Extra (optional) parameters for `wx.RendererNative.DrawHeaderButton`", ""); + +struct wxHeaderButtonParams +{ + wxHeaderButtonParams(); + ~wxHeaderButtonParams(); + + // So wxColour_helper will be used when assigning to the colour items in the struct + %typemap(in) wxColour* (wxColour temp) { + $1 = &temp; + if ( ! wxColour_helper($input, &$1)) SWIG_fail; + } + wxColour m_arrowColour; + wxColour m_selectionColour; + wxString m_labelText; + wxFont m_labelFont; + wxColour m_labelColour; + wxBitmap m_labelBitmap; + 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, "This simple struct represents the `wx.RendererNative` interface @@ -102,11 +132,12 @@ struct wxRendererVersion DocStr(wxRendererNative, -"One of the design principles of wxWidgets is to use the native widgets -on every platform in order to be as close to the native look and feel -on every platform. However there are still cases when some generic -widgets are needed for various reasons, but it can sometimes take a -lot of messy work to make them conform to the native LnF. +"One of the design principles of wxWidgets is to use the native +widgets on every platform in order to be as close as possible to +the native look and feel on every platform. However there are +still cases when some generic widgets are needed for various +reasons, but it can sometimes take a lot of messy work to make +them conform to the native LnF. The wx.RendererNative class is a collection of functions that have platform-specific implementations for drawing certain parts of @@ -125,15 +156,32 @@ public: DocDeclStr( - virtual void , DrawHeaderButton(wxWindow *win, - wxDC& dc, - const wxRect& rect, - int flags = 0), - "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 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`.", ""); + + DocDeclStr( + virtual int , GetHeaderButtonHeight(wxWindow *win), + "Returns the default height of a header button, either a fixed platform +height if available, or a generic height based on the window's font.", ""); + + DocDeclStr( virtual void , DrawTreeItemButton(wxWindow *win, wxDC& dc,