]> git.saurik.com Git - wxWidgets.git/commitdiff
Aqua gets Aqua tree buttons automatically now.
authorRobert Roebling <robert@roebling.de>
Sat, 15 Dec 2001 13:49:05 +0000 (13:49 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 15 Dec 2001 13:49:05 +0000 (13:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/treebase.h
src/generic/treectlg.cpp

index 9ebd385512c912e45d3cf2ed6037758220e4091b..fcc8c30811eecca66ea2eb6baad310410cf27b6b 100644 (file)
@@ -120,6 +120,7 @@ enum wxTreeItemIcon
 #define wxTR_NO_LINES        0x0004     // don't generate level connectors
 #define wxTR_LINES_AT_ROOT   0x0008     // connect top-level nodes
 #define wxTR_MAC_BUTTONS     wxTR_TWIST_BUTTONS  // backward compatibility
+#define wxTR_AQUA_BUTTONS    0x0010     // used internally
 
 #define wxTR_SINGLE          0x0000     // for convenience
 #define wxTR_MULTIPLE        0x0020     // can select multiple items
index 0ebc9aa60b94c012a08a4d1f749e7b87a9733714..2a2e7c814ded8db12e7db1b974981a9dc583ca26 100644 (file)
@@ -675,8 +675,11 @@ bool wxGenericTreeCtrl::Create(wxWindow *parent,
     style |= wxTR_NO_LINES;
     if (major < 10)
         style |= wxTR_ROW_LINES;
+    if (major >= 10)
+        style |= wxTR_AQUA_BUTTONS;
 #endif
 
+
     wxScrolledWindow::Create( parent, id, pos, size,
                               style|wxHSCROLL|wxVSCROLL, name );
 
@@ -1989,28 +1992,55 @@ void wxGenericTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level
             else if (HasFlag(wxTR_TWIST_BUTTONS))
             {
                 // draw the twisty button here
-                dc.SetPen(*wxBLACK_PEN);
-                dc.SetBrush(*m_hilightBrush);
-
+                
                 wxPoint button[3];
-
-                if (item->IsExpanded())
+                dc.SetBrush(*m_hilightBrush);
+                
+                if (HasFlag(wxTR_AQUA_BUTTONS))
                 {
-                    button[0].x = x-5;
-                    button[0].y = y_mid-2;
-                    button[1].x = x+5;
-                    button[1].y = y_mid-2;
-                    button[2].x = x;
-                    button[2].y = y_mid+3;
+                    dc.SetPen(*wxTRANSPARENT_PEN);
+                    
+                    if (item->IsExpanded())
+                    {
+                        button[0].x = x-6;
+                        button[0].y = y_mid-2;
+                        button[1].x = x+6;
+                        button[1].y = y_mid-2;
+                        button[2].x = x;
+                        button[2].y = y_mid+7;
+                    }
+                    else
+                    {
+                        button[0].y = y_mid-6;
+                        button[0].x = x-2;
+                        button[1].y = y_mid+6;
+                        button[1].x = x-2;
+                        button[2].y = y_mid;
+                        button[2].x = x+7;
+                    }
                 }
                 else
                 {
-                    button[0].y = y_mid-5;
-                    button[0].x = x-2;
-                    button[1].y = y_mid+5;
-                    button[1].x = x-2;
-                    button[2].y = y_mid;
-                    button[2].x = x+3;
+                    dc.SetPen(*wxBLACK_PEN);
+
+                    if (item->IsExpanded())
+                    {
+                        button[0].x = x-5;
+                        button[0].y = y_mid-2;
+                        button[1].x = x+5;
+                        button[1].y = y_mid-2;
+                        button[2].x = x;
+                        button[2].y = y_mid+3;
+                    }
+                    else
+                    {
+                        button[0].y = y_mid-5;
+                        button[0].x = x-2;
+                        button[1].y = y_mid+5;
+                        button[1].x = x-2;
+                        button[2].y = y_mid;
+                        button[2].x = x+3;
+                    }
                 }
                 dc.DrawPolygon(3, button);