def testOverlayWidgetAt( self ) : w = GafferUI.Window() g = GafferUI.GLWidget() c = GafferUI.GridContainer() b = GafferUI.Button() w.setChild( g ) g.addOverlay( c ) c.addChild( b, alignment = ( GafferUI.HorizontalAlignment.None_, GafferUI.VerticalAlignment.Top ) ) w.setVisible( True ) self.waitForIdle( 10000 ) self.assertTrue( GafferUI.Widget.widgetAt( w.bound().min() + imath.V2i( 4 ) ) is b )
def testOverlayWidgetAt( self ) : w = GafferUI.Window() g = GafferUI.GLWidget() f = GafferUI.Frame( borderWidth = 0, borderStyle=GafferUI.Frame.BorderStyle.None ) b = GafferUI.Button() w.setChild( g ) g.addOverlay( f ) f.setChild( b ) w.setVisible( True ) self.waitForIdle( 1000 ) self.assertTrue( GafferUI.Widget.widgetAt( w.bound().min + IECore.V2i( 4 ) ) is b )
def testOverlayParenting(self): w = GafferUI.Window() g = GafferUI.GLWidget() f = GafferUI.Frame() b = GafferUI.Button() w.setChild(g) g.setOverlay(f) f.setChild(b) self.assertTrue(b.parent() is f) self.assertTrue(f.parent() is g) self.assertTrue(g.parent() is w) self.assertTrue(b.ancestor(GafferUI.GLWidget) is g) self.assertTrue(b.ancestor(GafferUI.Frame) is f) self.assertTrue(b.ancestor(GafferUI.Window) is w)
def testOverlayAccessors(self): g = GafferUI.GLWidget() self.assertEqual(g.getOverlay(), None) b1 = GafferUI.Button() b2 = GafferUI.Button() self.assertEqual(b1.parent(), None) self.assertEqual(b2.parent(), None) g.setOverlay(b1) self.assertEqual(b1.parent(), g) self.assertEqual(b2.parent(), None) g.setOverlay(b2) self.assertEqual(b1.parent(), None) self.assertEqual(b2.parent(), g)
def testOverlayBound(self): w = GafferUI.Window() g = GafferUI.GLWidget() f = GafferUI.Frame() b = GafferUI.Button() w.setChild(g) g.setOverlay(f) f.setChild(b) w.setVisible(True) w.setPosition(IECore.V2i(100)) self.waitForIdle(1000) b1 = b.bound() w.setPosition(IECore.V2i(200)) self.waitForIdle(1000) b2 = b.bound() self.assertEqual(b2.min, b1.min + IECore.V2i(100)) self.assertEqual(b2.max, b1.max + IECore.V2i(100))
def testOverlayMousePosition(self): w = GafferUI.Window(borderWidth=10) g = GafferUI.GLWidget() f = GafferUI.Frame() b = GafferUI.Button() w.setChild(g) g.setOverlay(f) f.setChild(b) w.setVisible(True) w.setPosition(IECore.V2i(100)) self.waitForIdle(1000) wBound = w.bound() bBound = b.bound() wP = GafferUI.Widget.mousePosition(relativeTo=w) bP = GafferUI.Widget.mousePosition(relativeTo=b) self.assertEqual(bBound.min - wBound.min, wP - bP)