wxTreeItemId HitTest(const wxPoint& point, int& flags);
// get the bounding rectangle of the item (or of its label only)
- // @@@ do we really need to expose this functions to the application?
- void GetBoundingRect(const wxTreeItemId& item,
+ bool GetBoundingRect(const wxTreeItemId& item,
wxRect& rect,
bool textOnly = FALSE) const;
return wxTreeItemId((WXHTREEITEM) hitTestInfo.hItem);
}
+bool wxTreeCtrl::GetBoundingRect(const wxTreeItemId& item,
+ wxRect& rect,
+ bool textOnly) const
+{
+ RECT rc;
+ if ( TreeView_GetItemRect(wxhWnd, (HTREEITEM)(WXHTREEITEM)item,
+ &rc, textOnly) )
+ {
+ rect = wxRect(wxPoint(rc.left, rc.top), wxPoint(rc.right, rc.bottom));
+
+ return TRUE;
+ }
+ else
+ {
+ // couldn't retrieve rect: for example, item isn't visible
+ return FALSE;
+ }
+}
+
// ----------------------------------------------------------------------------
// sorting stuff
// ----------------------------------------------------------------------------
+
static int CALLBACK TreeView_CompareCallback(wxTreeItemData *pItem1,
wxTreeItemData *pItem2,
wxTreeCtrl *tree)