예제 #1
0
    def testSetNodeSetDriverRestore(self):

        s = Gaffer.ScriptNode()
        c = GafferUI.CompoundEditor(s)

        GafferUI.NodeSetEditor.registerNodeSetDriverMode(
            "testMode", lambda e, t: t.getNodeSet())

        editors = list((GafferUI.NodeEditor(s), GafferUI.NodeEditor(s),
                        GafferUI.AnimationEditor(s), GafferUI.NodeEditor(s)))

        editors[0].setNodeSetDriver(editors[1])
        editors[2].setNodeSetDriver(editors[3], "testMode")

        for e in editors:
            c.addEditor(e)

        a = Gaffer.ApplicationRoot("testApp")
        l = GafferUI.Layouts.acquire(a)
        l.add("ReprDriverTest", repr(c), persistent=False)

        cc = l.create("ReprDriverTest", s)

        editors = cc.editors()

        driver, mode = editors[0].getNodeSetDriver()
        self.assertTrue(driver is editors[1])
        self.assertTrue(mode is GafferUI.NodeSetEditor.DriverModeNodeSet)

        driver, mode = editors[2].getNodeSetDriver()
        self.assertTrue(driver is editors[3])
        self.assertTrue(mode is "testMode")

        driver, mode = editors[3].getNodeSetDriver()
        self.assertIsNone(driver)
예제 #2
0
    def testRestore(self):

        s = Gaffer.ScriptNode()
        c = GafferUI.CompoundEditor(s)

        editors = list((GafferUI.NodeEditor(s), GafferUI.AnimationEditor(s),
                        GafferUI.GraphEditor(s), GafferUI.PythonEditor(s)))

        editorTypes = [type(e) for e in editors]

        for e in editors[:2]:
            c.addEditor(e)

        p = c._createDetachedPanel()

        for e in editors[2:]:
            p.addEditor(e)

        self.assertEqual(len(c._detachedPanels()), 1)
        self.assertEqual(c.editors(), editors)

        a = Gaffer.ApplicationRoot("testApp")
        l = GafferUI.Layouts.acquire(a)
        l.add("ReprTest", repr(c), persistent=False)

        cc = l.create("ReprTest", s)

        self.assertEqual(len(cc._detachedPanels()), 1)

        ct = [type(e) for e in cc.editors()]
        self.assertEqual(ct, editorTypes)
        self.assertEqual(repr(cc.editors()), repr(editors))
예제 #3
0
    def testNodeSetRestore(self):

        s = Gaffer.ScriptNode()
        c = GafferUI.CompoundEditor(s)

        editors = list((GafferUI.NodeEditor(s), GafferUI.NodeEditor(s),
                        GafferUI.AnimationEditor(s), GafferUI.NodeEditor(s)))

        editors[0].setNodeSet(Gaffer.NumericBookmarkSet(s, 1))
        editors[1].setNodeSet(Gaffer.NumericBookmarkSet(s, 2))
        editors[2].setNodeSet(Gaffer.NumericBookmarkSet(s, 3))

        for e in editors:
            c.addEditor(e)

        a = Gaffer.ApplicationRoot("testApp")
        l = GafferUI.Layouts.acquire(a)
        l.add("ReprNodeSetTest", repr(c), persistent=False)

        cc = l.create("ReprNodeSetTest", s)

        editors = cc.editors()

        ns = editors[0].getNodeSet()
        self.assertTrue(isinstance(ns, Gaffer.NumericBookmarkSet))
        self.assertTrue(ns.getBookmark(), 1)

        ns = editors[1].getNodeSet()
        self.assertTrue(isinstance(ns, Gaffer.NumericBookmarkSet))
        self.assertTrue(ns.getBookmark(), 2)

        ns = editors[2].getNodeSet()
        self.assertTrue(isinstance(ns, Gaffer.NumericBookmarkSet))
        self.assertTrue(ns.getBookmark(), 3)

        ns = editors[3].getNodeSet()
        self.assertTrue(isinstance(ns, Gaffer.StandardSet))