+++ /dev/null
-from wxPython.wx import *
-#from Lib.Gui.PlainWidgets import *
-
-class TestLayoutConstraints(wxPanel):
- def __init__(self, parent):
- wxPanel.__init__(self, parent, -1)
- #
- nb = wxNotebook(self, -1)
- page = wxPanel(nb, -1)
- page.SetBackgroundColour(wxBLUE)
- button = wxButton(page, -1, 'press me')
- #
- nb.AddPage(page, 'testpage')
- #
- lc = wxLayoutConstraints()
- lc.top.PercentOf(parent, wxBottom, 0)
- lc.bottom.PercentOf(parent, wxBottom, 100)
- lc.left.PercentOf(parent, wxRight, 0)
- lc.right.PercentOf(parent, wxRight, 100)
- self.SetConstraints(lc)
- self.SetAutoLayout(true)
- #
- lc = wxLayoutConstraints()
- lc.top.PercentOf(self, wxBottom, 0)
- lc.bottom.PercentOf(self, wxBottom, 100)
- lc.left.PercentOf(self, wxRight, 0)
- lc.right.PercentOf(self, wxRight, 100)
- nb.SetConstraints(lc)
-# nb.SetAutoLayout(true)
- #
-# lc = wxLayoutConstraints()
-# lc.top.PercentOf(nb, wxBottom, 0)
-# lc.bottom.PercentOf(nb, wxBottom, 100)
-# lc.left.PercentOf(nb, wxRight, 0)
-# lc.right.PercentOf(nb, wxRight, 100)
-# page.SetConstraints(lc)
- page.SetAutoLayout(true)
-
- # this should center "button" on "page":
- lc = wxLayoutConstraints()
- lc.centreY.PercentOf(page, wxBottom, 50)
- lc.centreX.PercentOf(page, wxRight, 50)
- lc.width.AsIs()
- lc.height.AsIs()
- button.SetConstraints(lc)
-# button.SetAutoLayout(true)
- #
- button.Layout()
- page.Layout()
- nb.Layout()
- self.Layout()
-
-
-if __name__ == "__main__":
- class MyFrame(wxFrame):
- def __init__(self, *argT, **optionD):
- apply(wxFrame.__init__, (self,) + argT, optionD)
- self.SetAutoLayout(true)
- TestLayoutConstraints(self)
-
- class MyApp(wxApp):
- def OnInit(self):
- frame = MyFrame(None, -1, "TestLayoutConstraints",
- size=wxSize(400,300))
- frame.Show(true)
- return true
-
- app = MyApp()
- app.MainLoop()