// Aqua arrows
// ----------------------------------------------------------------------------
- /* XPM */
- static char *aqua_arrow_right[] = {
- /* columns rows colors chars-per-pixel */
- "13 11 4 1",
- " c None",
- "b c #C0C0C0",
- "c c #707070",
- "d c #A0A0A0",
- /* pixels */
- " b ",
- " ddb ",
- " cccdb ",
- " cccccd ",
- " ccccccdb ",
- " ccccccccd",
- " ccccccdb ",
- " cccccb ",
- " cccdb ",
- " ddb ",
- " b "
- };
-
- /* XPM */
- static char *aqua_arrow_down[] = {
- /* columns rows colors chars-per-pixel */
- "13 11 4 1",
- " c None",
- "b c #C0C0C0",
- "c c #707070",
- "d c #A0A0A0",
- /* pixels */
- " ",
- " ",
- " bdcccccccdb ",
- " dcccccccd ",
- " bcccccccb ",
- " dcccccd ",
- " bcccccb ",
- " bcccd ",
- " dcd ",
- " bcb ",
- " d "
- };
+/* XPM */
+static const char *aqua_arrow_right[] = {
+/* columns rows colors chars-per-pixel */
+"13 11 4 1",
+" c None",
+"b c #C0C0C0",
+"c c #707070",
+"d c #A0A0A0",
+/* pixels */
+" b ",
+" ddb ",
+" cccdb ",
+" cccccd ",
+" ccccccdb ",
+" ccccccccd",
+" ccccccdb ",
+" cccccb ",
+" cccdb ",
+" ddb ",
+" b "
+};
+
+/* XPM */
+static const char *aqua_arrow_down[] = {
+/* columns rows colors chars-per-pixel */
+"13 11 4 1",
+" c None",
+"b c #C0C0C0",
+"c c #707070",
+"d c #A0A0A0",
+/* pixels */
+" ",
+" ",
+" bdcccccccdb ",
+" dcccccccd ",
+" bcccccccb ",
+" dcccccd ",
+" bcccccb ",
+" bcccd ",
+" dcd ",
+" bcb ",
+" d "
+};
// -----------------------------------------------------------------------------
// private classes
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
-
+
m_finished = TRUE;
m_owner->SetFocus(); // This doesn't work. TODO.
(*m_accept) = TRUE;
(*m_res) = GetValue();
-
+
if ((*m_res) != m_startValue)
m_owner->OnRenameAccept();
}
m_hilightBrush = new wxBrush
(
- wxSystemSettings::GetSystemColour
+ wxSystemSettings::GetColour
(
wxSYS_COLOUR_HIGHLIGHT
),
m_hilightUnfocusedBrush = new wxBrush
(
- wxSystemSettings::GetSystemColour
+ wxSystemSettings::GetColour
(
wxSYS_COLOUR_BTNSHADOW
),
m_renameTimer = new wxTreeRenameTimer( this );
m_lastOnSame = FALSE;
- m_normalFont = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT );
+ m_normalFont = wxSystemSettings::GetFont( wxSYS_DEFAULT_GUI_FONT );
m_boldFont = wxFont( m_normalFont.GetPointSize(),
m_normalFont.GetFamily(),
m_normalFont.GetStyle(),
#ifdef __WXMAC__
int major,minor;
wxGetOsVersion( &major, &minor );
-
+
if (style & wxTR_HAS_BUTTONS) style |= wxTR_MAC_BUTTONS;
if (style & wxTR_HAS_BUTTONS) style &= ~wxTR_HAS_BUTTONS;
style &= ~wxTR_LINES_AT_ROOT;
wxScrolledWindow::Create( parent, id, pos, size,
style|wxHSCROLL|wxVSCROLL, name );
- // If the tree display has no buttons, but does have
- // connecting lines, we can use a narrower layout.
- // It may not be a good idea to force this...
+ // If the tree display has no buttons, but does have
+ // connecting lines, we can use a narrower layout.
+ // It may not be a good idea to force this...
if (!HasButtons() && !HasFlag(wxTR_NO_LINES))
{
m_indent= 10;
SetValidator( validator );
#endif
- SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_LISTBOX ) );
+ SetForegroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) );
+ SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX) );
// m_dottedPen = wxPen( "grey", 0, wxDOT ); too slow under XFree86
m_dottedPen = wxPen( wxT("grey"), 0, 0 );
{
delete m_hilightBrush;
delete m_hilightUnfocusedBrush;
-
+
if (m_arrowRight) delete m_arrowRight;
if (m_arrowDown) delete m_arrowDown;
void wxGenericTreeCtrl::SetIndent(unsigned int indent)
{
- m_indent = indent;
+ m_indent = (unsigned short) indent;
m_dirty = TRUE;
}
void wxGenericTreeCtrl::SetSpacing(unsigned int spacing)
{
- m_spacing = spacing;
+ m_spacing = (unsigned short) spacing;
m_dirty = TRUE;
}
m_anchor = new wxGenericTreeItem((wxGenericTreeItem *)NULL, text,
image, selImage, data);
+ if ( data != NULL )
+ {
+ data->m_pItem = (long) m_anchor;
+ }
+
if (HasFlag(wxTR_HIDE_ROOT))
{
// if root is hidden, make sure we can navigate
m_anchor->SetHasPlus();
Expand(m_anchor);
}
- if ( data != NULL )
- {
- data->m_pItem = (long) m_anchor;
- }
if (!HasFlag(wxTR_MULTIPLE))
{
wxColour colText;
if ( item->IsSelected() )
{
- colText = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
+ colText = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
}
else
{
if (attr && attr->HasTextColour())
colText = attr->GetTextColour();
else
- colText = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT);
+ colText = GetForegroundColour();
}
// prepare to draw
else if (HasFlag(wxTR_TWIST_BUTTONS))
{
// draw the twisty button here
-
+
if (HasFlag(wxTR_AQUA_BUTTONS))
{
if (item->IsExpanded())
wxCoord text_w = 0;
wxCoord text_h = 0;
- if (item->IsBold())
+ wxTreeItemAttr *attr = item->GetAttributes();
+ if ( attr && attr->HasFont() )
+ dc.SetFont(attr->GetFont());
+ else if ( item->IsBold() )
dc.SetFont(m_boldFont);
dc.GetTextExtent( item->GetText(), &text_w, &text_h );
wxClientDC dc(this);
PrepareDC(dc);
- int cw = 0;
- int ch = 0;
- GetClientSize( &cw, &ch );
+ wxRect client = GetClientRect();
wxRect rect;
- rect.x = dc.LogicalToDeviceX( 0 );
- rect.width = cw;
- rect.y = dc.LogicalToDeviceY( item->GetY() );
- rect.height = ch;
+ rect.x = dc.LogicalToDeviceX(-client.x);
+ rect.width = client.width;
+ rect.y = dc.LogicalToDeviceY(-client.y + item->GetY());
+ rect.height = client.height;
- Refresh( TRUE, &rect );
+ Refresh(TRUE, &rect);
AdjustMyScrollbars();
}
if (m_dirty) return;
wxClientDC dc(this);
- PrepareDC( dc );
+ PrepareDC(dc);
- int cw = 0;
- int ch = 0;
- GetClientSize( &cw, &ch );
+ wxRect client = GetClientRect();
wxRect rect;
- rect.x = dc.LogicalToDeviceX( 0 );
- rect.y = dc.LogicalToDeviceY( item->GetY() );
- rect.width = cw;
+ rect.x = dc.LogicalToDeviceX(-client.x);
+ rect.y = dc.LogicalToDeviceY(-client.y + item->GetY());
+ rect.width = client.width;
rect.height = GetLineHeight(item); //dc.GetCharHeight() + 6;
- Refresh( TRUE, &rect );
+ Refresh(TRUE, &rect);
}
void wxGenericTreeCtrl::RefreshSelected()