]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/GridBagSizer.py
fixed child windows scrolling to use wxSIZE_ALLOW_MINUS_ONE
[wxWidgets.git] / wxPython / demo / GridBagSizer.py
index 51ebb0c1dec822061dd60109b2fdf56ca67c7b79..25ef8cdb00503d07e8751de5ba6b9fcbe9afbe65 100644 (file)
@@ -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 = """<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.
@@ -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:])