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")
- EVT_PAINT(self, self.OnPaint)
# make an image list
im1 = im2 = -1
self.Expand(root)
- def OnPaint(self, evt):
- dc = wxPaintDC(self)
-
- wxTreeCtrl.OnPaint(self, evt)
-
- # Reset the device origin since it may have been set
- dc.SetDeviceOrigin(0, 0)
-
- pen = wxPen(wxSystemSettings_GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID)
- dc.SetPen(pen)
- dc.SetBrush(wxTRANSPARENT_BRUSH)
-
- clientSize = self.GetClientSize()
- cy = 0
- h = self.GetFirstVisibleItem()
- while h.Ok():
- rect = self.GetBoundingRect(h)
- if rect is not None:
- cy = rect.GetTop()
- dc.DrawLine(0, cy, clientSize.x, cy)
- lastH = h
- h = self.GetNextVisible(h)
-
- rect = self.GetBoundingRect(lastH)
- if rect is not None:
- cy = rect.GetBottom()
- dc.DrawLine(0, cy, clientSize.x, cy)
-
class TestValueWindow(wxTreeCompanionWindow):
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)
+ dc.DrawRectangle(rect.x, rect.y, rect.width+1, rect.height+1)
dc.SetTextForeground("BLACK")
dc.SetBackgroundMode(wxTRANSPARENT)
tw, th = dc.GetTextExtent(text)
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)
#----------------------------------------------------------------------