diff --git a/include/wx/propgrid/property.h b/include/wx/propgrid/property.h index c850d2d43d..d8dcf5363f 100644 --- a/include/wx/propgrid/property.h +++ b/include/wx/propgrid/property.h @@ -1951,8 +1951,22 @@ public: else m_flags &= ~wxPG_PROP_COLLAPSED; } + /** + Sets given property flag(s). + */ void SetFlag( FlagType flag ) { m_flags |= flag; } + /** + Sets or clears given property flag(s). + */ + void ChangeFlag( FlagType flag, bool set ) + { + if ( set ) + m_flags |= flag; + else + m_flags &= ~flag; + } + void SetFlagRecursively( FlagType flag, bool set ); void SetHelpString( const wxString& helpString ) diff --git a/include/wx/propgrid/propgridiface.h b/include/wx/propgrid/propgridiface.h index 7694e80027..3f93b4a2a6 100644 --- a/include/wx/propgrid/propgridiface.h +++ b/include/wx/propgrid/propgridiface.h @@ -1021,7 +1021,7 @@ public: if ( flags & wxPG_RECURSE ) p->SetFlagRecursively(wxPG_PROP_READONLY, set); else - p->SetFlag(wxPG_PROP_READONLY); + p->ChangeFlag(wxPG_PROP_READONLY, set); } /** Sets property's value to unspecified. diff --git a/src/propgrid/property.cpp b/src/propgrid/property.cpp index dcda1ef198..88cf94dab8 100644 --- a/src/propgrid/property.cpp +++ b/src/propgrid/property.cpp @@ -1353,10 +1353,7 @@ void wxPGProperty::SetValueInEvent( wxVariant value ) const void wxPGProperty::SetFlagRecursively( FlagType flag, bool set ) { - if ( set ) - SetFlag(flag); - else - ClearFlag(flag); + ChangeFlag(flag, set); unsigned int i; for ( i = 0; i < GetChildCount(); i++ )