X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/08043a1c27d89dd18b7c3d12bc45d777ec4bb97f..6ba718d7aee2f519d9146b90424ccec9e2243479:/src/generic/renderg.cpp diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index d2a6c2e516..93354ab404 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -4,9 +4,8 @@ // Author: Vadim Zeitlin // Modified by: // Created: 20.07.2003 -// RCS-ID: $Id$ // Copyright: (c) 2003 Vadim Zeitlin -// License: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -32,6 +31,7 @@ #include "wx/settings.h" #include "wx/gdicmn.h" #include "wx/module.h" + #include "wx/control.h" #endif //WX_PRECOMP #include "wx/splitter.h" @@ -66,6 +66,8 @@ public: virtual int GetHeaderButtonHeight(wxWindow *win); + virtual int GetHeaderButtonMargin(wxWindow *win); + virtual void DrawTreeItemButton(wxWindow *win, wxDC& dc, const wxRect& rect, @@ -182,10 +184,7 @@ wxRendererNative& wxRendererNative::GetGeneric() void wxRendererGeneric::Cleanup() { - if (sm_rendererGeneric) - delete sm_rendererGeneric; - - sm_rendererGeneric = NULL; + wxDELETE(sm_rendererGeneric); } wxRendererGeneric* wxRendererGeneric::sm_rendererGeneric = NULL; @@ -281,7 +280,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, // native hot-tracking line (on XP) const int penwidth = 3; int y = rect.y + rect.height + 1 - penwidth; - wxColour c = (params && params->m_selectionColour.Ok()) ? + wxColour c = (params && params->m_selectionColour.IsOk()) ? params->m_selectionColour : wxColour(0x66, 0x66, 0x66); wxPen pen(c, penwidth); pen.SetCap(wxCAP_BUTT); @@ -322,7 +321,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, triPt[2].y = ar.height; } - wxColour c = (params && params->m_arrowColour.Ok()) ? + wxColour c = (params && params->m_arrowColour.IsOk()) ? params->m_arrowColour : wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW); wxDCPenChanger setPen(dc, c); @@ -336,7 +335,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, int bmpWidth = 0; // draw the bitmap if there is one - if ( params && params->m_labelBitmap.Ok() ) + if ( params && params->m_labelBitmap.IsOk() ) { int w = params->m_labelBitmap.GetWidth(); int h = params->m_labelBitmap.GetHeight(); @@ -379,9 +378,9 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, const int margin = 5; // number of pixels to reserve on either side of the label labelWidth += 2*margin; - wxFont font = params->m_labelFont.Ok() ? + wxFont font = params->m_labelFont.IsOk() ? params->m_labelFont : win->GetFont(); - wxColour clr = params->m_labelColour.Ok() ? + wxColour clr = params->m_labelColour.IsOk() ? params->m_labelColour : win->GetForegroundColour(); wxString label( params->m_labelText ); @@ -398,6 +397,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, // truncate and add an ellipsis (...) if the text is too wide. const int availWidth = rect.width - labelWidth; +#if wxUSE_CONTROLS if ( tw > availWidth ) { label = wxControl::Ellipsize(label, @@ -408,6 +408,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win, tw = dc.GetTextExtent(label).x; } else // enough space, we can respect alignment +#endif // wxUSE_CONTROLS { switch (params->m_labelAlignment) { @@ -447,6 +448,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