]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed background colour handling in wxTreeCtrl
authorVáclav Slavík <vslavik@fastmail.fm>
Wed, 16 Feb 2000 23:23:19 +0000 (23:23 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Wed, 16 Feb 2000 23:23:19 +0000 (23:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/treectrl.h
src/generic/treectrl.cpp

index dc9b2e8ca01f1732a0597d90da900f36a298079c..8b9b85dff821e561a769a985b2008e490727741b 100644 (file)
@@ -440,7 +440,6 @@ protected:
     int                  m_lineHeight;
     wxPen                m_dottedPen;
     wxBrush             *m_hilightBrush;
-    wxBrush             *m_normalBrush;
     wxImageList         *m_imageListNormal,
                         *m_imageListState;
     int                  m_dragCount;
index 64b87f0b13cfcd041e6447d685598a31ecae6add..7bdbfe798da1ca357f94d263295edab4cb869f97 100644 (file)
@@ -558,11 +558,6 @@ void wxTreeCtrl::Init()
       wxSystemSettings::GetSystemColour(wxSYS_COLOUR_HIGHLIGHT),
       wxSOLID
     );
-    m_normalBrush = new wxBrush
-    (
-      wxSystemSettings::GetSystemColour(wxSYS_COLOUR_LISTBOX),
-      wxSOLID
-    );
 
     m_imageListNormal =
     m_imageListState = (wxImageList *) NULL;
@@ -603,7 +598,6 @@ bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id,
 wxTreeCtrl::~wxTreeCtrl()
 {
     wxDELETE( m_hilightBrush );
-    wxDELETE( m_normalBrush );
 
     DeleteAllItems();
 
@@ -1537,12 +1531,17 @@ void wxTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
 
     int total_h = GetLineHeight(item);
 
-    wxColour colBg;
-    if ( attr && attr->HasBackgroundColour() )
-        colBg = attr->GetBackgroundColour();
+    if (item->IsSelected())
+        dc.SetBrush(*m_hilightBrush);
     else
-        colBg = m_backgroundColour;
-    dc.SetBrush(wxBrush(colBg, wxSOLID));
+    {
+        wxColour colBg;
+        if ( attr && attr->HasBackgroundColour() )
+            colBg = attr->GetBackgroundColour();
+        else
+            colBg = m_backgroundColour;
+        dc.SetBrush(wxBrush(colBg, wxSOLID));
+    }
 
     dc.DrawRectangle( item->GetX()-2, item->GetY(), item->GetWidth()+2, total_h );
 
@@ -1606,15 +1605,12 @@ void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &
         }
 
         wxPen *pen = wxTRANSPARENT_PEN;
-        wxBrush *brush;                 // FIXME is this really needed?
         wxColour colText;
 
         if ( item->IsSelected() )
         {
             colText = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_HIGHLIGHTTEXT );
 
-            brush = m_hilightBrush;
-
             if ( m_hasFocus )
                pen = wxBLACK_PEN;
 
@@ -1626,14 +1622,11 @@ void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &
                 colText = attr->GetTextColour();
             else
                 colText = *wxBLACK;
-
-            brush = m_normalBrush;
         }
 
         // prepare to draw
         dc.SetTextForeground(colText);
         dc.SetPen(*pen);
-        dc.SetBrush(*brush);
 
         // draw
         PaintItem(item, dc);