]>
Commit | Line | Data |
---|---|---|
be05b434 RD |
1 | import wx |
2 | from blockwindow import BlockWindow | |
3 | ||
4 | labels = "one two three four".split() | |
5 | ||
6 | class 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 | ||
14 | class 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 | ||
25 | class 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 | ||
35 | class 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 | ||
49 | class 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 | ||
71 | app = wx.PySimpleApp() | |
72 | frameList = [VBoxSizerFrame, HBoxSizerFrame, | |
73 | VBoxSizerStretchableFrame, | |
74 | VBoxSizerMultiProportionalFrame] | |
75 | for klass in frameList: | |
76 | frame = klass() | |
77 | frame.Show() | |
78 | app.MainLoop() |