Demo updates for new wx namespace, from Jeff Grimmett

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-12-09 01:23:28 +00:00
parent a61d40115f
commit 8fa876ca9e
147 changed files with 7313 additions and 5154 deletions

View File

@@ -1,26 +1,42 @@
from wxPython.wx import *
from wxPython.gizmos import *
# 11/13/2003 - Jeff Grimmett (grimmtooth@softhome.net)
#
# o Updated for wx namespace
#
# 11/26/2003 - Jeff Grimmett (grimmtooth@softhome.net)
#
# o Bigtime errors on startup. Blows up with a program error.
# Error:
#
# 21:04:11: Debug: ..\..\src\msw\treectrl.cpp(1508): assert "IsVisible(item)"
# failed: The item you call GetNextVisible() for must be visible itself!
#
# I suspect this error is in the lib itself.
#
import images
import wx
import wx.gizmos as gizmos
import images
#----------------------------------------------------------------------
class TestTree(wxRemotelyScrolledTreeCtrl):
def __init__(self, parent, ID, pos=wxDefaultPosition, size=wxDefaultSize,
style=wxTR_HAS_BUTTONS):
wxRemotelyScrolledTreeCtrl.__init__(self, parent, ID, pos, size, style)
class TestTree(gizmos.RemotelyScrolledTreeCtrl):
def __init__(self, parent, style=wx.TR_HAS_BUTTONS):
gizmos.RemotelyScrolledTreeCtrl.__init__(self, parent, -1, style=style)
# make an image list
im1 = im2 = -1
self.il = wxImageList(16, 16)
self.il = wx.ImageList(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):
child = self.AppendItem(item, "Child %d" % j, im2)
@@ -28,11 +44,11 @@ class TestTree(wxRemotelyScrolledTreeCtrl):
class TestValueWindow(wxTreeCompanionWindow):
def __init__(self, parent, ID, pos=wxDefaultPosition, size=wxDefaultSize, style=0):
wxTreeCompanionWindow.__init__(self, parent, ID, pos, size, style)
class TestValueWindow(gizmos.TreeCompanionWindow):
def __init__(self, parent, style=0):
gizmos.TreeCompanionWindow.__init__(self, parent, -1, style=style)
self.SetBackgroundColour("WHITE")
EVT_ERASE_BACKGROUND(self, self.OEB)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OEB)
def OEB(self, evt):
pass
@@ -40,41 +56,54 @@ class TestValueWindow(wxTreeCompanionWindow):
# This method is called to draw each item in the value window
def DrawItem(self, dc, itemId, rect):
tree = self.GetTreeCtrl()
if tree:
text = "This is "
parent = tree.GetItemParent(itemId)
if parent.IsOk():
ptext = tree.GetItemText(parent)
text = text + ptext + " --> "
text = text + tree.GetItemText(itemId)
pen = wxPen(wxSystemSettings_GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID)
pen = wx.Pen(
wx.SystemSettings_GetSystemColour(wx.SYS_COLOUR_3DLIGHT),
1, wx.SOLID
)
dc.SetPen(pen)
dc.SetBrush(wxBrush(self.GetBackgroundColour(), wxSOLID))
dc.DrawRectangle(rect.x, rect.y, rect.width+1, rect.height+1)
dc.SetBrush(wx.Brush(self.GetBackgroundColour(), wx.SOLID))
dc.DrawRectangle((rect.x, rect.y), (rect.width+1, rect.height+1))
dc.SetTextForeground("BLACK")
dc.SetBackgroundMode(wxTRANSPARENT)
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(wxPanel):
class TestPanel(wx.Panel):
def __init__(self, parent, log):
wxPanel.__init__(self, parent, -1)
wx.Panel.__init__(self, parent, -1)
self.log = log
scroller = wxSplitterScrolledWindow(self, -1, #(50,50), (350, 250),
style=wxNO_BORDER | wxCLIP_CHILDREN | wxVSCROLL)
splitter = wxThinSplitterWindow(scroller, -1, style=wxSP_3DBORDER | wxCLIP_CHILDREN)
scroller = gizmos.SplitterScrolledWindow(
self, -1, style=wx.NO_BORDER | wx.CLIP_CHILDREN | wx.VSCROLL
)
splitter = gizmos.ThinSplitterWindow(
scroller, -1, style=wx.SP_3DBORDER | wx.CLIP_CHILDREN
)
splitter.SetSashSize(2)
tree = TestTree(splitter, -1, style = wxTR_HAS_BUTTONS |
wxTR_NO_LINES |
wxTR_ROW_LINES |
#wxTR_HIDE_ROOT |
wxNO_BORDER )
valueWindow = TestValueWindow(splitter, -1, style=wxNO_BORDER)
tree = TestTree(splitter, -1, 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)
splitter.SplitVertically(tree, valueWindow, 150)
scroller.SetTargetWindow(tree)
@@ -83,8 +112,8 @@ class TestPanel(wxPanel):
valueWindow.SetTreeCtrl(tree)
tree.SetCompanionWindow(valueWindow)
sizer = wxBoxSizer(wxVERTICAL)
sizer.Add(scroller, 1, wxEXPAND|wxALL, 25)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(scroller, 1, wx.EXPAND|wx.ALL, 25)
self.SetAutoLayout(True)
self.SetSizer(sizer)
@@ -92,8 +121,8 @@ class TestPanel(wxPanel):
#----------------------------------------------------------------------
def runTest(frame, nb, log):
if wxPlatform == "__WXMAC__":
wxMessageBox("This demo currently fails on the Mac. The problem is being looked into...", "Sorry")
if wx.Platform == "__WXMAC__":
wx.MessageBox("This demo currently fails on the Mac. The problem is being looked into...", "Sorry")
return
win = TestPanel(nb, log)
@@ -103,14 +132,11 @@ def runTest(frame, nb, log):
#----------------------------------------------------------------------
overview = """\
This demo shows a collection of classes that were designed to operate
together and provide a tree control with additional columns for each
item. The classes are wxRemotelyScrolledTreeCtrl, wxTreeCompanionWindow,
wxThinSplitterWindow, and wxSplitterScrolledWindow, some of which may
item. The classes are wx.RemotelyScrolledTreeCtrl, wx.TreeCompanionWindow,
wx.ThinSplitterWindow, and wx.SplitterScrolledWindow, some of which may
also be useful by themselves.
"""