]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/SplitTree.py
Patch from FN that fixes bug in RefreshItem on an item that has no
[wxWidgets.git] / wxPython / demo / SplitTree.py
index 5b2a425053dcd8e7fd4322a4fbd635133b6bcc99..3356ad2f3bfb7b680dd16303b5a6005675a209b6 100644 (file)
@@ -16,7 +16,6 @@
 import  wx
 import  wx.gizmos as gizmos
 
 import  wx
 import  wx.gizmos as gizmos
 
-import  images
 
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
 
@@ -27,8 +26,8 @@ class TestTree(gizmos.RemotelyScrolledTreeCtrl):
         # make an image list
         im1 = im2 = -1
         self.il = wx.ImageList(16, 16)
         # make an image list
         im1 = im2 = -1
         self.il = wx.ImageList(16, 16)
-        im1 = self.il.Add(images.getFolder1Bitmap())
-        im2 = self.il.Add(images.getFile1Bitmap())
+        im1 = self.il.Add(wx.ArtProvider.GetBitmap(wx.ART_FOLDER, wx.ART_TOOLBAR, (16,16)))
+        im2 = self.il.Add(wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE, wx.ART_TOOLBAR, (16,16)))
         self.SetImageList(self.il)
 
         # Add some items
         self.SetImageList(self.il)
 
         # Add some items
@@ -48,10 +47,6 @@ class TestValueWindow(gizmos.TreeCompanionWindow):
     def __init__(self, parent, style=0):
         gizmos.TreeCompanionWindow.__init__(self, parent, -1, style=style)
         self.SetBackgroundColour("WHITE")
     def __init__(self, parent, style=0):
         gizmos.TreeCompanionWindow.__init__(self, parent, -1, style=style)
         self.SetBackgroundColour("WHITE")
-        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OEB)
-
-    def OEB(self, evt):
-        pass
 
     # This method is called to draw each item in the value window
     def DrawItem(self, dc, itemId, rect):
 
     # This method is called to draw each item in the value window
     def DrawItem(self, dc, itemId, rect):
@@ -67,25 +62,25 @@ class TestValueWindow(gizmos.TreeCompanionWindow):
 
             text = text + tree.GetItemText(itemId)
             pen = wx.Pen(
 
             text = text + tree.GetItemText(itemId)
             pen = wx.Pen(
-                wx.SystemSettings_GetSystemColour(wx.SYS_COLOUR_3DLIGHT), 
+                wx.SystemSettings_GetColour(wx.SYS_COLOUR_3DLIGHT), 
                 1, wx.SOLID
                 )
 
             dc.SetPen(pen)
             dc.SetBrush(wx.Brush(self.GetBackgroundColour(), wx.SOLID))
                 1, wx.SOLID
                 )
 
             dc.SetPen(pen)
             dc.SetBrush(wx.Brush(self.GetBackgroundColour(), wx.SOLID))
-            dc.DrawRectangle((rect.x, rect.y), (rect.width+1, rect.height+1))
+            dc.DrawRectangle(rect.x, rect.y, rect.width+1, rect.height+1)
             dc.SetTextForeground("BLACK")
             dc.SetBackgroundMode(wx.TRANSPARENT)
             tw, th = dc.GetTextExtent(text)
             x = 5
             y = rect.y + max(0, (rect.height - th) / 2)
             dc.SetTextForeground("BLACK")
             dc.SetBackgroundMode(wx.TRANSPARENT)
             tw, th = dc.GetTextExtent(text)
             x = 5
             y = rect.y + max(0, (rect.height - th) / 2)
-            dc.DrawText(text, (x, y))
+            dc.DrawText(text, x, y)
 
 
 
 class TestPanel(wx.Panel):
     def __init__(self, parent, log):
 
 
 
 class TestPanel(wx.Panel):
     def __init__(self, parent, log):
-        wx.Panel.__init__(self, parent, -1)
+        wx.Panel.__init__(self, parent, -1, size=(640,480))
         self.log = log
 
         scroller = gizmos.SplitterScrolledWindow(
         self.log = log
 
         scroller = gizmos.SplitterScrolledWindow(
@@ -97,15 +92,15 @@ class TestPanel(wx.Panel):
             )
             
         splitter.SetSashSize(2)
             )
             
         splitter.SetSashSize(2)
-        tree = TestTree(splitter, -1, style = wx.TR_HAS_BUTTONS |
-                                              wx.TR_NO_LINES |
-                                              wx.TR_ROW_LINES |
-                                              #wx.TR_HIDE_ROOT |
-                                              wx.NO_BORDER )
+        tree = TestTree(splitter, style = wx.TR_HAS_BUTTONS |
+                                          wx.TR_NO_LINES |
+                                          wx.TR_ROW_LINES |
+                                          #wx.TR_HIDE_ROOT |
+                                          wx.NO_BORDER )
 
         valueWindow = TestValueWindow(splitter, style=wx.NO_BORDER)
 
 
         valueWindow = TestValueWindow(splitter, style=wx.NO_BORDER)
 
-        splitter.SplitVertically(tree, valueWindow, 150)
+        wx.CallAfter(splitter.SplitVertically, tree, valueWindow, 150)
         scroller.SetTargetWindow(tree)
         scroller.EnableScrolling(False, False)
 
         scroller.SetTargetWindow(tree)
         scroller.EnableScrolling(False, False)
 
@@ -114,16 +109,17 @@ class TestPanel(wx.Panel):
 
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer.Add(scroller, 1, wx.EXPAND|wx.ALL, 25)
 
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer.Add(scroller, 1, wx.EXPAND|wx.ALL, 25)
-        self.SetAutoLayout(True)
         self.SetSizer(sizer)
         self.SetSizer(sizer)
-
+        self.Layout()
 
 #----------------------------------------------------------------------
 
 def runTest(frame, nb, log):
     if wx.Platform == "__WXMAC__":
 
 #----------------------------------------------------------------------
 
 def runTest(frame, nb, log):
     if wx.Platform == "__WXMAC__":
-        wx.MessageBox("This demo currently fails on the Mac. The problem is being looked into...", "Sorry")
-        return
+        from Main import MessagePanel
+        win = MessagePanel(nb, 'This demo currently fails on the Mac. The problem is being looked into...',
+                           'Sorry', wx.ICON_WARNING)
+        return win
 
     win = TestPanel(nb, log)
     return win
 
     win = TestPanel(nb, log)
     return win
@@ -145,5 +141,5 @@ also be useful by themselves.
 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:])