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