GetBoundingRect() is supposed to return the logical coordinates, even in !textOnly case; also documented it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -340,9 +340,13 @@ only the rectangle around the item's label will be returned, otherwise the
|
|||||||
item's image is also taken into account.
|
item's image is also taken into account.
|
||||||
|
|
||||||
The return value is {\tt true} if the rectangle was successfully retrieved or {\tt false}
|
The return value is {\tt true} if the rectangle was successfully retrieved or {\tt false}
|
||||||
if it was not (in this case {\it rect} is not changed) - for example, if the
|
if it was not (in this case {\it rect} is not changed) -- for example, if the
|
||||||
item is currently invisible.
|
item is currently invisible.
|
||||||
|
|
||||||
|
Notice that the rectangle coordinates are logical, not physical ones. So, for
|
||||||
|
example, the x coordinate may be negative if the tree has a horizontal
|
||||||
|
scrollbar and its position is not $0$.
|
||||||
|
|
||||||
\pythonnote{The wxPython version of this method requires only the
|
\pythonnote{The wxPython version of this method requires only the
|
||||||
{\tt item} and {\tt textOnly} parameters. The return value is either a
|
{\tt item} and {\tt textOnly} parameters. The return value is either a
|
||||||
{\tt wxRect} object or {\tt None}.}
|
{\tt wxRect} object or {\tt None}.}
|
||||||
|
@@ -2887,12 +2887,9 @@ bool wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId& item,
|
|||||||
|
|
||||||
wxGenericTreeItem *i = (wxGenericTreeItem*) item.m_pItem;
|
wxGenericTreeItem *i = (wxGenericTreeItem*) item.m_pItem;
|
||||||
|
|
||||||
int startX, startY;
|
|
||||||
GetViewStart(& startX, & startY);
|
|
||||||
|
|
||||||
if ( textOnly )
|
if ( textOnly )
|
||||||
{
|
{
|
||||||
rect.x = i->GetX() - startX*PIXELS_PER_UNIT;
|
rect.x = i->GetX();
|
||||||
rect.width = i->GetWidth();
|
rect.width = i->GetWidth();
|
||||||
|
|
||||||
if ( m_imageListNormal )
|
if ( m_imageListNormal )
|
||||||
@@ -2908,9 +2905,16 @@ bool wxGenericTreeCtrl::GetBoundingRect(const wxTreeItemId& item,
|
|||||||
rect.width = GetClientSize().x;
|
rect.width = GetClientSize().x;
|
||||||
}
|
}
|
||||||
|
|
||||||
rect.y = i->GetY() - startY*PIXELS_PER_UNIT;
|
rect.y = i->GetY();
|
||||||
rect.height = GetLineHeight(i);
|
rect.height = GetLineHeight(i);
|
||||||
|
|
||||||
|
// we have to return the logical coordinates, not physical ones
|
||||||
|
int startX, startY;
|
||||||
|
GetViewStart(& startX, & startY);
|
||||||
|
|
||||||
|
rect.x -= startX*PIXELS_PER_UNIT;
|
||||||
|
rect.y -= startY*PIXELS_PER_UNIT;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user