Ejemplo n.º 1
0
    def testParameterInvalidWhenParameterChangedRaises(self):
        class InvalidValueRaiser(IECore.Parameterised):
            def __init__(self):

                IECore.Parameterised.__init__(self, "")

                self.parameters().addParameters([
                    IECore.IntParameter(
                        name="driver",
                        description="",
                        defaultValue=0,
                    ),
                ], )

                self.changes = []

            def parameterChanged(self, parameter):

                # this puts the parameter in a state where its value
                # is not valid.
                parameter.setValue(IECore.StringData("oh dear"))
                # then when we raise here, a further exception will
                # occur when the invalid parameter value is discovered
                # during the application of parameter changes to the plugs.
                raise RuntimeError("Ooops!")

        c = InvalidValueRaiser()

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised(c)

        self.assertRaises(RuntimeError, ph["parameters"]["driver"].setValue, 1)
Ejemplo n.º 2
0
    def testClassParameterSerialisation(self):

        s = Gaffer.ScriptNode()

        s["ph"] = Gaffer.ParameterisedHolderNode()
        s["ph"].setParameterised("classParameter", 1, "GAFFERTEST_CLASS_PATHS")

        p = s["ph"].getParameterised()[0]

        classSpec = self.classSpecification("files/sequenceLs",
                                            "IECORE_OP_PATHS")
        with s["ph"].parameterModificationContext():
            p["class"].setClass(*classSpec)

        classPlugNames = s["ph"]["parameters"]["class"].keys()
        for k in p["class"].keys():
            self.failUnless(k in classPlugNames)

        s["ph"]["parameters"]["class"]["recurse"].setValue(True)

        ss = s.serialise()

        s2 = Gaffer.ScriptNode()
        s2.execute(ss)

        self.assertEqual(s2["ph"]["parameters"]["class"].keys(),
                         classPlugNames)

        p2 = s2["ph"].getParameterised()[0]

        self.assertEqual(p2["class"].getClass(True)[1:], classSpec)

        s2["ph"].parameterHandler().setParameterValue()
        self.assertEqual(p2["class"]["recurse"].getTypedValue(), True)
Ejemplo n.º 3
0
	def testDateTimeParameter( self ) :

		p = IECore.Parameterised( "" )

		now = datetime.datetime.now()
		p.parameters().addParameters(

			[
				IECore.DateTimeParameter(
					"dt",
					"",
					now
				)
			]

		)

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.failUnless( isinstance( ph["parameters"]["dt"], Gaffer.StringPlug ) )

		ph.parameterHandler().setParameterValue()
		self.assertEqual( p["dt"].getValue(), IECore.DateTimeData( now ) )

		tomorrow = now + datetime.timedelta( days=1 )
		p["dt"].setValue( IECore.DateTimeData( tomorrow ) )
		ph.parameterHandler().setPlugValue()
		ph.parameterHandler().setParameterValue()
		self.assertEqual( p["dt"].getValue(), IECore.DateTimeData( tomorrow ) )
Ejemplo n.º 4
0
	def testRunTimeTyped( self ) :

		n = Gaffer.ParameterisedHolderNode()

		self.assertEqual( n.typeName(), "Gaffer::ParameterisedHolderNode" )
		self.assertEqual( IECore.RunTimeTyped.typeNameFromTypeId( n.typeId() ), "Gaffer::ParameterisedHolderNode" )
		self.assertEqual( IECore.RunTimeTyped.baseTypeId( n.typeId() ), Gaffer.Node.staticTypeId() )
Ejemplo n.º 5
0
    def testClassVectorParameter(self):

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised("classVectorParameter", 1,
                            "GAFFERTEST_CLASS_PATHS")
        p = ph.getParameterised()[0]

        seqLsClassSpec = self.classSpecification("files/sequenceLs",
                                                 "IECORE_OP_PATHS")[:2]
        gradeClassSpec = self.classSpecification("image/grade",
                                                 "IECORE_OP_PATHS")[:2]
        classes = [
            ("p0", ) + seqLsClassSpec,
            ("p1", ) + gradeClassSpec,
        ]

        with ph.parameterModificationContext():
            p["classes"].setClasses(classes)

        seqLsParameterNames = p["classes"]["p0"].keys()
        for n in seqLsParameterNames:
            self.failUnless(n in ph["parameters"]["classes"]["p0"])

        gradeParameterNames = p["classes"]["p1"].keys()
        for n in gradeParameterNames:
            self.failUnless(n in ph["parameters"]["classes"]["p1"])

        with ph.parameterModificationContext():
            p["classes"].setClasses([])

        for k in ph["parameters"]["classes"].keys():
            self.failUnless(k.startswith("__"))
Ejemplo n.º 6
0
	def testParameterChangingType( self ) :

		p = IECore.Parameterised( "" )

		p.parameters().addParameter(

			IECore.IntParameter(
				"a",
				"",
				1
			)

		)

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.failUnless( isinstance( ph["parameters"], Gaffer.CompoundPlug ) )
		self.failUnless( isinstance( ph["parameters"]["a"], Gaffer.IntPlug ) )
		self.assertEqual( len( ph["parameters"] ), 1 )

		with ph.parameterModificationContext() :
			p.parameters().removeParameter( p.parameters()["a"] )
			p.parameters().addParameter( IECore.FloatParameter( "a", "", 2 ) )

		self.failUnless( isinstance( ph["parameters"], Gaffer.CompoundPlug ) )
		self.failUnless( isinstance( ph["parameters"]["a"], Gaffer.FloatPlug ) )
		self.assertEqual( len( ph["parameters"] ), 1 )
Ejemplo n.º 7
0
    def testClassVectorParameterMaintainsPlugValues(self):

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised("classVectorParameter", 1,
                            "GAFFERTEST_CLASS_PATHS")
        p = ph.getParameterised()[0]

        seqLsClassSpec = self.classSpecification("files/sequenceLs",
                                                 "IECORE_OP_PATHS")[:2]
        gradeClassSpec = self.classSpecification("image/grade",
                                                 "IECORE_OP_PATHS")[:2]
        classes = [
            ("p0", ) + gradeClassSpec,
        ]

        with ph.parameterModificationContext():
            p["classes"].setClasses(classes)

        ph["parameters"]["classes"]["p0"]["multiply"].setValue(
            IECore.Color3f(0.5, 0.25, 0.125))
        ph.setParameterisedValues()

        classes.append(("p1", ) + seqLsClassSpec)
        with ph.parameterModificationContext():
            p["classes"].setClasses(classes)

        self.assertEqual(
            ph["parameters"]["classes"]["p0"]["multiply"].getValue(),
            IECore.Color3f(0.5, 0.25, 0.125))
Ejemplo n.º 8
0
	def testCompoundNumericTypes( self ) :

		p = IECore.Parameterised( "" )

		p.parameters().addParameters(

			[
				IECore.V2iParameter( "v2i", "", IECore.V2i( 1, 2 ) ),
				IECore.V3fParameter( "v3f", "", IECore.V3f( 1, 2, 3 ) ),
				IECore.Color4fParameter( "color4f", "", IECore.Color4f( 0.25, 0.5, 0.75, 1 ) ),
			]

		)

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.assertEqual( ph["parameters"]["v2i"].defaultValue(), IECore.V2i( 1, 2 ) )
		self.assertEqual( ph["parameters"]["v3f"].defaultValue(), IECore.V3f( 1, 2, 3 ) )
		self.assertEqual( ph["parameters"]["color4f"].defaultValue(), IECore.Color4f( 0.25, 0.5, 0.75, 1 ) )

		self.assertEqual( ph["parameters"]["v2i"].getValue(), IECore.V2i( 1, 2 ) )
		self.assertEqual( ph["parameters"]["v3f"].getValue(), IECore.V3f( 1, 2, 3 ) )
		self.assertEqual( ph["parameters"]["color4f"].getValue(), IECore.Color4f( 0.25, 0.5, 0.75, 1 ) )

		ph["parameters"]["v2i"].setValue( IECore.V2i( 2, 3 ) )
		ph["parameters"]["v3f"].setValue( IECore.V3f( 4, 5, 6 ) )
		ph["parameters"]["color4f"].setValue( IECore.Color4f( 0.1, 0.2, 0.3, 0.5 ) )

		ph.setParameterisedValues()

		self.assertEqual( p["v2i"].getTypedValue(), IECore.V2i( 2, 3 ) )
		self.assertEqual( p["v3f"].getTypedValue(), IECore.V3f( 4, 5, 6 ) )
		self.assertEqual( p["color4f"].getTypedValue(), IECore.Color4f( 0.1, 0.2, 0.3, 0.5 ) )
Ejemplo n.º 9
0
    def testClassVectorParameterSerialisation(self):

        s = Gaffer.ScriptNode()
        s["ph"] = Gaffer.ParameterisedHolderNode()
        s["ph"].setParameterised("classVectorParameter", 1,
                                 "GAFFERTEST_CLASS_PATHS")
        p = s["ph"].getParameterised()[0]

        gradeClassSpec = self.classSpecification("image/grade",
                                                 "IECORE_OP_PATHS")[:2]
        classes = [
            ("p0", ) + gradeClassSpec,
        ]

        with s["ph"].parameterModificationContext():
            p["classes"].setClasses(classes)

        s["ph"]["parameters"]["classes"]["p0"]["multiply"].setValue(
            IECore.Color3f(0.5, 0.25, 0.125))

        ss = s.serialise()

        s2 = Gaffer.ScriptNode()
        s2.execute(ss)

        self.assertEqual(
            s2["ph"]["parameters"]["classes"]["p0"]["multiply"].getValue(),
            IECore.Color3f(0.5, 0.25, 0.125))
Ejemplo n.º 10
0
	def testVectorTypedParameter( self ) :

		p = IECore.Parameterised( "" )

		p.parameters().addParameters(

			[

				IECore.BoolVectorParameter( "bv", "", IECore.BoolVectorData() ),
				IECore.IntVectorParameter( "iv", "", IECore.IntVectorData() ),
				IECore.FloatVectorParameter( "fv", "", IECore.FloatVectorData() ),
				IECore.StringVectorParameter( "sv", "", IECore.StringVectorData() ),
				IECore.V3fVectorParameter( "vv", "", IECore.V3fVectorData() ),

			]

		)

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.assertEqual( ph["parameters"]["bv"].defaultValue(), IECore.BoolVectorData() )
		self.assertEqual( ph["parameters"]["iv"].defaultValue(), IECore.IntVectorData() )
		self.assertEqual( ph["parameters"]["fv"].defaultValue(), IECore.FloatVectorData() )
		self.assertEqual( ph["parameters"]["sv"].defaultValue(), IECore.StringVectorData() )
		self.assertEqual( ph["parameters"]["vv"].defaultValue(), IECore.V3fVectorData() )

		self.assertEqual( ph["parameters"]["bv"].getValue(), IECore.BoolVectorData() )
		self.assertEqual( ph["parameters"]["iv"].getValue(), IECore.IntVectorData() )
		self.assertEqual( ph["parameters"]["fv"].getValue(), IECore.FloatVectorData() )
		self.assertEqual( ph["parameters"]["sv"].getValue(), IECore.StringVectorData() )
		self.assertEqual( ph["parameters"]["vv"].getValue(), IECore.V3fVectorData() )

		with ph.parameterModificationContext() as parameters :

			parameters["bv"].setValue( IECore.BoolVectorData( [ True, False ] ) )
			parameters["iv"].setValue( IECore.IntVectorData( [ 1, 2, 3 ] ) )
			parameters["fv"].setValue( IECore.FloatVectorData( [ 1 ] ) )
			parameters["sv"].setValue( IECore.StringVectorData( [ "a" ] ) )
			parameters["vv"].setValue( IECore.V3fVectorData( [ IECore.V3f( 1, 2, 3 ) ] ) )

		self.assertEqual( ph["parameters"]["bv"].getValue(), IECore.BoolVectorData( [ True, False ] ) )
		self.assertEqual( ph["parameters"]["iv"].getValue(), IECore.IntVectorData( [ 1, 2, 3 ] ) )
		self.assertEqual( ph["parameters"]["fv"].getValue(), IECore.FloatVectorData( [ 1 ] ) )
		self.assertEqual( ph["parameters"]["sv"].getValue(), IECore.StringVectorData( [ "a" ] ) )
		self.assertEqual( ph["parameters"]["vv"].getValue(), IECore.V3fVectorData( [ IECore.V3f( 1, 2, 3 ) ] ) )

		ph["parameters"]["bv"].setValue( IECore.BoolVectorData( [ True, True ] ) )
		ph["parameters"]["iv"].setValue( IECore.IntVectorData( [ 2, 3, 4 ] ) )
		ph["parameters"]["fv"].setValue( IECore.FloatVectorData( [ 2 ] ) )
		ph["parameters"]["sv"].setValue( IECore.StringVectorData( [ "b" ] ) )
		ph["parameters"]["vv"].setValue( IECore.V3fVectorData( [ IECore.V3f( 10, 20, 30 ) ] ) )

		ph.setParameterisedValues()

		self.assertEqual( parameters["bv"].getValue(), IECore.BoolVectorData( [ True, True ] ) )
		self.assertEqual( parameters["iv"].getValue(), IECore.IntVectorData( [ 2, 3, 4 ] ) )
		self.assertEqual( parameters["fv"].getValue(), IECore.FloatVectorData( [ 2 ] ) )
		self.assertEqual( parameters["sv"].getValue(), IECore.StringVectorData( [ "b" ] ) )
		self.assertEqual( parameters["vv"].getValue(), IECore.V3fVectorData( [ IECore.V3f( 10, 20, 30 ) ] ) )
Ejemplo n.º 11
0
    def testSetParameterisedWithoutClassLoader(self):

        n = Gaffer.ParameterisedHolderNode()
        op = IECore.SequenceRenumberOp()

        n.setParameterised(op)
        self.assertEqual(n.getParameterised(), (op, "", -1, ""))
Ejemplo n.º 12
0
    def testReadOnly(self):

        p = IECore.Parameterised("")

        p.parameters().addParameters([IECore.IntParameter(
            "i",
            "",
            1,
        )])

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised(p)

        self.failUnless("parameters" in ph)
        self.failUnless("i" in ph["parameters"])
        self.assertEqual(ph["parameters"]["i"].getValue(), 1)
        self.assertEqual(
            ph["parameters"]["i"].getFlags(Gaffer.Plug.Flags.ReadOnly), False)

        with ph.parameterModificationContext():

            p.parameters()["i"].userData()["gaffer"] = IECore.CompoundObject({
                "readOnly":
                IECore.BoolData(True),
            })
            p.parameters()["i"].setNumericValue(2)

        self.assertEqual(
            ph["parameters"]["i"].getFlags(Gaffer.Plug.Flags.ReadOnly), True)
        # the plug was made read only, so should not have accepted the new parameter value
        self.assertEqual(ph["parameters"]["i"].getValue(), 1)
Ejemplo n.º 13
0
	def __init__( self, opInstance, title=None, sizeMode=GafferUI.Window.SizeMode.Manual, **kw ) :

		if title is None :
			title = IECore.CamelCase.toSpaced( opInstance.typeName() )

		GafferUI.Dialogue.__init__( self, title, sizeMode=sizeMode, **kw )
		
		self.__node = Gaffer.ParameterisedHolderNode()
		self.__node.setParameterised( opInstance )

		frame = GafferUI.Frame()
		frame.setChild( GafferUI.NodeUI.create( self.__node ) )
		
		self._setWidget( frame )
		
		self.__cancelButton = self._addButton( "Cancel" )
		self.__cancelButtonConnection = self.__cancelButton.clickedSignal().connect( Gaffer.WeakMethod( self.__buttonClicked ) )
		
		executeLabel = "OK"
		with IECore.IgnoredExceptions( KeyError ) :
			executeLabel = opInstance.userData()["UI"]["buttonLabel"].value
		self.__executeButton = self._addButton( executeLabel )
		self.__executeButtonConnection = self.__executeButton.clickedSignal().connect( Gaffer.WeakMethod( self.__buttonClicked ) )
		
		self.__opExecutedSignal = Gaffer.Signal1()
Ejemplo n.º 14
0
    def testExceptionInParameterChanged(self):
        class ParameterChangedRaiser(IECore.Parameterised):
            def __init__(self):

                IECore.Parameterised.__init__(self, "")

                self.parameters().addParameters([
                    IECore.IntParameter(
                        name="driver",
                        description="",
                    ),
                ], )

                self.changes = []

            def parameterChanged(self, parameter):

                raise RuntimeError("Ooops!")

        c = ParameterChangedRaiser()

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised(c)

        self.assertRaises(RuntimeError, ph["parameters"]["driver"].setValue,
                          10)
Ejemplo n.º 15
0
	def testParameterChangedCanChangeValues( self ) :

		class ParameterChanger( IECore.Parameterised ) :

			def __init__( self ) :

				IECore.Parameterised.__init__( self, "" )

				self.parameters().addParameters(

					[

						IECore.IntParameter(
							name = "driver",
							description = "",
						),

						IECore.IntParameter(
							name = "driven",
							description = "",
						),

					],

				)

				self.changes = []

			def parameterChanged( self, parameter ) :

				self.changes.append( ( parameter, parameter.getNumericValue() ) )

				if parameter.isSame( self.parameters()["driver"] ) :

					self.parameters()["driven"].setNumericValue( parameter.getNumericValue() * 2 )

		c = ParameterChanger()

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( c )

		self.assertEqual( ph["parameters"]["driver"].getValue(), 0 )
		self.assertEqual( ph["parameters"]["driven"].getValue(), 0 )
		self.assertEqual( len( c.changes ), 0 )

		ph["parameters"]["driver"].setValue( 10 )

		self.assertEqual( ph["parameters"]["driver"].getValue(), 10 )
		self.assertEqual( ph["parameters"]["driven"].getValue(), 20 )
		self.assertEqual( len( c.changes ), 1 )
		self.failUnless( c.changes[0][0].isSame( c["driver"] ) )
		self.assertEqual( c.changes[0][1], 10 )

		ph["parameters"]["driven"].setValue( 30 )

		self.assertEqual( ph["parameters"]["driver"].getValue(), 10 )
		self.assertEqual( ph["parameters"]["driven"].getValue(), 30 )
		self.assertEqual( len( c.changes ), 2 )
		self.failUnless( c.changes[1][0].isSame( c["driven"] ) )
		self.assertEqual( c.changes[1][1], 30 )
Ejemplo n.º 16
0
	def _deferredUpdate( self, op ) :

		self.__node = Gaffer.ParameterisedHolderNode()
		self.__node.setParameterised( op )
		GafferCortexUI.ParameterPresets.autoLoad( self.__node )

		self.__column[0] = GafferUI.NodeUI.create( self.__node )
Ejemplo n.º 17
0
 def __init__(self, path):
     self.__column = GafferUI.ListContainer(borderWidth=8)
     GafferUI.DeferredPathPreview.__init__(self, self.__column, path)
     self._updateFromPath()
     self.__classLoader = IECore.ClassLoader.defaultOpLoader()
     self.__node = Gaffer.ParameterisedHolderNode()
     self.__op = self.__classLoader.load('admin/jobs/mkjob')()
     self.__node.setParameterised(self.__op)
     self.jobs = populateJobs()
Ejemplo n.º 18
0
	def testClassLoading( self ) :

		ph = Gaffer.ParameterisedHolderNode()
		classSpec = self.classSpecification( "files/sequenceLs", "IECORE_OP_PATHS" )
		ph.setParameterised( *classSpec )

		p = ph.getParameterised()
		self.assertEqual( p[0].typeName(), "SequenceLsOp" )
		self.assertEqual( p[1], "files/sequenceLs" )
		self.assertEqual( p[2], classSpec[1] )
		self.assertEqual( p[3], "IECORE_OP_PATHS" )
Ejemplo n.º 19
0
    def _deferredUpdate(self, op):
        del self.__column[:]
        self.__node = Gaffer.ParameterisedHolderNode()
        self.__node.setParameterised(op)

        with self.__column:
            pipeImage(op)
            GafferUI.NodeUI.create(self.__node)

            button = GafferUI.Button("Execute")
            self.__executeClickedConnection = button.clickedSignal().connect(
                self.__executeClicked)
Ejemplo n.º 20
0
	def testCreateWithNonDefaultValues( self ) :

		p = IECore.Parameterised( "" )
		p.parameters().addParameter( IECore.IntParameter( "i1", "", 1, ) )

		p["i1"].setNumericValue( 10 )

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.assertEqual( ph["parameters"]["i1"].defaultValue(), 1 )
		self.assertEqual( ph["parameters"]["i1"].getValue(), 10 )
Ejemplo n.º 21
0
	def testParameterHandlerMethod( self ) :

		p = IECore.Parameterised( "" )
		p.parameters().addParameter( IECore.IntParameter( "i1", "", 1, ) )

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( p )

		h = ph.parameterHandler()
		self.failUnless( isinstance( h, Gaffer.CompoundParameterHandler ) )
		self.failUnless( h.parameter().isSame( p.parameters() ) )
		self.failUnless( h.plug().isSame( ph["parameters"] ) )
Ejemplo n.º 22
0
	def testKeepExistingValues( self ) :

		ph = Gaffer.ParameterisedHolderNode()

		ph.setParameterised( IECore.Grade() )
		ph["parameters"]["lift"].setValue( IECore.Color3f( 1, 0, 0 ) )

		ph.setParameterised( IECore.Grade() )
		self.assertEqual( ph["parameters"]["lift"].getValue(), IECore.Color3f( 0 ) )

		ph["parameters"]["lift"].setValue( IECore.Color3f( 1, 0, 0 ) )
		ph.setParameterised( IECore.Grade(), keepExistingValues=True )
		self.assertEqual( ph["parameters"]["lift"].getValue(), IECore.Color3f( 1, 0, 0 ) )
Ejemplo n.º 23
0
	def __pathSelected( self, pathListing ) :

		selectedPaths = pathListing.getSelectedPaths()
		if not len( selectedPaths ) :
			return

		op = selectedPaths[0].classLoader().load( str( selectedPaths[0] )[1:] )()
		node = Gaffer.ParameterisedHolderNode()
		node.setParameterised( op )
		GafferUI.ParameterPresets.autoLoad( node )

		opDialogue = GafferUI.OpDialogue( node, executeInBackground = True )
		pathListing.ancestor( GafferUI.Window ).addChildWindow( opDialogue )
		opDialogue.setVisible( True )
Ejemplo n.º 24
0
	def testParameterChangedWithCompoundParameters( self ) :

		class ParameterChanger( IECore.Parameterised ) :

			def __init__( self ) :

				IECore.Parameterised.__init__( self, "" )

				self.parameters().addParameters(

					[

						IECore.IntParameter(
							name = "driver",
							description = "",
						),

						IECore.CompoundParameter(
							name = "c",
							members = [
								IECore.IntParameter(
									"i", ""
								),
								IECore.StringParameter(
									"s", "", ""
								),
							]
						),

					],

				)

				self.changes = []

			# the mere existence of this function caused the problem this
			# test is checking is fixed.
			def parameterChanged( self, parameter ) :

				pass

		c = ParameterChanger()

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( c )

		self.failUnless( "parameters" in ph )
		self.failUnless( "c" in ph["parameters"] )
		self.failUnless( "i" in ph["parameters"]["c"] )
		self.failUnless( "s" in ph["parameters"]["c"] )
Ejemplo n.º 25
0
    def _deferredUpdateOPA( self, op ) :
        # del self.__column[:]
        self.__node = Gaffer.ParameterisedHolderNode()
        self.__node.setParameterised( op )
        with GafferUI.ErrorDialogue.ExceptionHandler( parentWindow=self.ancestor( GafferUI.Window ) ) :
            with self._previewCollum :
                with  GafferUI.ListContainer( borderWidth = 0, spacing = 0 ) as frame:
                    opaClasses.pipeImage(op)
                    self.__nodeUI = GafferUI.NodeUI.create( self.__node )

                    button = GafferUI.Button( "Publish" )
                    self.__executeClickedConnection = button.clickedSignal().connect( self.__executeClicked )
                frame._qtWidget().setMaximumSize(100,400)
                frame._qtWidget().setMaximumSize(200,400)
                self._previewCollum._qtWidget().setMaximumSize(100,400)
                self._previewCollum._qtWidget().setMaximumSize(200,400)
Ejemplo n.º 26
0
    def testBoxTypes(self):

        p = IECore.Parameterised("")

        p.parameters().addParameters([
            IECore.Box3iParameter(
                "b",
                "",
                IECore.Box3i(
                    IECore.V3i(-1, -2, -3),
                    IECore.V3i(2, 1, 3),
                ),
            )
        ])

        ph = Gaffer.ParameterisedHolderNode()
        ph.setParameterised(p)

        self.failUnless(isinstance(ph["parameters"]["b"], Gaffer.CompoundPlug))
        self.failUnless(
            isinstance(ph["parameters"]["b"]["min"], Gaffer.V3iPlug))
        self.failUnless(
            isinstance(ph["parameters"]["b"]["max"], Gaffer.V3iPlug))

        self.assertEqual(ph["parameters"]["b"]["min"].getValue(),
                         IECore.V3i(-1, -2, -3))
        self.assertEqual(ph["parameters"]["b"]["max"].getValue(),
                         IECore.V3i(2, 1, 3))

        ph["parameters"]["b"]["min"].setValue(IECore.V3i(-10, -20, -30))
        ph["parameters"]["b"]["max"].setValue(IECore.V3i(10, 20, 30))

        ph.parameterHandler().setParameterValue()

        self.assertEqual(
            p["b"].getTypedValue(),
            IECore.Box3i(IECore.V3i(-10, -20, -30), IECore.V3i(10, 20, 30)))

        with ph.parameterModificationContext():

            p["b"].setTypedValue(
                IECore.Box3i(IECore.V3i(-2, -4, -6), IECore.V3i(2, 4, 6)))

        self.assertEqual(ph["parameters"]["b"]["min"].getValue(),
                         IECore.V3i(-2, -4, -6))
        self.assertEqual(ph["parameters"]["b"]["max"].getValue(),
                         IECore.V3i(2, 4, 6))
Ejemplo n.º 27
0
    def testParameterHandlerIsConstant(self):

        # We need the ParameterisedHolder to keep using the same ParameterHandler,
        # as otherwise the ui code would become much more complex, having to track
        # the addition and removal of different parameter handlers.

        p = IECore.Parameterised("")

        phn = Gaffer.ParameterisedHolderNode()
        phn.setParameterised(p)

        ph = phn.parameterHandler()

        with phn.parameterModificationContext():
            p.parameters().addParameter(IECore.FloatParameter("a", "", 2))

        self.failUnless(ph.isSame(phn.parameterHandler()))
Ejemplo n.º 28
0
	def testClassParameter( self ) :

		ph = Gaffer.ParameterisedHolderNode()
		ph.setParameterised( "classParameter", 1, "GAFFERTEST_CLASS_PATHS" )
		p = ph.getParameterised()[0]

		with ph.parameterModificationContext() :
			p["class"].setClass( *self.classSpecification( "files/sequenceLs", "IECORE_OP_PATHS" ) )

		seqLsParameterNames = p["class"].keys()
		for n in seqLsParameterNames :
			self.failUnless( n in ph["parameters"]["class"] )

		with ph.parameterModificationContext() :
			p["class"].setClass( "", 0 )

		for n in seqLsParameterNames :
			self.failIf( n in ph["parameters"]["class"] )
Ejemplo n.º 29
0
    def testSimplePlugTypes(self):

        n = Gaffer.ParameterisedHolderNode()
        op = IECore.SequenceRenumberOp()
        n.setParameterised(op)

        self.failUnless(isinstance(n["parameters"]["src"], Gaffer.StringPlug))
        self.failUnless(isinstance(n["parameters"]["dst"], Gaffer.StringPlug))
        self.failUnless(isinstance(n["parameters"]["multiply"],
                                   Gaffer.IntPlug))
        self.failUnless(isinstance(n["parameters"]["offset"], Gaffer.IntPlug))

        self.assertEqual(n["parameters"]["src"].defaultValue(), "")
        self.assertEqual(n["parameters"]["dst"].defaultValue(), "")
        self.assertEqual(n["parameters"]["multiply"].defaultValue(), 1)
        self.assertEqual(n["parameters"]["offset"].defaultValue(), 0)

        self.assertEqual(n["parameters"]["src"].getValue(), "")
        self.assertEqual(n["parameters"]["dst"].getValue(), "")
        self.assertEqual(n["parameters"]["multiply"].getValue(), 1)
        self.assertEqual(n["parameters"]["offset"].getValue(), 0)

        for k in op.parameters().keys():
            self.assertEqual(n["parameters"][k].defaultValue(),
                             op.parameters()[k].defaultValue.value)

        with n.parameterModificationContext() as parameters:

            parameters["multiply"].setNumericValue(10)
            parameters["dst"].setTypedValue("/tmp/s.####.exr")

        self.assertEqual(n["parameters"]["multiply"].getValue(), 10)
        self.assertEqual(n["parameters"]["dst"].getValue(), "/tmp/s.####.exr")

        n["parameters"]["multiply"].setValue(20)
        n["parameters"]["dst"].setValue("lalalal.##.tif")

        n.setParameterisedValues()

        self.assertEqual(op["multiply"].getNumericValue(), 20)
        self.assertEqual(op["dst"].getTypedValue(), "lalalal.##.tif")
Ejemplo n.º 30
0
	def testSerialisation( self ) :

		ph = Gaffer.ParameterisedHolderNode()
		classSpec = self.classSpecification( "files/sequenceRenumber", "IECORE_OP_PATHS" )
		ph.setParameterised( *classSpec )

		s = Gaffer.ScriptNode()
		s["n"] = ph
		s["n"]["parameters"]["offset"].setValue( 21 )

		ss = s.serialise()

		s = Gaffer.ScriptNode()
		s.execute( ss )

		self.failUnless( "n" in s )
		parameterised = s["n"].getParameterised()

		self.assertEqual( parameterised[1:], classSpec )
		self.assertEqual( parameterised[0].typeName(), "SequenceRenumberOp" )
		self.assertEqual( s["n"]["parameters"]["offset"].getValue(), 21 )