f6bcfd974e
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
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()
|