X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ce846b17c9a1ad71c749253cc8b73d492ed9634..739a839903d6017270e085b7308eda71934efa64:/src/generic/datavgen.cpp diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 21483c4910..deda154a48 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -483,6 +483,7 @@ public: void Expand( unsigned int row ) { OnExpanding( row ); } void Collapse( unsigned int row ) { OnCollapsing( row ); } + bool IsExpanded( unsigned int row ) const; private: wxDataViewTreeNode * GetTreeNodeByRow( unsigned int row ) const; //We did not need this temporarily @@ -2411,6 +2412,23 @@ wxDataViewEvent wxDataViewMainWindow::SendExpanderEvent( wxEventType type, const return le; } + +bool wxDataViewMainWindow::IsExpanded( unsigned int row ) const +{ + if (IsVirtualList()) + return false; + + wxDataViewTreeNode * node = GetTreeNodeByRow(row); + if (!node) + return false; + + if (!node->HasChildren()) + return false; + + return node->IsOpen(); +} + + void wxDataViewMainWindow::OnExpanding( unsigned int row ) { if (IsVirtualList()) @@ -3685,6 +3703,15 @@ void wxDataViewCtrl::Collapse( const wxDataViewItem & item ) m_clientArea->Collapse(row); } +bool wxDataViewCtrl::IsExpanded( const wxDataViewItem & item ) const +{ + int row = m_clientArea->GetRowByItem( item ); + if (row != -1) + return m_clientArea->IsExpanded(row); + return false; +} + + #endif // !wxUSE_GENERICDATAVIEWCTRL