X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/027d45e8fc3cbb7a1efa91c727bcee6c52c4519c..f5a9eef7c76b6f13c09c3cafb30a91cf12c00b29:/src/generic/treectlg.cpp diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 25576d2fb7..c0b0ca5d1a 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: treectlg.cpp +// Name: src/generic/treectlg.cpp // Purpose: generic tree control implementation // Author: Robert Roebling // Created: 01/02/97 @@ -26,14 +26,18 @@ #if wxUSE_TREECTRL -#include "wx/treebase.h" #include "wx/treectrl.h" + +#ifndef WX_PRECOMP + #include "wx/dcclient.h" + #include "wx/timer.h" + #include "wx/settings.h" + #include "wx/listbox.h" + #include "wx/textctrl.h" +#endif + #include "wx/generic/treectlg.h" -#include "wx/timer.h" -#include "wx/textctrl.h" #include "wx/imaglist.h" -#include "wx/settings.h" -#include "wx/dcclient.h" #include "wx/renderer.h" @@ -2323,7 +2327,7 @@ void wxGenericTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level if (IsExposed(exposed_x, exposed_y, 10000, h)) // 10000 = very much { - wxPen *pen = + const wxPen *pen = #ifndef __WXMAC__ // don't draw rect outline if we already have the // background color under Mac @@ -2848,11 +2852,9 @@ void wxGenericTreeCtrl::OnChar( wxKeyEvent &event ) } } -wxTreeItemId wxGenericTreeCtrl::DoTreeHitTest(const wxPoint& point, int& flags) +wxTreeItemId +wxGenericTreeCtrl::DoTreeHitTest(const wxPoint& point, int& flags) const { - // JACS: removed wxYieldIfNeeded() because it can cause the window - // to be deleted from under us if a close window event is pending - int w, h; GetSize(&w, &h); flags=0; @@ -2887,12 +2889,9 @@ bool wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId& item, wxGenericTreeItem *i = (wxGenericTreeItem*) item.m_pItem; - int startX, startY; - GetViewStart(& startX, & startY); - if ( textOnly ) { - rect.x = i->GetX() - startX*PIXELS_PER_UNIT; + rect.x = i->GetX(); rect.width = i->GetWidth(); if ( m_imageListNormal ) @@ -2908,9 +2907,12 @@ bool wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId& item, rect.width = GetClientSize().x; } - rect.y = i->GetY() - startY*PIXELS_PER_UNIT; + rect.y = i->GetY(); rect.height = GetLineHeight(i); + // we have to return the logical coordinates, not physical ones + rect.SetTopLeft(CalcScrolledPosition(rect.GetTopLeft())); + return true; } @@ -3563,10 +3565,6 @@ void wxGenericTreeCtrl::OnGetToolTip( wxTreeEvent &event ) // be removed, as well as the #else case below. #define _USE_VISATTR 0 -#if _USE_VISATTR -#include "wx/listbox.h" -#endif - //static wxVisualAttributes #if _USE_VISATTR