From: Václav Slavík Date: Sat, 30 Oct 2010 15:57:32 +0000 (+0000) Subject: Add wxRenderer::GetHeaderButtonMargin(). X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/9aebcb5e447082b858c4a70f7ff33a27fdba9ada Add wxRenderer::GetHeaderButtonMargin(). Used for best size calculations of column width. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/renderer.h b/include/wx/renderer.h index c1b744ce61..6a0116d75a 100644 --- a/include/wx/renderer.h +++ b/include/wx/renderer.h @@ -200,6 +200,9 @@ public: // height if available, or a generic height based on the window's font. virtual int GetHeaderButtonHeight(wxWindow *win) = 0; + // Returns the margin on left and right sides of header button's label + virtual int GetHeaderButtonMargin(wxWindow *win) = 0; + // draw the expanded/collapsed icon for a tree control item virtual void DrawTreeItemButton(wxWindow *win, @@ -401,6 +404,9 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win) { return m_rendererNative.GetHeaderButtonHeight(win); } + virtual int GetHeaderButtonMargin(wxWindow *win) + { return m_rendererNative.GetHeaderButtonMargin(win); } + virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect, diff --git a/interface/wx/renderer.h b/interface/wx/renderer.h index 96899058bf..d7c28320a2 100644 --- a/interface/wx/renderer.h +++ b/interface/wx/renderer.h @@ -204,6 +204,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect, int flags = 0); @@ -494,6 +496,14 @@ public: */ virtual int GetHeaderButtonHeight(wxWindow* win) = 0; + /** + Returns the horizontal margin on the left and right sides of header + button's label. + + @since 2.9.2 + */ + virtual int GetHeaderButtonMargin(wxWindow *win) = 0; + /** Get the splitter parameters, see wxSplitterRenderParams. The @a win parameter should be a wxSplitterWindow. diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index 98a217f0f7..6c0ce55de4 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -67,6 +67,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect, @@ -445,6 +447,11 @@ int wxRendererGeneric::GetHeaderButtonHeight(wxWindow *win) return h + d + 2 * HEADER_OFFSET_Y + EXTRA_HEIGHT; } +int wxRendererGeneric::GetHeaderButtonMargin(wxWindow *WXUNUSED(win)) +{ + return 5; +} + // draw the plus or minus sign void diff --git a/src/gtk/renderer.cpp b/src/gtk/renderer.cpp index c905ae8fc0..70315318dd 100644 --- a/src/gtk/renderer.cpp +++ b/src/gtk/renderer.cpp @@ -56,6 +56,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + // draw the expanded/collapsed icon for a tree control item virtual void DrawTreeItemButton(wxWindow *win, @@ -226,6 +228,12 @@ int wxRendererGTK::GetHeaderButtonHeight(wxWindow *WXUNUSED(win)) return req.height; } +int wxRendererGTK::GetHeaderButtonMargin(wxWindow *WXUNUSED(win)) +{ + wxFAIL_MSG( "GetHeaderButtonMargin() not implemented" ); + return -1; +} + // draw a ">" or "v" button void diff --git a/src/msw/renderer.cpp b/src/msw/renderer.cpp index 4c748fd526..9d1e4d79e4 100644 --- a/src/msw/renderer.cpp +++ b/src/msw/renderer.cpp @@ -197,6 +197,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + private: // wrapper of DrawFrameControl() void DoDrawFrameControl(UINT type, @@ -517,6 +519,11 @@ int wxRendererMSW::GetHeaderButtonHeight(wxWindow * WXUNUSED(win)) return Header_Layout(hwndHeader, &hdl) ? wp.cy : DEFAULT_HEIGHT; } +int wxRendererMSW::GetHeaderButtonMargin(wxWindow *WXUNUSED(win)) +{ + return 10; +} + // Uses the theme to draw the border and fill for something like a wxTextCtrl void wxRendererMSW::DrawTextCtrl(wxWindow* win, wxDC& dc, const wxRect& rect, int flags) { diff --git a/src/osx/carbon/renderer.cpp b/src/osx/carbon/renderer.cpp index 2481dd2242..9fc1a415bf 100644 --- a/src/osx/carbon/renderer.cpp +++ b/src/osx/carbon/renderer.cpp @@ -62,6 +62,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + // draw the expanded/collapsed icon for a tree control item virtual void DrawTreeItemButton( wxWindow *win, wxDC& dc, @@ -225,6 +227,12 @@ int wxRendererMac::GetHeaderButtonHeight(wxWindow* WXUNUSED(win)) return -1; } +int wxRendererMac::GetHeaderButtonMargin(wxWindow *WXUNUSED(win)) +{ + wxFAIL_MSG( "GetHeaderButtonMargin() not implemented" ); + return -1; +} + void wxRendererMac::DrawTreeItemButton( wxWindow *win, wxDC& dc, const wxRect& rect,