]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/SplitTree.py
always let the multiline text control process the Enter key presses
[wxWidgets.git] / wxPython / demo / SplitTree.py
index b87f9912a525d4c7c9e91ecc2617274b6af3354c..afdccb9e2e4ce2767558ad7ecb74aacc40df14b9 100644 (file)
@@ -9,21 +9,20 @@ class TestTree(wxRemotelyScrolledTreeCtrl):
     def __init__(self, parent, ID, pos=wxDefaultPosition, size=wxDefaultSize,
                  style=wxTR_HAS_BUTTONS):
         wxRemotelyScrolledTreeCtrl.__init__(self, parent, ID, pos, size, style)
-        ##self.SetBackgroundColour("LIGHT BLUE")
 
         # make an image list
         im1 = im2 = -1
-        ##self.il = wxImageList(16, 16)
-        ##im1 = self.il.Add(images.getFolder1Bitmap())
-        ##im2 = self.il.Add(images.getFile1Bitmap())
-        ##self.SetImageList(self.il)
+        self.il = wxImageList(16, 16)
+        im1 = self.il.Add(images.getFolder1Bitmap())
+        im2 = self.il.Add(images.getFile1Bitmap())
+        self.SetImageList(self.il)
 
         # Add some items
         root = self.AddRoot("Root")
         for i in range(30):
             item = self.AppendItem(root, "Item %d" % i, im1)
             for j in range(10):
-                self.AppendItem(item, "Child %d" % j, im2)
+                child = self.AppendItem(item, "Child %d" % j, im2)
 
         self.Expand(root)
 
@@ -33,6 +32,10 @@ class TestValueWindow(wxTreeCompanionWindow):
     def __init__(self, parent, ID, pos=wxDefaultPosition, size=wxDefaultSize, style=0):
         wxTreeCompanionWindow.__init__(self, parent, ID, pos, size, style)
         self.SetBackgroundColour("WHITE")
+        EVT_ERASE_BACKGROUND(self, 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):
@@ -44,6 +47,10 @@ class TestValueWindow(wxTreeCompanionWindow):
                 ptext = tree.GetItemText(parent)
                 text = text + ptext + " --> "
             text = text + tree.GetItemText(itemId)
+            pen = wxPen(wxSystemSettings_GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID)
+            dc.SetPen(pen)
+            dc.SetBrush(wxBrush(self.GetBackgroundColour(), wxSOLID))
+            dc.DrawRectangle(rect.x, rect.y, rect.width+1, rect.height+1)
             dc.SetTextForeground("BLACK")
             dc.SetBackgroundMode(wxTRANSPARENT)
             tw, th = dc.GetTextExtent(text)
@@ -58,21 +65,28 @@ class TestPanel(wxPanel):
         wxPanel.__init__(self, parent, -1)
         self.log = log
 
-        scroller = wxSplitterScrolledWindow(self, -1, (50,50), (350, 250),
+        scroller = wxSplitterScrolledWindow(self, -1, #(50,50), (350, 250),
                                       style=wxNO_BORDER | wxCLIP_CHILDREN | wxVSCROLL)
         splitter = wxThinSplitterWindow(scroller, -1, style=wxSP_3DBORDER | wxCLIP_CHILDREN)
         splitter.SetSashSize(2)
-        self.tree = TestTree(splitter, -1, style=wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER)
+        tree = TestTree(splitter, -1, style = wxTR_HAS_BUTTONS |
+                                              wxTR_NO_LINES |
+                                              wxTR_ROW_LINES |
+                                              wxNO_BORDER )
         valueWindow = TestValueWindow(splitter, -1, style=wxNO_BORDER)
 
-        splitter.SplitVertically(self.tree, valueWindow)
+        splitter.SplitVertically(tree, valueWindow)
         splitter.SetSashPosition(150)
-        scroller.SetTargetWindow(self.tree)
+        scroller.SetTargetWindow(tree)
         scroller.EnableScrolling(FALSE, FALSE)
 
-        valueWindow.SetTreeCtrl(self.tree)
-        self.tree.SetCompanionWindow(valueWindow)
+        valueWindow.SetTreeCtrl(tree)
+        tree.SetCompanionWindow(valueWindow)
 
+        sizer = wxBoxSizer(wxVERTICAL)
+        sizer.Add(scroller, 1, wxEXPAND|wxALL, 25)
+        self.SetAutoLayout(true)
+        self.SetSizer(sizer)
 
 
 #----------------------------------------------------------------------