X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b96a14e3340e6f516d2d1b82ba09be1cacdb5ee2..8ba80c6f8325e61de2e3fc4bbd7cf3d750f432cd:/src/propgrid/propgridiface.cpp?ds=inline diff --git a/src/propgrid/propgridiface.cpp b/src/propgrid/propgridiface.cpp index 3609702e32..4a7d70d486 100644 --- a/src/propgrid/propgridiface.cpp +++ b/src/propgrid/propgridiface.cpp @@ -4,7 +4,7 @@ // Author: Jaakko Salli // Modified by: // Created: 2008-08-24 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -37,8 +37,8 @@ #include "wx/intl.h" #endif -#include -#include +#include "wx/propgrid/property.h" +#include "wx/propgrid/propgrid.h" const wxChar *wxPGTypeName_long = wxT("long"); @@ -475,6 +475,23 @@ void wxPropertyGridInterface::SetPropertyValueUnspecified( wxPGPropArg id ) p->GetParentState()->DoSetPropertyValueUnspecified(p); } +// ----------------------------------------------------------------------- + +void wxPropertyGridInterface::ClearModifiedStatus() +{ + unsigned int pageIndex = 0; + + for (;;) + { + wxPropertyGridPageState* page = GetPageState(pageIndex); + if ( !page ) break; + + page->DoGetRoot()->SetFlagRecursively(wxPG_PROP_MODIFIED, false); + + pageIndex++; + } +} + // ----------------------------------------------------------------------- // wxPropertyGridInterface property value setting and getting // ----------------------------------------------------------------------- @@ -622,34 +639,6 @@ void wxPropertyGridInterface::GetPropertiesWithFlag( wxArrayPGProperty* targetAr // ----------------------------------------------------------------------- -void wxPropertyGridInterface::SetPropertiesFlag( const wxArrayPGProperty& srcArr, - wxPGProperty::FlagType flags, - bool inverse ) -{ - unsigned int i; - - for ( i=0; iSetFlag(flags); - else - property->ClearFlag(flags); - } - - // If collapsed flag or hidden was manipulated, we need to update virtual - // size. - wxPropertyGrid* pg = GetPropertyGrid(); - if ( flags & (wxPG_PROP_COLLAPSED|wxPG_PROP_HIDDEN) ) - { - GetState()->VirtualHeightChanged(); - pg->RecalculateVirtualSize(); - } -} - -// ----------------------------------------------------------------------- - void wxPropertyGridInterface::SetBoolChoices( const wxString& trueChoice, const wxString& falseChoice ) { @@ -824,7 +813,6 @@ bool wxPropertyGridInterface::GetPropertyValueAsBool( wxPGPropArg id ) const IMPLEMENT_GET_VALUE(long,long,Long,0) IMPLEMENT_GET_VALUE(double,double,Double,0.0) -IMPLEMENT_GET_VALUE(void,void*,VoidPtr,NULL) bool wxPropertyGridInterface::IsPropertyExpanded( wxPGPropArg id ) const { @@ -996,6 +984,12 @@ wxString wxPropertyGridInterface::SaveEditableState( int includedStates ) const else result += wxS("0;"); } + if ( includedStates & DescBoxState ) + { + wxVariant v = GetEditableStateItem(wxS("descboxheight")); + if ( !v.IsNull() ) + result += wxString::Format(wxS("descboxheight=%i;"), (int)v.GetLong()); + } result.RemoveLast(); // Remove last semicolon result += wxS("|"); } @@ -1133,6 +1127,21 @@ bool wxPropertyGridInterface::RestoreEditableState( const wxString& src, int res } } } + else if ( key == wxS("descboxheight") ) + { + if ( restoreStates & DescBoxState ) + { + long descBoxHeight; + if ( values.size() == 1 && values[0].ToLong(&descBoxHeight) ) + { + SetEditableStateItem(wxS("descboxheight"), descBoxHeight); + } + else + { + res = false; + } + } + } else { res = false;