+# 11/26/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o Had to do a bit of rework for the demo; there was no panel attached
+# to the demo window, so all buttons were showing as dark gray on
+# dark gray. I have no idea why this didn't break before. Robin,
+# please examine my changes to ensure you approve. It's rather
+# hackish looking.
+#
+
#----------------------------------------------------------------------
# sizer test code
#----------------------------------------------------------------------
-from wxPython.wx import *
-from wxPython.lib.grids import wxGridSizer, wxFlexGridSizer
+import wx
+
+#----------------------------------------------------------------------
+
+class SampleWindow(wx.PyWindow):
+ """
+ A simple window that is used as sizer items in the tests below to
+ show how the various sizers work.
+ """
+ def __init__(self, parent, text, pos=wx.DefaultPosition, size=wx.DefaultSize):
+ wx.PyWindow.__init__(self, parent, -1,
+ #style=wx.RAISED_BORDER
+ #style=wx.SUNKEN_BORDER
+ style=wx.SIMPLE_BORDER
+ )
+ self.text = text
+ if size != wx.DefaultSize:
+ self.bestsize = size
+ else:
+ self.bestsize = (80,25)
+ self.SetSize(self.GetBestSize())
+
+ self.Bind(wx.EVT_PAINT, self.OnPaint)
+ self.Bind(wx.EVT_SIZE, self.OnSize)
+ self.Bind(wx.EVT_LEFT_UP, self.OnCloseParent)
+
+
+ def OnPaint(self, evt):
+ sz = self.GetSize()
+ dc = wx.PaintDC(self)
+ w,h = dc.GetTextExtent(self.text)
+ dc.Clear()
+ dc.DrawText(self.text, (sz.width-w)/2, (sz.height-h)/2)
+
+ def OnSize(self, evt):
+ self.Refresh()
+
+ def OnCloseParent(self, evt):
+ p = wx.GetTopLevelParent(self)
+ if p:
+ p.Close()
+
+ def DoGetBestSize(self):
+ return self.bestsize
+
#----------------------------------------------------------------------
def makeSimpleBox1(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox2(win):
- box = wxBoxSizer(wxVERTICAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
+ box = wx.BoxSizer(wx.VERTICAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox3(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxEXPAND)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox4(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 1, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 1, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxEXPAND)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 1, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 1, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox5(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 3, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 1, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxEXPAND)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 3, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 1, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox6(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 1, wxALIGN_TOP)
- box.Add(wxButton(win, 1010, "two"), 1, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 1, wxALIGN_CENTER)
- box.Add(wxButton(win, 1010, "four"), 1, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxALIGN_BOTTOM)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 1, wx.ALIGN_TOP)
+ box.Add(SampleWindow(win, "two"), 1, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 1, wx.ALIGN_CENTER)
+ box.Add(SampleWindow(win, "four"), 1, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.ALIGN_BOTTOM)
return box
#----------------------------------------------------------------------
def makeSimpleBox7(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(60, 20, 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxEXPAND)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add((60, 20), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBox8(win):
- box = wxBoxSizer(wxVERTICAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(0,0, 1)
- box.Add(wxButton(win, 1010, "two"), 0, wxALIGN_CENTER)
- box.Add(0,0, 1)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
-# box.Add(wxButton(win, 1010, "five"), 1, wxEXPAND)
+ box = wx.BoxSizer(wx.VERTICAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add((0,0), 1)
+ box.Add(SampleWindow(win, "two"), 0, wx.ALIGN_CENTER)
+ box.Add((0,0), 1)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
+# box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
return box
#----------------------------------------------------------------------
def makeSimpleBorder1(win):
- bdr = wxBoxSizer(wxHORIZONTAL)
- btn = wxButton(win, 1010, "border")
- btn.SetSize(wxSize(80, 80))
- bdr.Add(btn, 1, wxEXPAND|wxALL, 15)
+ bdr = wx.BoxSizer(wx.HORIZONTAL)
+ btn = SampleWindow(win, "border")
+ btn.SetSize((80, 80))
+ bdr.Add(btn, 1, wx.EXPAND|wx.ALL, 15)
return bdr
#----------------------------------------------------------------------
def makeSimpleBorder2(win):
- bdr = wxBoxSizer(wxHORIZONTAL)
- btn = wxButton(win, 1010, "border")
- btn.SetSize(wxSize(80, 80))
- bdr.Add(btn, 1, wxEXPAND | wxEAST | wxWEST, 15)
+ bdr = wx.BoxSizer(wx.HORIZONTAL)
+ btn = SampleWindow(win, "border")
+ btn.SetSize((80, 80))
+ bdr.Add(btn, 1, wx.EXPAND | wx.EAST | wx.WEST, 15)
return bdr
#----------------------------------------------------------------------
def makeSimpleBorder3(win):
- bdr = wxBoxSizer(wxHORIZONTAL)
- btn = wxButton(win, 1010, "border")
- btn.SetSize(wxSize(80, 80))
- bdr.Add(btn, 1, wxEXPAND | wxNORTH | wxWEST, 15)
+ bdr = wx.BoxSizer(wx.HORIZONTAL)
+ btn = SampleWindow(win, "border")
+ btn.SetSize((80, 80))
+ bdr.Add(btn, 1, wx.EXPAND | wx.NORTH | wx.WEST, 15)
return bdr
#----------------------------------------------------------------------
def makeBoxInBox(win):
- box = wxBoxSizer(wxVERTICAL)
-
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
-
- box2 = wxBoxSizer(wxHORIZONTAL)
- box2.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- btn3 = wxButton(win, 1010, "three")
- box2.Add(btn3, 0, wxEXPAND)
- box2.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
- box2.Add(wxButton(win, 1010, "five"), 0, wxEXPAND)
-
- box3 = wxBoxSizer(wxVERTICAL)
- box3.AddMany([ (wxButton(win, 1010, "six"), 0, wxEXPAND),
- (wxButton(win, 1010, "seven"), 2, wxEXPAND),
- (wxButton(win, 1010, "eight"), 1, wxEXPAND),
- (wxButton(win, 1010, "nine"), 1, wxEXPAND),
+ box = wx.BoxSizer(wx.VERTICAL)
+
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+
+ box2 = wx.BoxSizer(wx.HORIZONTAL)
+ box2.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ btn3 = SampleWindow(win, "three")
+ box2.Add(btn3, 0, wx.EXPAND)
+ box2.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
+ box2.Add(SampleWindow(win, "five"), 0, wx.EXPAND)
+
+ box3 = wx.BoxSizer(wx.VERTICAL)
+ box3.AddMany([ (SampleWindow(win, "six"), 0, wx.EXPAND),
+ (SampleWindow(win, "seven"), 2, wx.EXPAND),
+ (SampleWindow(win, "eight"), 1, wx.EXPAND),
+ (SampleWindow(win, "nine"), 1, wx.EXPAND),
])
- box2.Add(box3, 1, wxEXPAND)
- box.Add(box2, 1, wxEXPAND)
+ box2.Add(box3, 1, wx.EXPAND)
+ box.Add(box2, 1, wx.EXPAND)
- box.Add(wxButton(win, 1010, "ten"), 0, wxEXPAND)
+ box.Add(SampleWindow(win, "ten"), 0, wx.EXPAND)
##box.Hide(btn3)
#----------------------------------------------------------------------
def makeBoxInBorder(win):
- bdr = wxBoxSizer(wxHORIZONTAL)
+ bdr = wx.BoxSizer(wx.HORIZONTAL)
box = makeSimpleBox3(win)
- bdr.Add(box, 1, wxEXPAND | wxALL, 15)
+ bdr.Add(box, 1, wx.EXPAND | wx.ALL, 15)
return bdr
#----------------------------------------------------------------------
def makeBorderInBox(win):
- insideBox = wxBoxSizer(wxHORIZONTAL)
-
- box2 = wxBoxSizer(wxHORIZONTAL)
- box2.AddMany([ (wxButton(win, 1010, "one"), 0, wxEXPAND),
- (wxButton(win, 1010, "two"), 0, wxEXPAND),
- (wxButton(win, 1010, "three"), 0, wxEXPAND),
- (wxButton(win, 1010, "four"), 0, wxEXPAND),
- (wxButton(win, 1010, "five"), 0, wxEXPAND),
+ insideBox = wx.BoxSizer(wx.HORIZONTAL)
+
+ box2 = wx.BoxSizer(wx.HORIZONTAL)
+ box2.AddMany([ (SampleWindow(win, "one"), 0, wx.EXPAND),
+ (SampleWindow(win, "two"), 0, wx.EXPAND),
+ (SampleWindow(win, "three"), 0, wx.EXPAND),
+ (SampleWindow(win, "four"), 0, wx.EXPAND),
+ (SampleWindow(win, "five"), 0, wx.EXPAND),
])
- insideBox.Add(box2, 0, wxEXPAND)
+ insideBox.Add(box2, 0, wx.EXPAND)
- bdr = wxBoxSizer(wxHORIZONTAL)
- bdr.Add(wxButton(win, 1010, "border"), 1, wxEXPAND | wxALL)
- insideBox.Add(bdr, 1, wxEXPAND | wxALL, 20)
+ bdr = wx.BoxSizer(wx.HORIZONTAL)
+ bdr.Add(SampleWindow(win, "border"), 1, wx.EXPAND | wx.ALL)
+ insideBox.Add(bdr, 1, wx.EXPAND | wx.ALL, 20)
- box3 = wxBoxSizer(wxVERTICAL)
- box3.AddMany([ (wxButton(win, 1010, "six"), 0, wxEXPAND),
- (wxButton(win, 1010, "seven"), 2, wxEXPAND),
- (wxButton(win, 1010, "eight"), 1, wxEXPAND),
- (wxButton(win, 1010, "nine"), 1, wxEXPAND),
+ box3 = wx.BoxSizer(wx.VERTICAL)
+ box3.AddMany([ (SampleWindow(win, "six"), 0, wx.EXPAND),
+ (SampleWindow(win, "seven"), 2, wx.EXPAND),
+ (SampleWindow(win, "eight"), 1, wx.EXPAND),
+ (SampleWindow(win, "nine"), 1, wx.EXPAND),
])
- insideBox.Add(box3, 1, wxEXPAND)
+ insideBox.Add(box3, 1, wx.EXPAND)
- outsideBox = wxBoxSizer(wxVERTICAL)
- outsideBox.Add(wxButton(win, 1010, "top"), 0, wxEXPAND)
- outsideBox.Add(insideBox, 1, wxEXPAND)
- outsideBox.Add(wxButton(win, 1010, "bottom"), 0, wxEXPAND)
+ outsideBox = wx.BoxSizer(wx.VERTICAL)
+ outsideBox.Add(SampleWindow(win, "top"), 0, wx.EXPAND)
+ outsideBox.Add(insideBox, 1, wx.EXPAND)
+ outsideBox.Add(SampleWindow(win, "bottom"), 0, wx.EXPAND)
return outsideBox
#----------------------------------------------------------------------
def makeGrid1(win):
- gs = wxGridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
+ gs = wx.GridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
- gs.AddMany([ (wxButton(win, 1010, 'one'), 0, wxEXPAND),
- (wxButton(win, 1010, 'two'), 0, wxEXPAND),
- (wxButton(win, 1010, 'three'), 0, wxEXPAND),
- (wxButton(win, 1010, 'four'), 0, wxEXPAND),
- (wxButton(win, 1010, 'five'), 0, wxEXPAND),
+ gs.AddMany([ (SampleWindow(win, 'one'), 0, wx.EXPAND),
+ (SampleWindow(win, 'two'), 0, wx.EXPAND),
+ (SampleWindow(win, 'three'), 0, wx.EXPAND),
+ (SampleWindow(win, 'four'), 0, wx.EXPAND),
+ (SampleWindow(win, 'five'), 0, wx.EXPAND),
#(75, 50),
- (wxButton(win, 1010, 'six'), 0, wxEXPAND),
- (wxButton(win, 1010, 'seven'), 0, wxEXPAND),
- (wxButton(win, 1010, 'eight'), 0, wxEXPAND),
- (wxButton(win, 1010, 'nine'), 0, wxEXPAND),
+ (SampleWindow(win, 'six'), 0, wx.EXPAND),
+ (SampleWindow(win, 'seven'), 0, wx.EXPAND),
+ (SampleWindow(win, 'eight'), 0, wx.EXPAND),
+ (SampleWindow(win, 'nine'), 0, wx.EXPAND),
])
return gs
#----------------------------------------------------------------------
def makeGrid2(win):
- gs = wxGridSizer(3, 3) # rows, cols, hgap, vgap
-
- box = wxBoxSizer(wxVERTICAL)
- box.Add(wxButton(win, 1010, 'A'), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, 'B'), 1, wxEXPAND)
-
- gs2 = wxGridSizer(2,2, 4, 4)
- gs2.AddMany([ (wxButton(win, 1010, 'C'), 0, wxEXPAND),
- (wxButton(win, 1010, 'E'), 0, wxEXPAND),
- (wxButton(win, 1010, 'F'), 0, wxEXPAND),
- (wxButton(win, 1010, 'G'), 0, wxEXPAND)])
-
- gs.AddMany([ (wxButton(win, 1010, 'one'), 0, wxALIGN_RIGHT | wxALIGN_BOTTOM),
- (wxButton(win, 1010, 'two'), 0, wxEXPAND),
- (wxButton(win, 1010, 'three'), 0, wxALIGN_LEFT | wxALIGN_BOTTOM),
- (wxButton(win, 1010, 'four'), 0, wxEXPAND),
- (wxButton(win, 1010, 'five'), 0, wxALIGN_CENTER),
- (wxButton(win, 1010, 'six'), 0, wxEXPAND),
- (box, 0, wxEXPAND | wxALL, 10),
- (wxButton(win, 1010, 'eight'), 0, wxEXPAND),
- (gs2, 0, wxEXPAND | wxALL, 4),
+ gs = wx.GridSizer(3, 3) # rows, cols, hgap, vgap
+
+ box = wx.BoxSizer(wx.VERTICAL)
+ box.Add(SampleWindow(win, 'A'), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, 'B'), 1, wx.EXPAND)
+
+ gs2 = wx.GridSizer(2,2, 4, 4)
+ gs2.AddMany([ (SampleWindow(win, 'C'), 0, wx.EXPAND),
+ (SampleWindow(win, 'E'), 0, wx.EXPAND),
+ (SampleWindow(win, 'F'), 0, wx.EXPAND),
+ (SampleWindow(win, 'G'), 0, wx.EXPAND)])
+
+ gs.AddMany([ (SampleWindow(win, 'one'), 0, wx.ALIGN_RIGHT | wx.ALIGN_BOTTOM),
+ (SampleWindow(win, 'two'), 0, wx.EXPAND),
+ (SampleWindow(win, 'three'), 0, wx.ALIGN_LEFT | wx.ALIGN_BOTTOM),
+ (SampleWindow(win, 'four'), 0, wx.EXPAND),
+ (SampleWindow(win, 'five'), 0, wx.ALIGN_CENTER),
+ (SampleWindow(win, 'six'), 0, wx.EXPAND),
+ (box, 0, wx.EXPAND | wx.ALL, 10),
+ (SampleWindow(win, 'eight'), 0, wx.EXPAND),
+ (gs2, 0, wx.EXPAND | wx.ALL, 4),
])
return gs
#----------------------------------------------------------------------
def makeGrid3(win):
- gs = wxFlexGridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
-
- gs.AddMany([ (wxButton(win, 1010, 'one'), 0, wxEXPAND),
- (wxButton(win, 1010, 'two'), 0, wxEXPAND),
- (wxButton(win, 1010, 'three'), 0, wxEXPAND),
- (wxButton(win, 1010, 'four'), 0, wxEXPAND),
- #(wxButton(win, 1010, 'five'), 0, wxEXPAND),
- (175, 50),
- (wxButton(win, 1010, 'six'), 0, wxEXPAND),
- (wxButton(win, 1010, 'seven'), 0, wxEXPAND),
- (wxButton(win, 1010, 'eight'), 0, wxEXPAND),
- (wxButton(win, 1010, 'nine'), 0, wxEXPAND),
+ gs = wx.FlexGridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
+
+ gs.AddMany([ (SampleWindow(win, 'one'), 0, wx.EXPAND),
+ (SampleWindow(win, 'two'), 0, wx.EXPAND),
+ (SampleWindow(win, 'three'), 0, wx.EXPAND),
+ (SampleWindow(win, 'four'), 0, wx.EXPAND),
+ #(SampleWindow(win, 'five'), 0, wx.EXPAND),
+ ((175, 50)),
+ (SampleWindow(win, 'six'), 0, wx.EXPAND),
+ (SampleWindow(win, 'seven'), 0, wx.EXPAND),
+ (SampleWindow(win, 'eight'), 0, wx.EXPAND),
+ (SampleWindow(win, 'nine'), 0, wx.EXPAND),
])
gs.AddGrowableRow(0)
#----------------------------------------------------------------------
def makeGrid4(win):
- bpos = wxDefaultPosition
- bsize = wxSize(100, 50)
- gs = wxGridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
-
- gs.AddMany([ (wxButton(win, 1010, 'one', bpos, bsize),
- 0, wxALIGN_TOP | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'two', bpos, bsize),
- 0, wxALIGN_TOP | wxALIGN_CENTER_HORIZONTAL ),
- (wxButton(win, 1010, 'three', bpos, bsize),
- 0, wxALIGN_TOP | wxALIGN_RIGHT ),
- (wxButton(win, 1010, 'four', bpos, bsize),
- 0, wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'five', bpos, bsize),
- 0, wxALIGN_CENTER ),
- (wxButton(win, 1010, 'six', bpos, bsize),
- 0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT ),
- (wxButton(win, 1010, 'seven', bpos, bsize),
- 0, wxALIGN_BOTTOM | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'eight', bpos, bsize),
- 0, wxALIGN_BOTTOM | wxALIGN_CENTER_HORIZONTAL ),
- (wxButton(win, 1010, 'nine', bpos, bsize),
- 0, wxALIGN_BOTTOM | wxALIGN_RIGHT ),
+ bpos = wx.DefaultPosition
+ bsize = wx.Size(100, 50)
+ gs = wx.GridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
+
+ gs.AddMany([ (SampleWindow(win, 'one', bpos, bsize),
+ 0, wx.ALIGN_TOP | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'two', bpos, bsize),
+ 0, wx.ALIGN_TOP | wx.ALIGN_CENTER_HORIZONTAL ),
+ (SampleWindow(win, 'three', bpos, bsize),
+ 0, wx.ALIGN_TOP | wx.ALIGN_RIGHT ),
+ (SampleWindow(win, 'four', bpos, bsize),
+ 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'five', bpos, bsize),
+ 0, wx.ALIGN_CENTER ),
+ (SampleWindow(win, 'six', bpos, bsize),
+ 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT ),
+ (SampleWindow(win, 'seven', bpos, bsize),
+ 0, wx.ALIGN_BOTTOM | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'eight', bpos, bsize),
+ 0, wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL ),
+ (SampleWindow(win, 'nine', bpos, bsize),
+ 0, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT ),
])
return gs
#----------------------------------------------------------------------
def makeShapes(win):
- bpos = wxDefaultPosition
- bsize = wxSize(100, 50)
- gs = wxGridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
-
- gs.AddMany([ (wxButton(win, 1010, 'one', bpos, bsize),
- 0, wxSHAPED | wxALIGN_TOP | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'two', bpos, bsize),
- 0, wxSHAPED | wxALIGN_TOP | wxALIGN_CENTER_HORIZONTAL ),
- (wxButton(win, 1010, 'three', bpos, bsize),
- 0, wxSHAPED | wxALIGN_TOP | wxALIGN_RIGHT ),
- (wxButton(win, 1010, 'four', bpos, bsize),
- 0, wxSHAPED | wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'five', bpos, bsize),
- 0, wxSHAPED | wxALIGN_CENTER ),
- (wxButton(win, 1010, 'six', bpos, bsize),
- 0, wxSHAPED | wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT ),
- (wxButton(win, 1010, 'seven', bpos, bsize),
- 0, wxSHAPED | wxALIGN_BOTTOM | wxALIGN_LEFT ),
- (wxButton(win, 1010, 'eight', bpos, bsize),
- 0, wxSHAPED | wxALIGN_BOTTOM | wxALIGN_CENTER_HORIZONTAL ),
- (wxButton(win, 1010, 'nine', bpos, bsize),
- 0, wxSHAPED | wxALIGN_BOTTOM | wxALIGN_RIGHT ),
+ bpos = wx.DefaultPosition
+ bsize = wx.Size(100, 50)
+ gs = wx.GridSizer(3, 3, 2, 2) # rows, cols, hgap, vgap
+
+ gs.AddMany([ (SampleWindow(win, 'one', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_TOP | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'two', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_TOP | wx.ALIGN_CENTER_HORIZONTAL ),
+ (SampleWindow(win, 'three', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_TOP | wx.ALIGN_RIGHT ),
+ (SampleWindow(win, 'four', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'five', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_CENTER ),
+ (SampleWindow(win, 'six', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT ),
+ (SampleWindow(win, 'seven', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_BOTTOM | wx.ALIGN_LEFT ),
+ (SampleWindow(win, 'eight', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL ),
+ (SampleWindow(win, 'nine', bpos, bsize),
+ 0, wx.SHAPED | wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT ),
])
return gs
#----------------------------------------------------------------------
def makeSimpleBoxShaped(win):
- box = wxBoxSizer(wxHORIZONTAL)
- box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "two"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "three"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "four"), 0, wxEXPAND)
- box.Add(wxButton(win, 1010, "five"), 1, wxSHAPED)
+ box = wx.BoxSizer(wx.HORIZONTAL)
+ box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "three"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "four"), 0, wx.EXPAND)
+ box.Add(SampleWindow(win, "five"), 1, wx.SHAPED)
return box
),
("Add a stretchable", makeSimpleBox3,
- "We've added one more button with the strechable flag turned on. Notice "
+ "We've added one more button with the stretchable flag turned on. Notice "
"how it grows to fill the extra space in the otherwise fixed dimension."
),
),
("Weighting factor", makeSimpleBox5,
- "This one shows more than one strechable, but one of them has a weighting "
+ "This one shows more than one stretchable, but one of them has a weighting "
"factor so it gets more of the free space."
),
),
# ("Percent Sizer", makeSimpleBox6,
-# "You can use the wxBoxSizer like a Percent Sizer. Just make sure that all "
+# "You can use the wx.BoxSizer like a Percent Sizer. Just make sure that all "
# "the weighting factors add up to 100!"
# ),
("", None, ""),
("Simple border sizer", makeSimpleBorder1,
- "The wxBoxSizer can leave empty space around its contents. This one "
+ "The wx.BoxSizer can leave empty space around its contents. This one "
"gives a border all the way around."
),
),
("Boxes inside a Border", makeBoxInBorder,
- "Sizers of different types can be nested withing each other as well. "
+ "Sizers of different types can be nested within each other as well. "
"Here is a box sizer with several buttons embedded within a border sizer."
),
("", None, ""),
("Simple Grid", makeGrid1,
- "This is an example of the wxGridSizer. In this case all row heights "
+ "This is an example of the wx.GridSizer. In this case all row heights "
"and column widths are kept the same as all the others and all items "
- "fill their available space. The horzontal and vertical gaps are set to "
+ "fill their available space. The horizontal and vertical gaps are set to "
"2 pixels each."
),
("More Grid Features", makeGrid2,
- "This is another example of the wxGridSizer. This one has no gaps in the grid, "
+ "This is another example of the wx.GridSizer. This one has no gaps in the grid, "
"but various cells are given different alignment options and some of them "
"hold nested sizers."
),
("Proportional resize", makeSimpleBoxShaped,
"Managed items can preserve their original aspect ratio. The last item has the "
- "wxSHAPED flag set and will resize proportional to its origingal size."
+ "wx.SHAPED flag set and will resize proportional to its original size."
),
("Proportional resize with Alignments", makeShapes,
]
#----------------------------------------------------------------------
-class TestFrame(wxFrame):
+class TestFrame(wx.Frame):
def __init__(self, parent, title, sizerFunc):
- wxFrame.__init__(self, parent, -1, title)
- EVT_BUTTON(self, 1010, self.OnButton)
+ wx.Frame.__init__(self, parent, -1, title)
- self.sizer = sizerFunc(self)
+ p = wx.Panel(self, -1)
+
+ self.sizer = sizerFunc(p)
self.CreateStatusBar()
self.SetStatusText("Resize this frame to see how the sizers respond...")
- self.sizer.Fit(self)
- self.SetAutoLayout(True)
- self.SetSizer(self.sizer)
- EVT_CLOSE(self, self.OnCloseWindow)
+ p.SetSizer(self.sizer)
+ self.sizer.Fit(p)
+ self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
+ self.Fit()
def OnCloseWindow(self, event):
self.MakeModal(False)
self.Destroy()
- def OnButton(self, event):
- self.Close(True)
#----------------------------------------------------------------------
-class TestSelectionPanel(wxPanel):
+class TestSelectionPanel(wx.Panel):
def __init__(self, parent, frame):
- wxPanel.__init__(self, parent, -1)
+ wx.Panel.__init__(self, parent, -1)
self.frame = frame
- self.list = wxListBox(self, 401,
- wxDLG_PNT(self, 10, 10), wxDLG_SZE(self, 100, 100),
+ self.list = wx.ListBox(self, -1,
+ wx.DLG_PNT(self, 10, 10), wx.DLG_SZE(self, 100, 100),
[])
- EVT_LISTBOX(self, 401, self.OnSelect)
- EVT_LISTBOX_DCLICK(self, 401, self.OnDClick)
+ self.Bind(wx.EVT_LISTBOX, self.OnSelect, id=self.list.GetId())
+ self.Bind(wx.EVT_LISTBOX_DCLICK, self.OnDClick, id=self.list.GetId())
- self.btn = wxButton(self, 402, "Try it!", wxDLG_PNT(self, 120, 10)).SetDefault()
- EVT_BUTTON(self, 402, self.OnDClick)
+ self.btn = wx.Button(self, -1, "Try it!", wx.DLG_PNT(self, 120, 10)).SetDefault()
+ self.Bind(wx.EVT_BUTTON, self.OnDClick)
- self.text = wxTextCtrl(self, -1, "",
- wxDLG_PNT(self, 10, 115),
- wxDLG_SZE(self, 200, 50),
- wxTE_MULTILINE | wxTE_READONLY)
+ self.text = wx.TextCtrl(self, -1, "",
+ wx.DLG_PNT(self, 10, 115),
+ wx.DLG_SZE(self, 200, 50),
+ wx.TE_MULTILINE | wx.TE_READONLY)
for item in theTests:
self.list.Append(item[0])
-
def OnSelect(self, event):
pos = self.list.GetSelection()
self.text.SetValue(theTests[pos][2])
if func:
win = TestFrame(self, title, func)
- win.CentreOnParent(wxBOTH)
+ win.CentreOnParent(wx.BOTH)
win.Show(True)
win.MakeModal(True)
return win
overview = ""
-#wxSizer.__doc__ + '\n' + '-' * 80 + '\n' + \
-#wxBoxSizer.__doc__ + '\n' + '-' * 80 + '\n' + \
-#wxBorderSizer.__doc__
#----------------------------------------------------------------------
-
-
if __name__ == '__main__':
- class MainFrame(wxFrame):
+ class MainFrame(wx.Frame):
def __init__(self):
- wxFrame.__init__(self, None, -1, "Testing...")
+ wx.Frame.__init__(self, None, -1, "Testing...")
self.CreateStatusBar()
- mainmenu = wxMenuBar()
- menu = wxMenu()
+ mainmenu = wx.MenuBar()
+ menu = wx.Menu()
menu.Append(200, 'E&xit', 'Get the heck outta here!')
mainmenu.Append(menu, "&File")
self.SetMenuBar(mainmenu)
- EVT_MENU(self, 200, self.OnExit)
+ self.Bind(wx.EVT_MENU, self.OnExit, id=200)
self.panel = TestSelectionPanel(self, self)
- self.SetSize(wxSize(400, 380))
- EVT_CLOSE(self, self.OnCloseWindow)
+ self.SetSize((400, 380))
+ self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
def OnCloseWindow(self, event):
self.Destroy()
self.Close(True)
- class TestApp(wxApp):
+ class TestApp(wx.App):
def OnInit(self):
frame = MainFrame()
frame.Show(True)
self.SetTopWindow(frame)
return True
- app = TestApp(0)
+ app = TestApp(False)
app.MainLoop()