]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/treectrl.cpp
Added a rule to the tmake templates so the makefiles know how to
[wxWidgets.git] / src / generic / treectrl.cpp
index 39db6e73e24d3e2a993c4189812b7ac4ccbd15b7..cc6128ab61eec0dba35a2086a833c20b31fb8053 100644 (file)
@@ -317,8 +317,9 @@ wxGenericTreeItem *wxGenericTreeItem::HitTest( const wxPoint& point,
       int image_h;
 
       // assuming every image (normal and selected ) has the same size !
-      if (theTree->m_imageListNormal)
+      if ((m_image!=-1) && theTree->m_imageListNormal)
           theTree->m_imageListNormal->GetSize(m_image, image_w, image_h);
+
       if ((image_w != -1) && (point.x <= m_x + image_w + 1))
        flags|=wxTREE_HITTEST_ONITEMICON;
       else
@@ -410,7 +411,8 @@ bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id,
 #endif
 
   SetBackgroundColour( *wxWHITE );
-  m_dottedPen = wxPen( *wxBLACK, 0, 0 );
+//  m_dottedPen = wxPen( "grey", 0, wxDOT );
+  m_dottedPen = wxPen( "grey", 0, 0 );
 
   return TRUE;
 }
@@ -1012,6 +1014,8 @@ void wxTreeCtrl::SelectItem(const wxTreeItemId& itemId,
                            bool unselect_others,
                            bool extended_select)
 {
+    wxCHECK_RET( itemId.IsOk(), _T("invalid tree item") );
+
     bool is_single=!(GetWindowStyleFlag() & wxTR_MULTIPLE);
 
     //wxCHECK_RET( ( (!unselect_others) && is_single),
@@ -1388,13 +1392,13 @@ void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &
             dc.SetPen( *wxGREY_PEN );
             dc.SetBrush( *wxWHITE_BRUSH );
             dc.DrawRectangle( horizX+(m_indent-5), y-4, 11, 9 );
+           
             dc.SetPen( *wxBLACK_PEN );
             dc.DrawLine( horizX+(m_indent-2), y, horizX+(m_indent+3), y );
-
             if (!item->IsExpanded())
-            {
                 dc.DrawLine( horizX+m_indent, y-2, horizX+m_indent, y+3 );
-            }
+               
+            dc.SetPen( m_dottedPen );
         }
 
         if (item->HasHilight())
@@ -1410,7 +1414,7 @@ void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &
 
             PaintItem(item, dc);
 
-            dc.SetPen( *wxBLACK_PEN );
+            dc.SetPen( m_dottedPen );
             dc.SetTextForeground( *wxBLACK );
             dc.SetBrush( *wxWHITE_BRUSH );
         }
@@ -1421,7 +1425,7 @@ void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &
 
             PaintItem(item, dc);
 
-            dc.SetPen( *wxBLACK_PEN );
+            dc.SetPen( m_dottedPen );
         }
     }
 
@@ -1647,7 +1651,8 @@ void wxTreeCtrl::OnChar( wxKeyEvent &event )
                 else
                 {
                     wxTreeItemId next = GetNextSibling( m_key_current );
-                    if (next == 0)
+//                    if (next == 0)
+                    if (!next)
                     {
                         wxTreeItemId current = m_key_current;
                         while (current && !next)
@@ -1656,7 +1661,8 @@ void wxTreeCtrl::OnChar( wxKeyEvent &event )
                             if (current) next = GetNextSibling( current );
                         }
                     }
-                    if (next != 0)
+//                    if (next != 0)
+                    if (next)
                     {
                         SelectItem( next, unselect_others, extended_select );
                        m_key_current=next.m_pItem;