Fix wxTreeCtrl::IsVisible() for wxQt

Return false if the item is expanded but scrolled outside of the
viewport, to conform to the function documentation and the behaviour in
the other ports.

Closes https://github.com/wxWidgets/wxWidgets/pull/1380
This commit is contained in:
Graham Dawes
2019-07-01 14:20:34 +01:00
committed by Vadim Zeitlin
parent 07c6c61b2c
commit 81c31c6094

View File

@@ -745,8 +745,9 @@ bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
wxCHECK_MSG(item.IsOk(), false, "invalid tree item");
const QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item);
const QRect visualRect = m_qtTreeWidget->visualItemRect(qTreeItem);
return visualRect.isValid();
const QRect itemRect = m_qtTreeWidget->visualItemRect(qTreeItem);
const QRect clientRect = m_qtTreeWidget->rect();
return itemRect.isValid() && clientRect.contains(itemRect);
}
bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const