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()
 |