]> git.saurik.com Git - wxWidgets.git/blame - wxPython/samples/wxPIA_book/Chapter-11/boxsizer.py
prevent disappearing menus in tabmdi
[wxWidgets.git] / wxPython / samples / wxPIA_book / Chapter-11 / boxsizer.py
CommitLineData
be05b434
RD
1import wx
2from blockwindow import BlockWindow
3
4labels = "one two three four".split()
5
6class TestFrame(wx.Frame):
7 title = "none"
8 def __init__(self):
9 wx.Frame.__init__(self, None, -1, self.title)
10 sizer = self.CreateSizerAndWindows()
11 self.SetSizer(sizer)
12 self.Fit()
13
14class VBoxSizerFrame(TestFrame):
15 title = "Vertical BoxSizer"
16
17 def CreateSizerAndWindows(self):
18 sizer = wx.BoxSizer(wx.VERTICAL)
19 for label in labels:
20 bw = BlockWindow(self, label=label, size=(200,30))
21 sizer.Add(bw, flag=wx.EXPAND)
22 return sizer
23
24
25class HBoxSizerFrame(TestFrame):
26 title = "Horizontal BoxSizer"
27
28 def CreateSizerAndWindows(self):
29 sizer = wx.BoxSizer(wx.HORIZONTAL)
30 for label in labels:
31 bw = BlockWindow(self, label=label, size=(75,30))
32 sizer.Add(bw, flag=wx.EXPAND)
33 return sizer
34
35class VBoxSizerStretchableFrame(TestFrame):
36 title = "Stretchable BoxSizer"
37
38 def CreateSizerAndWindows(self):
39 sizer = wx.BoxSizer(wx.VERTICAL)
40 for label in labels:
41 bw = BlockWindow(self, label=label, size=(200,30))
42 sizer.Add(bw, flag=wx.EXPAND)
43
44 # Add an item that takes all the free space
45 bw = BlockWindow(self, label="gets all free space", size=(200,30))
46 sizer.Add(bw, 1, flag=wx.EXPAND)
47 return sizer
48
49class VBoxSizerMultiProportionalFrame(TestFrame):
50 title = "Proportional BoxSizer"
51
52 def CreateSizerAndWindows(self):
53 sizer = wx.BoxSizer(wx.VERTICAL)
54 for label in labels:
55 bw = BlockWindow(self, label=label, size=(200,30))
56 sizer.Add(bw, flag=wx.EXPAND)
57
58 # Add an item that takes one share of the free space
59 bw = BlockWindow(self,
60 label="gets 1/3 of the free space",
61 size=(200,30))
62 sizer.Add(bw, 1, flag=wx.EXPAND)
63
64 # Add an item that takes 2 shares of the free space
65 bw = BlockWindow(self,
66 label="gets 2/3 of the free space",
67 size=(200,30))
68 sizer.Add(bw, 2, flag=wx.EXPAND)
69 return sizer
70
71app = wx.PySimpleApp()
72frameList = [VBoxSizerFrame, HBoxSizerFrame,
73 VBoxSizerStretchableFrame,
74 VBoxSizerMultiProportionalFrame]
75for klass in frameList:
76 frame = klass()
77 frame.Show()
78app.MainLoop()