// Author: Vadim Zeitlin
// Modified by:
// Created: 20.07.2003
-// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
virtual int GetHeaderButtonHeight(wxWindow *win);
+ virtual int GetHeaderButtonMargin(wxWindow *win);
+
virtual void DrawTreeItemButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
void wxRendererGeneric::Cleanup()
{
- if (sm_rendererGeneric)
- delete sm_rendererGeneric;
-
- sm_rendererGeneric = NULL;
+ wxDELETE(sm_rendererGeneric);
}
wxRendererGeneric* wxRendererGeneric::sm_rendererGeneric = NULL;
// 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);
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);
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();
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 );
// 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,
tw = dc.GetTextExtent(label).x;
}
else // enough space, we can respect alignment
+#endif // wxUSE_CONTROLS
{
switch (params->m_labelAlignment)
{
return h + d + 2 * HEADER_OFFSET_Y + EXTRA_HEIGHT;
}
+int wxRendererGeneric::GetHeaderButtonMargin(wxWindow *WXUNUSED(win))
+{
+ return 5;
+}
+
// draw the plus or minus sign
void