def testChildAccess( self ) : n = Gaffer.Node() n["c"] = Gaffer.CompoundPlug() n["c"]["i"] = Gaffer.IntPlug() n["c"]["s"] = Gaffer.StringPlug() pw = GafferUI.CompoundPlugValueWidget( n["c"] ) # shouldn't get anything because the ui is being built lazily self.assertEqual( pw.childPlugValueWidget( n["c"]["i"] ), None ) self.assertEqual( pw.childPlugValueWidget( n["c"]["s"] ), None ) # but should be able to force the creation self.failUnless( isinstance( pw.childPlugValueWidget( n["c"]["i"], lazy=False ), GafferUI.PlugValueWidget ) ) self.failUnless( isinstance( pw.childPlugValueWidget( n["c"]["s"], lazy=False ), GafferUI.PlugValueWidget ) ) # shouldn't need to force with lazy=False if the ui is user-visible. pw = GafferUI.CompoundPlugValueWidget( n["c"], collapsed=None ) w = GafferUI.Window() w.setChild( pw ) w.setVisible( True ) self.failUnless( isinstance( pw.childPlugValueWidget( n["c"]["i"] ), GafferUI.PlugValueWidget ) ) self.failUnless( isinstance( pw.childPlugValueWidget( n["c"]["s"] ), GafferUI.PlugValueWidget ) )
def testChildReadOnlyStatus( self ) : n = Gaffer.Node() n["c"] = Gaffer.CompoundPlug() n["c"]["i"] = Gaffer.IntPlug() n["c"]["s"] = Gaffer.StringPlug() w = GafferUI.CompoundPlugValueWidget( n["c"] ) w.setReadOnly( True ) iw = w.childPlugValueWidget( n["c"]["i"], lazy=False ) sw = w.childPlugValueWidget( n["c"]["s"], lazy=False ) self.assertEqual( iw.getReadOnly(), True ) self.assertEqual( sw.getReadOnly(), True ) w.setReadOnly( False ) self.assertEqual( iw.getReadOnly(), False ) self.assertEqual( sw.getReadOnly(), False )