X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1fd0e166f3926d10af0824915e3dbcbc18dd104a..12a480c12d7b7edf19304ea96a269b080d6aa622:/include/wx/treectrl.h diff --git a/include/wx/treectrl.h b/include/wx/treectrl.h index dd2782f4ca..873d779059 100644 --- a/include/wx/treectrl.h +++ b/include/wx/treectrl.h @@ -12,6 +12,14 @@ #ifndef _WX_TREECTRL_H_BASE_ #define _WX_TREECTRL_H_BASE_ +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/defs.h" + +#if wxUSE_TREECTRL + #include "wx/control.h" #include "wx/treebase.h" #include "wx/textctrl.h" // wxTextCtrl::ms_classinfo used through CLASSINFO macro @@ -34,6 +42,9 @@ public: // arbitrary default m_spacing = 18; + + // quick DoGetBestSize calculation + m_quickBestSize = true; } virtual ~wxTreeCtrlBase(); @@ -42,7 +53,7 @@ public: // --------- // get the total number of items in the control - virtual size_t GetCount() const = 0; + virtual unsigned int GetCount() const = 0; // indent is the number of pixels the children are indented relative to // the parents position. SetIndent() also redraws the control @@ -343,9 +354,9 @@ public: // and, in the second variant, fill the flags parameter with a bitmask // of wxTREE_HITTEST_xxx constants. wxTreeItemId HitTest(const wxPoint& point) - { int dummy; return DoHitTest(point, dummy); } + { int dummy; return DoTreeHitTest(point, dummy); } wxTreeItemId HitTest(const wxPoint& point, int& flags) - { return DoHitTest(point, flags); } + { return DoTreeHitTest(point, flags); } // get the bounding rectangle of the item (or of its label only) virtual bool GetBoundingRect(const wxTreeItemId& item, @@ -358,6 +369,10 @@ public: virtual bool ShouldInheritColours() const { return false; } + // hint whether to calculate best size quickly or accurately + void SetQuickBestSize(bool q) { m_quickBestSize = q; } + bool GetQuickBestSize() const { return m_quickBestSize; } + protected: virtual wxSize DoGetBestSize() const; @@ -382,7 +397,8 @@ protected: // real HitTest() implementation: again, can't be called just HitTest() // because it's overloaded and so the non-virtual overload would be hidden - virtual wxTreeItemId DoHitTest(const wxPoint& point, int& flags) = 0; + // (and can't be called DoHitTest() because this is already in wxWindow) + virtual wxTreeItemId DoTreeHitTest(const wxPoint& point, int& flags) = 0; wxImageList *m_imageListNormal, // images for tree elements @@ -391,7 +407,10 @@ protected: m_ownsImageListState; // spacing between left border and the text - unsigned short m_spacing; + unsigned int m_spacing; + + // whether full or quick calculation is done in DoGetBestSize + bool m_quickBestSize; DECLARE_NO_COPY_CLASS(wxTreeCtrlBase) @@ -404,9 +423,9 @@ protected: #if defined(__WXUNIVERSAL__) #include "wx/generic/treectlg.h" #elif defined(__WXPALMOS__) - #include "wx/palmos/treectrl.h" + #include "wx/palmos/treectrl.h" #elif defined(__WXMSW__) - #include "wx/msw/treectrl.h" + #include "wx/msw/treectrl.h" #elif defined(__WXMOTIF__) #include "wx/generic/treectlg.h" #elif defined(__WXGTK__) @@ -419,5 +438,6 @@ protected: #include "wx/generic/treectlg.h" #endif -#endif // _WX_TREECTRL_H_BASE_ +#endif // wxUSE_TREECTRL +#endif // _WX_TREECTRL_H_BASE_