From d58526d55433162cef8ad2ed7f422689862c3019 Mon Sep 17 00:00:00 2001 From: Jaakko Salli Date: Sat, 2 May 2009 07:41:21 +0000 Subject: [PATCH] Fixed bug: wxPropertyGridInterface::SetPropertyReadOnly() with wxPG_DONT_RECURSE flag didn't do anything git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/propgrid/property.h | 14 ++++++++++++++ include/wx/propgrid/propgridiface.h | 2 +- src/propgrid/property.cpp | 5 +---- 3 files changed, 16 insertions(+), 5 deletions(-) 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++ ) -- 2.45.2