From f8ac4f9bff51fb2c630a065da09a3dab86d68aff Mon Sep 17 00:00:00 2001 From: Lucio Moser Date: Mon, 26 Aug 2013 13:52:35 -0700 Subject: [PATCH 1/2] Adding setPresets() to Parameter class. This will allow dynamic interfaces to exist, by updating the shown presets based on value changes in other parameters in the same Parameterised object (most likely Ops). The idea is to make Gaffer support a user hint that forces a given Parameter to be shown as a drop down list control, and then, use the change-value callback mechanism to update the presets and update the current value if not in the new presets. --- include/IECore/CompoundParameter.h | 8 +++- include/IECore/Parameter.h | 2 + src/IECore/CompoundParameter.cpp | 11 ++++- src/IECore/Parameter.cpp | 5 +++ src/IECorePython/ParameterBinding.cpp | 8 +++- test/IECore/CompoundParameterTest.py | 26 +++++++++++ test/IECore/Parameters.py | 63 +++++++++++++++++++++++++++ 7 files changed, 119 insertions(+), 4 deletions(-) diff --git a/include/IECore/CompoundParameter.h b/include/IECore/CompoundParameter.h index a7956e661e..c15c7d4f03 100644 --- a/include/IECore/CompoundParameter.h +++ b/include/IECore/CompoundParameter.h @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // -// Copyright (c) 2007-2012, Image Engine Design Inc. All rights reserved. +// Copyright (c) 2007-2013, Image Engine Design Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are @@ -73,9 +73,13 @@ class CompoundParameter : public Parameter virtual const Object *defaultValue() const; /// If true was passed to adoptChildPresets at construction, then update the presets /// with the intersection of the presets of all the child parameters, otherwise returns - /// an empty container. Please note that the map returned may differ between one call + /// an empty container or the presets defined by setPresets(). + /// Please note that the map returned may differ between one call /// to presets() and the next. virtual const PresetsContainer &presets() const; + /// Defines presets for this Parameter. + /// Throws an exception if true was passed to adoptChildPresets at construction. + virtual void setPresets( const PresetsContainer &presets ); /// Implemented to return true only if all children have presetsOnly() true and /// true was passed to adoptChildPresets at construction. virtual bool presetsOnly() const; diff --git a/include/IECore/Parameter.h b/include/IECore/Parameter.h index 8ca9ba656c..92fd838639 100644 --- a/include/IECore/Parameter.h +++ b/include/IECore/Parameter.h @@ -80,6 +80,8 @@ class Parameter : public RunTimeTyped virtual const Object *defaultValue() const; /// Returns the presets for this parameter. virtual const PresetsContainer &presets() const; + /// Overrides the presets for this parameter. + virtual void setPresets( const PresetsContainer &presets ); /// Returns true if this parameter only accepts /// parameters present as presets. virtual bool presetsOnly() const; diff --git a/src/IECore/CompoundParameter.cpp b/src/IECore/CompoundParameter.cpp index f8de7ca07b..0312133c9f 100644 --- a/src/IECore/CompoundParameter.cpp +++ b/src/IECore/CompoundParameter.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // -// Copyright (c) 2007-2012, Image Engine Design Inc. All rights reserved. +// Copyright (c) 2007-2013, Image Engine Design Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are @@ -146,6 +146,15 @@ const Parameter::PresetsContainer &CompoundParameter::presets() const return pr; } +void CompoundParameter::setPresets( const PresetsContainer &presets ) +{ + if (m_adoptChildPresets) + { + throw Exception( "CompoundParameter cannot override presets when initialized with adoptChildPresets to true."); + } + Parameter::setPresets(presets); +} + bool CompoundParameter::presetsOnly() const { if( !m_adoptChildPresets || !m_parameters.size() ) diff --git a/src/IECore/Parameter.cpp b/src/IECore/Parameter.cpp index 88084c0827..99f7097a8b 100644 --- a/src/IECore/Parameter.cpp +++ b/src/IECore/Parameter.cpp @@ -96,6 +96,11 @@ const Parameter::PresetsContainer &Parameter::presets() const return m_presets; } +void Parameter::setPresets( const PresetsContainer &presets ) +{ + m_presets = presets; +} + bool Parameter::presetsOnly() const { return m_presetsOnly; diff --git a/src/IECorePython/ParameterBinding.cpp b/src/IECorePython/ParameterBinding.cpp index ab12b75476..7ecaea40af 100644 --- a/src/IECorePython/ParameterBinding.cpp +++ b/src/IECorePython/ParameterBinding.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // -// Copyright (c) 2007-2010, Image Engine Design Inc. All rights reserved. +// Copyright (c) 2007-2013, Image Engine Design Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are @@ -86,6 +86,11 @@ static dict presets( Parameter &that ) return result; } +static void setPresets( Parameter &p, const object &presets ) +{ + p.setPresets( parameterPresets( presets ) ); +} + static boost::python::tuple presetNames( const Parameter &that ) { boost::python::list result; @@ -162,6 +167,7 @@ void bindParameter() .def( "validate", &validate ) .add_property( "presetsOnly", &Parameter::presetsOnly ) .def( "presets", &presets, "Returns a dictionary containing presets for the parameter." ) + .def( "setPresets", &setPresets, "Sets the presets for the parameter from a dictionary." ) .def( "presetNames", &presetNames, "Returns a tuple containing the names of all presets for the parameter." ) .def( "presetValues", &presetValues, "Returns a tuple containing the values of all presets for the parameter." ) .def( "userData", &userData ) diff --git a/test/IECore/CompoundParameterTest.py b/test/IECore/CompoundParameterTest.py index 50feab9df7..4e490a9097 100644 --- a/test/IECore/CompoundParameterTest.py +++ b/test/IECore/CompoundParameterTest.py @@ -191,6 +191,7 @@ def testPresets( self ) : p.setValue( "four" ) self.assertEqual( p.getCurrentPresetName(), "four" ) + self.assertRaises( RuntimeError, p.setPresets, [] ) # CompoundParameter created with adoptChildPresets=True does not allow overriding presets p = CompoundParameter( name = "c", @@ -656,6 +657,31 @@ def testAdoptChildPresets( self ) : self.assertEqual( c.presetsOnly, False ) self.assertEqual( c.userData()["ud"].value, 10 ) + # when adoptChildPresets we can also set presets explicitly... + c['a'].setValue("one") + c['b'].setValue("two") + p1 = c.getValue().copy() + c['a'].setValue("two") + c['b'].setValue("one") + p2 = c.getValue().copy() + c.setValue( c.defaultValue ) + + c.setPresets( + [ + ( "p1", p1 ), + ( "p2", p2 ), + ] + ) + pr = c.presets() + self.assertEqual( len( pr ), 2 ) + self.assertEqual( pr["p1"], p1 ) + self.assertEqual( pr["p2"], p2 ) + self.assertEqual( c.presetNames(), [ "p1", "p2" ] ) + c.setValue("p1") + self.assertEqual( c.getValue(), p1 ) + c.setValue("p2") + self.assertEqual( c.getValue(), p2 ) + def testDerivingInPython( self ) : class DerivedCompoundParameter( CompoundParameter ) : diff --git a/test/IECore/Parameters.py b/test/IECore/Parameters.py index 5a154b9c51..5f39eba2fa 100644 --- a/test/IECore/Parameters.py +++ b/test/IECore/Parameters.py @@ -134,6 +134,25 @@ def testPresets( self ) : self.assertEqual( pr["p3"], CompoundData() ) self.assertEqual( pr["p4"], FloatData( 20 ) ) + # overriding presets + + p.setPresets( [] ) + self.assertEqual( p.presets(), dict() ) + + p.setPresets( + [ + ( "p5", FloatData( 40 ) ), + ( "p1", IntData( 60 ) ), + ] + ) + pr = p.presets() + self.assertEqual( len( pr ), 2 ) + self.assertEqual( pr["p5"], FloatData( 40 ) ) + self.assertEqual( pr["p1"], IntData( 60 ) ) + self.assertEqual( p.presetNames(), ("p5", "p1") ) + p.setValue("p1") + self.assertEqual( p.getValue(), IntData(60) ) + def testOrderedPresets( self ) : p = Parameter( @@ -302,6 +321,21 @@ def testPresets( self ) : self.assertEqual( pr["two"], IntData( 2 ) ) self.assertEqual( pr["three"], IntData( 3 ) ) + # overriding presets + p.setPresets( + [ + ( "four", IntData( 4 ) ), + ( "one", IntData( 1 ) ), + ] + ) + pr = p.presets() + self.assertEqual( len( pr ), 2 ) + self.assertEqual( pr["four"], IntData( 4 ) ) + self.assertEqual( pr["one"], IntData( 1 ) ) + self.assertEqual( p.presetNames(), ("four", "one") ) + p.setValue("four") + self.assertEqual( p.getValue(), IntData(4) ) + def testOrderedPresets( self ) : p = IntParameter( @@ -396,6 +430,21 @@ def testPresets( self ) : p.setValue( "one" ) self.assertEqual( p.getValue(), V3fData( V3f( 1 ) ) ) + # overriding presets + p.setPresets( + [ + ( "four", V3fData( V3f(4) ) ), + ( "one", V3fData( V3f(1) ) ), + ] + ) + pr = p.presets() + self.assertEqual( len( pr ), 2 ) + self.assertEqual( pr["four"], V3fData( V3f(4) ) ) + self.assertEqual( pr["one"], V3fData( V3f(1) ) ) + self.assertEqual( p.presetNames(), ("four", "one") ) + p.setValue("four") + self.assertEqual( p.getValue(), V3fData(V3f(4)) ) + def testPresetsOnly( self ) : p = V3fParameter( @@ -775,6 +824,20 @@ def testOrderedPresets( self ) : self.assertEqual( p.presetNames(), ( "p1", "p2", "p3", "p4" ) ) self.assertEqual( p.presetValues(), ( FloatData( 40 ), IntData( 60 ), CompoundData(), FloatData( 20 ) ) ) + # overriding presets + p.setPresets( + [ + ( "four", V3fData( V3f(4) ) ), + ( "one", V3fData( V3f(1) ) ), + ] + ) + pr = p.presets() + self.assertEqual( len( pr ), 2 ) + self.assertEqual( pr["four"], V3fData( V3f(4) ) ) + self.assertEqual( pr["one"], V3fData( V3f(1) ) ) + self.assertEqual( p.presetNames(), ("four", "one") ) + p.setValue("four") + self.assertEqual( p.getValue(), V3fData(V3f(4)) ) class TestTypedObjectParameter( unittest.TestCase ) : From 5a6a7e1161a735b6a50fa995b5fab02702d3a36c Mon Sep 17 00:00:00 2001 From: Lucio Moser Date: Mon, 26 Aug 2013 14:52:07 -0700 Subject: [PATCH 2/2] Adding getPresets() and deprecating presets() function. --- include/IECore/CompoundParameter.h | 4 +++- include/IECore/Parameter.h | 4 +++- src/IECore/CompoundParameter.cpp | 13 ++++++---- src/IECore/Parameter.cpp | 11 ++++++--- src/IECoreMaya/FromMayaMeshConverter.cpp | 4 ++-- src/IECoreMaya/ToMayaMeshConverter.cpp | 2 +- .../PresetsOnlyParameterHandler.cpp | 9 +++---- src/IECorePython/ParameterBinding.cpp | 11 +++++---- test/IECore/CompoundParameterTest.py | 24 +++++++++---------- test/IECore/EXRImageWriter.py | 4 ++-- test/IECore/Parameters.py | 22 ++++++++--------- 11 files changed, 62 insertions(+), 46 deletions(-) diff --git a/include/IECore/CompoundParameter.h b/include/IECore/CompoundParameter.h index c15c7d4f03..793aa157e1 100644 --- a/include/IECore/CompoundParameter.h +++ b/include/IECore/CompoundParameter.h @@ -71,12 +71,14 @@ class CompoundParameter : public Parameter /// of all the child objects. /// \threading It is not safe to call this from multiple concurrent threads. virtual const Object *defaultValue() const; + /// \deprecated Use getPresets instead. + virtual const PresetsContainer &presets() const; /// If true was passed to adoptChildPresets at construction, then update the presets /// with the intersection of the presets of all the child parameters, otherwise returns /// an empty container or the presets defined by setPresets(). /// Please note that the map returned may differ between one call /// to presets() and the next. - virtual const PresetsContainer &presets() const; + virtual const PresetsContainer &getPresets() const; /// Defines presets for this Parameter. /// Throws an exception if true was passed to adoptChildPresets at construction. virtual void setPresets( const PresetsContainer &presets ); diff --git a/include/IECore/Parameter.h b/include/IECore/Parameter.h index 92fd838639..63e5e964f5 100644 --- a/include/IECore/Parameter.h +++ b/include/IECore/Parameter.h @@ -78,8 +78,10 @@ class Parameter : public RunTimeTyped const std::string &description() const; /// Returns the default value for this parameter. virtual const Object *defaultValue() const; - /// Returns the presets for this parameter. + /// \deprecated Use getPresets instead. virtual const PresetsContainer &presets() const; + /// Returns the presets for this parameter. + virtual const PresetsContainer &getPresets() const; /// Overrides the presets for this parameter. virtual void setPresets( const PresetsContainer &presets ); /// Returns true if this parameter only accepts diff --git a/src/IECore/CompoundParameter.cpp b/src/IECore/CompoundParameter.cpp index 0312133c9f..d1c4785088 100644 --- a/src/IECore/CompoundParameter.cpp +++ b/src/IECore/CompoundParameter.cpp @@ -73,14 +73,19 @@ const Object *CompoundParameter::defaultValue() const } const Parameter::PresetsContainer &CompoundParameter::presets() const +{ + return getPresets(); +} + +const Parameter::PresetsContainer &CompoundParameter::getPresets() const { if( !m_adoptChildPresets ) { - return Parameter::presets(); + return Parameter::getPresets(); } // naughty? nah! it gives the right semantics to an outside observer - PresetsContainer &pr = const_cast( Parameter::presets() ); + PresetsContainer &pr = const_cast( Parameter::getPresets() ); pr.clear(); if( !m_namesToParameters.size() ) { @@ -88,12 +93,12 @@ const Parameter::PresetsContainer &CompoundParameter::presets() const } // get a references for each child preset map. - // we only want to call presets() once for + // we only want to call getPresets() once for // each child as the map returned may change between calls. vector childPresets; for( size_t i=0; ipresets()) ); + childPresets.push_back( &(m_parameters[i]->getPresets()) ); } // find the intersection of all the child preset names diff --git a/src/IECore/Parameter.cpp b/src/IECore/Parameter.cpp index 99f7097a8b..aaa19ab3d7 100644 --- a/src/IECore/Parameter.cpp +++ b/src/IECore/Parameter.cpp @@ -92,6 +92,11 @@ const Object *Parameter::defaultValue() const } const Parameter::PresetsContainer &Parameter::presets() const +{ + return getPresets(); +} + +const Parameter::PresetsContainer &Parameter::getPresets() const { return m_presets; } @@ -150,7 +155,7 @@ bool Parameter::valueValid( const Object *value, std::string *reason ) const { return true; } - const PresetsContainer &pr = presets(); + const PresetsContainer &pr = getPresets(); for( PresetsContainer::const_iterator it = pr.begin(); it!=pr.end(); it++ ) { if( it->second->isEqualTo( value ) ) @@ -206,7 +211,7 @@ void Parameter::setValidatedValue( ObjectPtr value ) void Parameter::setValue( const std::string &presetName ) { - const PresetsContainer &pr = presets(); + const PresetsContainer &pr = getPresets(); PresetsContainer::const_iterator it; for( it=pr.begin(); it != pr.end(); it++ ) @@ -256,7 +261,7 @@ std::string Parameter::getCurrentPresetName() const // didn't have to do a copy of the value. but that breaks with CompoundParameter // as it builds the value dynamically in getValue(). const Object *currentValue = getValue(); - const PresetsContainer &pr = presets(); + const PresetsContainer &pr = getPresets(); PresetsContainer::const_iterator it; for( it=pr.begin(); it!=pr.end(); it++ ) { diff --git a/src/IECoreMaya/FromMayaMeshConverter.cpp b/src/IECoreMaya/FromMayaMeshConverter.cpp index 0f75f868f6..2191083b4d 100644 --- a/src/IECoreMaya/FromMayaMeshConverter.cpp +++ b/src/IECoreMaya/FromMayaMeshConverter.cpp @@ -601,10 +601,10 @@ IECore::PrimitivePtr FromMayaMeshConverter::doPrimitiveConversion( MFnMesh &fnMe unsigned int interpolationIndex = interpolationPlug.asInt(MDGContext::fsNormal, &st); if ( st ) { - if ( interpolationIndex < m_interpolation->presets().size() - 1 ) + if ( interpolationIndex < m_interpolation->getPresets().size() - 1 ) { // convert interpolation index to the preset value - interpolation = staticPointerCast< StringData >( m_interpolation->presets()[interpolationIndex].second )->readable(); + interpolation = staticPointerCast< StringData >( m_interpolation->getPresets()[interpolationIndex].second )->readable(); } else { diff --git a/src/IECoreMaya/ToMayaMeshConverter.cpp b/src/IECoreMaya/ToMayaMeshConverter.cpp index e61f121af7..4623d05ea1 100644 --- a/src/IECoreMaya/ToMayaMeshConverter.cpp +++ b/src/IECoreMaya/ToMayaMeshConverter.cpp @@ -495,7 +495,7 @@ bool ToMayaMeshConverter::setMeshInterpolationAttribute( MObject &object, std::s int interpolationValue = 0; FromMayaMeshConverter fromMaya(object); - const IECore::Parameter::PresetsContainer &presets = fromMaya.interpolationParameter()->presets(); + const IECore::Parameter::PresetsContainer &presets = fromMaya.interpolationParameter()->getPresets(); IECore::Parameter::PresetsContainer::const_iterator it; if ( interpolation != "default" ) diff --git a/src/IECoreNuke/PresetsOnlyParameterHandler.cpp b/src/IECoreNuke/PresetsOnlyParameterHandler.cpp index 0d2f34dcaa..4e26c1575e 100644 --- a/src/IECoreNuke/PresetsOnlyParameterHandler.cpp +++ b/src/IECoreNuke/PresetsOnlyParameterHandler.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // -// Copyright (c) 2010-2011, Image Engine Design Inc. All rights reserved. +// Copyright (c) 2010-2013, Image Engine Design Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are @@ -49,7 +49,8 @@ void PresetsOnlyParameterHandler::knobs( const IECore::Parameter *parameter, con if( f.makeKnobs() ) { m_names.clear(); - for( Parameter::PresetsContainer::const_iterator it = parameter->presets().begin(); it!=parameter->presets().end(); it++ ) + const Parameter::PresetsContainer &presets = parameter->getPresets(); + for( Parameter::PresetsContainer::const_iterator it = presets.begin(); it!=presets.end(); it++ ) { if( it->second->isEqualTo( parameter->defaultValue() ) ) { @@ -79,12 +80,12 @@ void PresetsOnlyParameterHandler::setParameterValue( IECore::Parameter *paramete { presetIndex = (int)m_knob->get_value(); } - parameter->setValue( parameter->presets()[m_storage].second ); + parameter->setValue( parameter->getPresets()[m_storage].second ); } void PresetsOnlyParameterHandler::setKnobValue( const IECore::Parameter *parameter ) { - const Parameter::PresetsContainer &presets = parameter->presets(); + const Parameter::PresetsContainer &presets = parameter->getPresets(); std::string currentPresetName = parameter->getCurrentPresetName(); size_t presetIndex = 0; for( Parameter::PresetsContainer::const_iterator it = presets.begin(); it!=presets.end(); it++, presetIndex++ ) diff --git a/src/IECorePython/ParameterBinding.cpp b/src/IECorePython/ParameterBinding.cpp index 7ecaea40af..4b25c4eb85 100644 --- a/src/IECorePython/ParameterBinding.cpp +++ b/src/IECorePython/ParameterBinding.cpp @@ -75,10 +75,10 @@ static void validate( Parameter &that, ObjectPtr value ) that.validate( value.get() ); } -static dict presets( Parameter &that ) +static dict getPresets( Parameter &that ) { dict result; - const Parameter::PresetsContainer &p = that.presets(); + const Parameter::PresetsContainer &p = that.getPresets(); for( Parameter::PresetsContainer::const_iterator it=p.begin(); it!=p.end(); it++ ) { result[it->first] = it->second->copy(); @@ -94,7 +94,7 @@ static void setPresets( Parameter &p, const object &presets ) static boost::python::tuple presetNames( const Parameter &that ) { boost::python::list result; - const Parameter::PresetsContainer &p = that.presets(); + const Parameter::PresetsContainer &p = that.getPresets(); for( Parameter::PresetsContainer::const_iterator it=p.begin(); it!=p.end(); it++ ) { result.append( it->first ); @@ -105,7 +105,7 @@ static boost::python::tuple presetNames( const Parameter &that ) static boost::python::tuple presetValues( const Parameter &that ) { boost::python::list result; - const Parameter::PresetsContainer &p = that.presets(); + const Parameter::PresetsContainer &p = that.getPresets(); for( Parameter::PresetsContainer::const_iterator it=p.begin(); it!=p.end(); it++ ) { result.append( it->second->copy() ); @@ -166,7 +166,8 @@ void bindParameter() .def( "validate", (void (Parameter::*)() const)&Parameter::validate ) .def( "validate", &validate ) .add_property( "presetsOnly", &Parameter::presetsOnly ) - .def( "presets", &presets, "Returns a dictionary containing presets for the parameter." ) + .def( "presets", &getPresets, "Deprecated function. Use getPresets() instead." ) + .def( "getPresets", &getPresets, "Returns a dictionary containing presets for the parameter." ) .def( "setPresets", &setPresets, "Sets the presets for the parameter from a dictionary." ) .def( "presetNames", &presetNames, "Returns a tuple containing the names of all presets for the parameter." ) .def( "presetValues", &presetValues, "Returns a tuple containing the values of all presets for the parameter." ) diff --git a/test/IECore/CompoundParameterTest.py b/test/IECore/CompoundParameterTest.py index 4e490a9097..03135919bf 100644 --- a/test/IECore/CompoundParameterTest.py +++ b/test/IECore/CompoundParameterTest.py @@ -179,7 +179,7 @@ def testPresets( self ) : self.assertEqual( p.presetsOnly, True ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 3 ) self.assert_( "one" in pr.keys() ) self.assert_( "two" in pr.keys() ) @@ -221,7 +221,7 @@ def testPresets( self ) : ) self.assertEqual( p.presetsOnly, False ) - self.assertEqual( len( p.presets() ), 0 ) + self.assertEqual( len( p.getPresets() ), 0 ) def testLateValidation( self ) : @@ -347,18 +347,18 @@ def testAddParametersPresets( self ) : members = [] ) - self.assertEqual( p.presets(), {} ) + self.assertEqual( p.getPresets(), {} ) p.addParameter( IntParameter( name = "i", description = "d", defaultValue = 10, presets = ( ( "one", 1 ), ( "two", 2 ) ) ) ) - self.assertEqual( len( p.presets() ), 2 ) - self.assertEqual( p.presets(), { "one" : CompoundObject( { "i" : IntData( 1 ) } ), "two" : CompoundObject( { "i" : IntData( 2 ) } ) } ) + self.assertEqual( len( p.getPresets() ), 2 ) + self.assertEqual( p.getPresets(), { "one" : CompoundObject( { "i" : IntData( 1 ) } ), "two" : CompoundObject( { "i" : IntData( 2 ) } ) } ) fParam = FloatParameter( name = "f", description = "d", defaultValue = 20, presets = ( ( "one", 1 ), ) ) p.addParameter( fParam ) - self.assertEqual( len( p.presets() ), 1 ) - self.assertEqual( p.presets(), { "one" : CompoundObject( { "i" : IntData( 1 ), "f" : FloatData( 1 ) } ) } ) + self.assertEqual( len( p.getPresets() ), 1 ) + self.assertEqual( p.getPresets(), { "one" : CompoundObject( { "i" : IntData( 1 ), "f" : FloatData( 1 ) } ) } ) p.insertParameter( IntParameter( name = "x", description = "x", defaultValue = 10 ), fParam ) self.assertEqual( p.keys(), [ "i", "x", "f" ] ) @@ -587,7 +587,7 @@ def testAdoptChildPresets( self ) : ], ) - self.assertEqual( len( c.presets() ), 2 ) + self.assertEqual( len( c.getPresets() ), 2 ) self.assertEqual( c.presetsOnly, True ) # no adoption of presets @@ -619,7 +619,7 @@ def testAdoptChildPresets( self ) : adoptChildPresets = False, ) - self.assertEqual( len( c.presets() ), 0 ) + self.assertEqual( len( c.getPresets() ), 0 ) self.assertEqual( c.presetsOnly, False ) # no adoption of presets without use of keyword parameters @@ -653,7 +653,7 @@ def testAdoptChildPresets( self ) : False, ) - self.assertEqual( len( c.presets() ), 0 ) + self.assertEqual( len( c.getPresets() ), 0 ) self.assertEqual( c.presetsOnly, False ) self.assertEqual( c.userData()["ud"].value, 10 ) @@ -672,11 +672,11 @@ def testAdoptChildPresets( self ) : ( "p2", p2 ), ] ) - pr = c.presets() + pr = c.getPresets() self.assertEqual( len( pr ), 2 ) self.assertEqual( pr["p1"], p1 ) self.assertEqual( pr["p2"], p2 ) - self.assertEqual( c.presetNames(), [ "p1", "p2" ] ) + self.assertEqual( c.presetNames(), ( "p1", "p2" ) ) c.setValue("p1") self.assertEqual( c.getValue(), p1 ) c.setValue("p2") diff --git a/test/IECore/EXRImageWriter.py b/test/IECore/EXRImageWriter.py index 37d4884d28..94a5f1618e 100644 --- a/test/IECore/EXRImageWriter.py +++ b/test/IECore/EXRImageWriter.py @@ -223,11 +223,11 @@ def testCompressionParameter( self ): img = r.read() w = Writer.create( img, "test/IECore/data/exrFiles/output.exr" ) - w['compression'].setValue( w['compression'].presets()['zip'] ) + w['compression'].setValue( w['compression'].getPresets()['zip'] ) w.write() w = EXRImageWriter() - w['compression'].setValue( w['compression'].presets()['zip'] ) + w['compression'].setValue( w['compression'].getPresets()['zip'] ) def testBlindDataToHeader( self ) : diff --git a/test/IECore/Parameters.py b/test/IECore/Parameters.py index 5f39eba2fa..0b7a5bc8c5 100644 --- a/test/IECore/Parameters.py +++ b/test/IECore/Parameters.py @@ -98,7 +98,7 @@ def testPresets( self ) : presetsOnly = True, ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 4 ) self.assertEqual( pr["p1"], FloatData( 40 ) ) self.assertEqual( pr["p2"], IntData( 60 ) ) @@ -127,7 +127,7 @@ def testPresets( self ) : presetsOnly = True, ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 4 ) self.assertEqual( pr["p1"], FloatData( 40 ) ) self.assertEqual( pr["p2"], IntData( 60 ) ) @@ -137,7 +137,7 @@ def testPresets( self ) : # overriding presets p.setPresets( [] ) - self.assertEqual( p.presets(), dict() ) + self.assertEqual( p.getPresets(), dict() ) p.setPresets( [ @@ -145,7 +145,7 @@ def testPresets( self ) : ( "p1", IntData( 60 ) ), ] ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 2 ) self.assertEqual( pr["p5"], FloatData( 40 ) ) self.assertEqual( pr["p1"], IntData( 60 ) ) @@ -315,7 +315,7 @@ def testPresets( self ) : ) ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 3 ) self.assertEqual( pr["one"], IntData( 1 ) ) self.assertEqual( pr["two"], IntData( 2 ) ) @@ -328,7 +328,7 @@ def testPresets( self ) : ( "one", IntData( 1 ) ), ] ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 2 ) self.assertEqual( pr["four"], IntData( 4 ) ) self.assertEqual( pr["one"], IntData( 1 ) ) @@ -421,7 +421,7 @@ def testPresets( self ) : presetsOnly = True, ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 3 ) self.assertEqual( pr["one"], V3fData( V3f( 1 ) ) ) self.assertEqual( pr["two"], V3fData( V3f( 2 ) ) ) @@ -437,7 +437,7 @@ def testPresets( self ) : ( "one", V3fData( V3f(1) ) ), ] ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 2 ) self.assertEqual( pr["four"], V3fData( V3f(4) ) ) self.assertEqual( pr["one"], V3fData( V3f(1) ) ) @@ -585,7 +585,7 @@ def test( self ) : p.setValue( StringData( "100" ) ) self.assertEqual( p.getValue(), StringData( "100" ) ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 2 ) self.assert_( "100" in pr.keys() ) self.assert_( "200" in pr.keys() ) @@ -831,7 +831,7 @@ def testOrderedPresets( self ) : ( "one", V3fData( V3f(1) ) ), ] ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 2 ) self.assertEqual( pr["four"], V3fData( V3f(4) ) ) self.assertEqual( pr["one"], V3fData( V3f(1) ) ) @@ -881,7 +881,7 @@ def testPresets( self ) : presetsOnly = True, ) - pr = p.presets() + pr = p.getPresets() self.assertEqual( len( pr ), 3 ) self.assertEqual( pr["one"], mesh1 ) self.assertEqual( pr["two"], mesh2 )