item's image is also taken into account.
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.
+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
{\tt item} and {\tt textOnly} parameters. The return value is either a
{\tt wxRect} object or {\tt None}.}
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 )
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
+ int startX, startY;
+ GetViewStart(& startX, & startY);
+
+ rect.x -= startX*PIXELS_PER_UNIT;
+ rect.y -= startY*PIXELS_PER_UNIT;
+
return true;
}