]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/treectlg.cpp
another GradientFillLinear fix
[wxWidgets.git] / src / generic / treectlg.cpp
index ac62f332b90580efdf3bcef1261d3a28705cdb5b..bfd43b7dc8b2f912b2da184c75713767b562ad67 100644 (file)
     #include "wx/mac/private.h"
 #endif
 
     #include "wx/mac/private.h"
 #endif
 
-#ifdef __WXGTK__
-    #include "wx/gtk/private.h"
-    #include "wx/gtk/win_gtk.h"
-#endif
-
 // -----------------------------------------------------------------------------
 // array types
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
 // array types
 // -----------------------------------------------------------------------------
@@ -2241,7 +2236,7 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
         x=0;
         GetVirtualSize(&w, &h);
         wxRect rect( x, item->GetY()+offset, w, total_h-offset);
         x=0;
         GetVirtualSize(&w, &h);
         wxRect rect( x, item->GetY()+offset, w, total_h-offset);
-#ifndef __WXGTK__
+#ifndef __WXGTK20__
         dc.DrawRectangle(rect);
 #else
         if (!item->IsSelected())
         dc.DrawRectangle(rect);
 #else
         if (!item->IsSelected())
@@ -2250,25 +2245,12 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
         }
         else
         {
         }
         else
         {
-            CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
-        
-            gtk_paint_flat_box( m_widget->style, 
-                                GTK_PIZZA(m_wxwindow)->bin_window,
-                                           GTK_STATE_SELECTED,
-                                GTK_SHADOW_NONE,
-                                NULL,
-                                m_wxwindow,
-                                "cell_even",
-                                rect.x, rect.y, rect.width, rect.height );
-                              
+            int flags = wxCONTROL_SELECTED;
+            if (m_hasFocus)
+                flags |= wxCONTROL_FOCUSED;
             if ((item == m_current) && (m_hasFocus))
             if ((item == m_current) && (m_hasFocus))
-                gtk_paint_focus( m_widget->style, 
-                                 GTK_PIZZA(m_wxwindow)->bin_window,
-                                 GTK_STATE_SELECTED,
-                                 NULL,
-                                 m_wxwindow,
-                                 "treeview",
-                                 rect.x, rect.y, rect.width, rect.height );
+                flags |= wxCONTROL_CURRENT;
+            wxRendererNative::Get().DrawItemSelectionRect( this, dc, rect, flags );
         }
 #endif
     }
         }
 #endif
     }
@@ -2281,31 +2263,18 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
             // background colour.
             wxRect rect( item->GetX() + image_w - 2, item->GetY()+offset,
                          item->GetWidth() - image_w + 2, total_h-offset );
             // background colour.
             wxRect rect( item->GetX() + image_w - 2, item->GetY()+offset,
                          item->GetWidth() - image_w + 2, total_h-offset );
-#ifndef __WXGTK__
+#ifndef __WXGTK20__
             dc.DrawRectangle( rect );
 #else
             dc.DrawRectangle( rect );
 #else
-            CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
             rect.x -= 1;
             rect.width += 2;
         
             rect.x -= 1;
             rect.width += 2;
         
-            gtk_paint_flat_box( m_widget->style, 
-                                GTK_PIZZA(m_wxwindow)->bin_window,
-                                           GTK_STATE_SELECTED,
-                                GTK_SHADOW_NONE,
-                                NULL,
-                                m_wxwindow,
-                                "cell_even",
-                                rect.x, rect.y, rect.width, rect.height );
-
+            int flags = wxCONTROL_SELECTED;
+            if (m_hasFocus)
+                flags |= wxCONTROL_FOCUSED;
             if ((item == m_current) && (m_hasFocus))
             if ((item == m_current) && (m_hasFocus))
-                gtk_paint_focus( m_widget->style, 
-                                 GTK_PIZZA(m_wxwindow)->bin_window,
-                                 GTK_STATE_SELECTED,
-                                 NULL,
-                                 m_wxwindow,
-                                 "treeview",
-                                 rect.x, rect.y, rect.width, rect.height );
-                         
+                flags |= wxCONTROL_CURRENT;
+            wxRendererNative::Get().DrawItemSelectionRect( this, dc, rect, flags );
 #endif
         }
         // On GTK+ 2, drawing a 'normal' background is wrong for themes that
 #endif
         }
         // On GTK+ 2, drawing a 'normal' background is wrong for themes that
@@ -2315,7 +2284,7 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
         {
             wxRect rect( item->GetX()-2, item->GetY()+offset,
                          item->GetWidth()+2, total_h-offset );
         {
             wxRect rect( item->GetX()-2, item->GetY()+offset,
                          item->GetWidth()+2, total_h-offset );
-#ifndef __WXGTK__
+#ifndef __WXGTK20__
             dc.DrawRectangle( rect );
 #else
             if ( attr && attr->HasBackgroundColour() )
             dc.DrawRectangle( rect );
 #else
             if ( attr && attr->HasBackgroundColour() )
@@ -2324,27 +2293,15 @@ void wxGenericTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
             }
             else
             {
             }
             else
             {
-                CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
                 rect.x -= 1;
                 rect.width += 2;
                 rect.x -= 1;
                 rect.width += 2;
-        
-                gtk_paint_flat_box( m_widget->style, 
-                                GTK_PIZZA(m_wxwindow)->bin_window,
-                                           GTK_STATE_SELECTED,
-                                GTK_SHADOW_NONE,
-                                NULL,
-                                m_wxwindow,
-                                "cell_even",
-                                rect.x, rect.y, rect.width, rect.height );
-                              
+                
+                int flags = wxCONTROL_SELECTED;
+                if (m_hasFocus)
+                    flags |= wxCONTROL_FOCUSED;
                 if ((item == m_current) && (m_hasFocus))
                 if ((item == m_current) && (m_hasFocus))
-                    gtk_paint_focus( m_widget->style, 
-                                 GTK_PIZZA(m_wxwindow)->bin_window,
-                                 GTK_STATE_SELECTED,
-                                 NULL,
-                                 m_wxwindow,
-                                 "treeview",
-                                 rect.x, rect.y, rect.width, rect.height );
+                    flags |= wxCONTROL_CURRENT;
+                wxRendererNative::Get().DrawItemSelectionRect( this, dc, rect, flags );
             }
 #endif
         }
             }
 #endif
         }