// arbitrary default
m_spacing = 18;
+
+ // quick DoGetBestSize calculation
+ m_quickBestSize = true;
}
virtual ~wxTreeCtrlBase();
// ---------
// 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
// coordinates specified are relative to the client area of tree ctrl)
// 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); }
- wxTreeItemId HitTest(const wxPoint& point, int& flags)
- { return DoHitTest(point, flags); }
+ wxTreeItemId HitTest(const wxPoint& point) const
+ { int dummy; return DoTreeHitTest(point, dummy); }
+ wxTreeItemId HitTest(const wxPoint& point, int& flags) const
+ { return DoTreeHitTest(point, flags); }
// get the bounding rectangle of the item (or of its label only)
virtual bool GetBoundingRect(const wxTreeItemId& item,
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;
// 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) const = 0;
wxImageList *m_imageListNormal, // images for tree elements
// spacing between left border and the text
unsigned int m_spacing;
+ // whether full or quick calculation is done in DoGetBestSize
+ bool m_quickBestSize;
+
DECLARE_NO_COPY_CLASS(wxTreeCtrlBase)
};