]> 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 = """\
 
 #----------------------------------------------------------------------
 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.
 """
 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):
 
 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)
         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:
             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("""\
                 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:
                               "Warning", wx.OK | wx.ICON_INFORMATION)
 
             try:
@@ -117,12 +120,29 @@ when compiled in debug mode.""",
             print "item found: ", `item.GetPos()`, "--", `item.GetSpan()`
 
         
             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):
 
 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>
 
 
 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.
 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
 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:])