#----------------------------------------------------------------------
gbsDescription = """\
-The wxGridBagSizer is similar to the wxFlexGridSizer except the items are explicitly positioned
+The wx.GridBagSizer is similar to the wx.FlexGridSizer except the items are explicitly positioned
in a virtual cell of the layout grid, and column or row spanning is allowed. For example, this
static text is positioned at (0,0) and it spans 7 columns.
"""
class TestFrame(wx.Frame):
def __init__(self):
- wx.Frame.__init__(self, None, -1, "wxGridBagSizer")
- p = wx.Panel(self, -1)
+ wx.Frame.__init__(self, None, -1, "wx.GridBagSizer")
+ p = wx.Panel(self, -1, style = wx.TAB_TRAVERSAL
+ | wx.CLIP_CHILDREN
+ | wx.FULL_REPAINT_ON_RESIZE
+ )
p.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
gbs = self.gbs = wx.GridBagSizer(5, 5)
self.gbs.SetItemPosition(btn, self.lastPos)
btn.SetLabel("Move this to (3,6)")
else:
- if self.gbs.CheckForIntersection( (3,6), (1,1) ):
+ if self.gbs.CheckForIntersectionPos( (3,6), (1,1) ):
wx.MessageBox("""\
-wxGridBagSizer will not allow items to be in the same cell as
-another item, so this operation will fail. You will also get an assert
-when compiled in debug mode.""",
+wx.GridBagSizer will not allow items to be in the same cell as
+another item, so this operation will fail. You will also get an
+assert when compiled in debug mode.""",
"Warning", wx.OK | wx.ICON_INFORMATION)
try:
print "item found: ", `item.GetPos()`, "--", `item.GetSpan()`
-#----------------------------------------------------------------------
+#---------------------------------------------------------------------------
+
+class TestPanel(wx.Panel):
+ def __init__(self, parent, log):
+ self.log = log
+ wx.Panel.__init__(self, parent, -1)
+
+ b = wx.Button(self, -1, "Show the GridBagSizer sample", (50,50))
+ self.Bind(wx.EVT_BUTTON, self.OnButton, b)
+
+
+ def OnButton(self, evt):
+ win = TestFrame()
+ win.Show(True)
+
+
+
+#---------------------------------------------------------------------------
+
def runTest(frame, nb, log):
- win = TestFrame()
- frame.otherWin = win
- win.Show(True)
+ win = TestPanel(nb, log)
+ return win
#----------------------------------------------------------------------
overview = """<html><body>
-<h2><center>wxGridBagSizer</center></h2>
+<h2><center>wx.GridBagSizer</center></h2>
-The wxGridBagSizer is more or less a port of the the RowColSizer (that
+The wx.GridBagSizer is more or less a port of the the RowColSizer (that
has been in the wxPython.lib package for quite some time) to C++. It
allows items to be placed at specific layout grid cells, and items can
span across more than one row or column.
if __name__ == '__main__':
import sys,os
import run
- run.main(['', os.path.basename(sys.argv[0])])
+ run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])