Allow wxPGProperty::IsChildSelected() to work recursively
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2390,7 +2390,7 @@ protected:
|
||||
/**
|
||||
Returns true if child property is selected.
|
||||
*/
|
||||
bool IsChildSelected() const;
|
||||
bool IsChildSelected( bool recursive = false ) const;
|
||||
|
||||
// Removes child property with given pointer. Does not delete it.
|
||||
void RemoveChild( wxPGProperty* p );
|
||||
|
@@ -2569,12 +2569,19 @@ void wxPGProperty::DeleteChildren()
|
||||
}
|
||||
}
|
||||
|
||||
bool wxPGProperty::IsChildSelected() const
|
||||
bool wxPGProperty::IsChildSelected( bool recursive ) const
|
||||
{
|
||||
size_t i;
|
||||
for ( i = 0; i < GetChildCount(); i++ )
|
||||
{
|
||||
if ( m_parentState->DoIsPropertySelected( Item(i) ) )
|
||||
wxPGProperty* child = Item(i);
|
||||
|
||||
// Test child
|
||||
if ( m_parentState->DoIsPropertySelected( child ) )
|
||||
return true;
|
||||
|
||||
// Test sub-childs
|
||||
if ( recursive && child->IsChildSelected( recursive ) )
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -2600,7 +2600,7 @@ void wxPropertyGrid::DrawItems( const wxPGProperty* p1, const wxPGProperty* p2 )
|
||||
|
||||
void wxPropertyGrid::RefreshProperty( wxPGProperty* p )
|
||||
{
|
||||
if ( m_pState->DoIsPropertySelected(p) || p->IsChildSelected() )
|
||||
if ( m_pState->DoIsPropertySelected(p) || p->IsChildSelected(true) )
|
||||
{
|
||||
// NB: We must copy the selection.
|
||||
wxArrayPGProperty selection = m_pState->m_selection;
|
||||
|
Reference in New Issue
Block a user