git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import wx
 | |
| from blockwindow import BlockWindow
 | |
| 
 | |
| labels = "one two three four".split()
 | |
| 
 | |
| class TestFrame(wx.Frame):
 | |
|     title = "none"
 | |
|     def __init__(self):
 | |
|         wx.Frame.__init__(self, None, -1, self.title)
 | |
|         sizer = self.CreateSizerAndWindows()
 | |
|         self.SetSizer(sizer)
 | |
|         self.Fit()
 | |
|         
 | |
| class VBoxSizerFrame(TestFrame):
 | |
|     title = "Vertical BoxSizer"
 | |
|     
 | |
|     def CreateSizerAndWindows(self):
 | |
|         sizer = wx.BoxSizer(wx.VERTICAL)
 | |
|         for label in labels:
 | |
|             bw = BlockWindow(self, label=label, size=(200,30))
 | |
|             sizer.Add(bw, flag=wx.EXPAND)
 | |
|         return sizer
 | |
|     
 | |
| 
 | |
| class HBoxSizerFrame(TestFrame):
 | |
|     title = "Horizontal BoxSizer"
 | |
| 
 | |
|     def CreateSizerAndWindows(self):
 | |
|         sizer = wx.BoxSizer(wx.HORIZONTAL)
 | |
|         for label in labels:
 | |
|             bw = BlockWindow(self, label=label, size=(75,30))
 | |
|             sizer.Add(bw, flag=wx.EXPAND)
 | |
|         return sizer
 | |
| 
 | |
| class VBoxSizerStretchableFrame(TestFrame):
 | |
|     title = "Stretchable BoxSizer"
 | |
| 
 | |
|     def CreateSizerAndWindows(self):
 | |
|         sizer = wx.BoxSizer(wx.VERTICAL)
 | |
|         for label in labels:
 | |
|             bw = BlockWindow(self, label=label, size=(200,30))
 | |
|             sizer.Add(bw, flag=wx.EXPAND)
 | |
| 
 | |
|         # Add an item that takes all the free space
 | |
|         bw = BlockWindow(self, label="gets all free space", size=(200,30))
 | |
|         sizer.Add(bw, 1, flag=wx.EXPAND)
 | |
|         return sizer
 | |
| 
 | |
| class VBoxSizerMultiProportionalFrame(TestFrame):
 | |
|     title = "Proportional BoxSizer"
 | |
|     
 | |
|     def CreateSizerAndWindows(self):
 | |
|         sizer = wx.BoxSizer(wx.VERTICAL)
 | |
|         for label in labels:
 | |
|             bw = BlockWindow(self, label=label, size=(200,30))
 | |
|             sizer.Add(bw, flag=wx.EXPAND)
 | |
| 
 | |
|         # Add an item that takes one share of the free space
 | |
|         bw = BlockWindow(self, 
 | |
|                 label="gets 1/3 of the free space", 
 | |
|                 size=(200,30))
 | |
|         sizer.Add(bw, 1, flag=wx.EXPAND)
 | |
| 
 | |
|         # Add an item that takes 2 shares of the free space
 | |
|         bw = BlockWindow(self, 
 | |
|                 label="gets 2/3 of the free space", 
 | |
|                 size=(200,30))
 | |
|         sizer.Add(bw, 2, flag=wx.EXPAND)
 | |
|         return sizer
 | |
| 
 | |
| app = wx.PySimpleApp()
 | |
| frameList = [VBoxSizerFrame, HBoxSizerFrame, 
 | |
|              VBoxSizerStretchableFrame, 
 | |
|              VBoxSizerMultiProportionalFrame]
 | |
| for klass in frameList:
 | |
|     frame = klass()
 | |
|     frame.Show()
 | |
| app.MainLoop()
 |