X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/299647acac7960652aadb008775429c1f8ea9b8d..25b3661bd4cb44304418b93c0dee1d0dfb99765c:/wxPython/demo/GridBagSizer.py?ds=sidebyside diff --git a/wxPython/demo/GridBagSizer.py b/wxPython/demo/GridBagSizer.py index 51ebb0c1de..25ef8cdb00 100644 --- a/wxPython/demo/GridBagSizer.py +++ b/wxPython/demo/GridBagSizer.py @@ -3,7 +3,7 @@ import wx # This module uses the new wx namespace #---------------------------------------------------------------------- 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. """ @@ -11,8 +11,11 @@ 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) @@ -91,11 +94,11 @@ class TestFrame(wx.Frame): 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: @@ -117,12 +120,29 @@ when compiled in debug mode.""", 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 #---------------------------------------------------------------------- @@ -130,9 +150,9 @@ def runTest(frame, nb, log): overview = """ -

wxGridBagSizer

+

wx.GridBagSizer

-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. @@ -144,5 +164,5 @@ 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:])