]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/demo/wxMVCTree.py
reSWIGged
[wxWidgets.git] / wxPython / demo / wxMVCTree.py
... / ...
CommitLineData
1# 11/20/2003 - Jeff Grimmett (grimmtooth@softhome.net)
2#
3# o Updated for wx namespace
4#
5# 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net)
6#
7# o Library must be updated for this to run.
8#
9# 12/20/2003 - Jeff Grimmett (grimmtooth@softhome.net)
10#
11# o wxMVCTree -> MVCTree
12#
13
14import os
15import sys
16
17import wx
18import wx.lib.mvctree as tree
19
20logger = None
21def selchanging(evt):
22 logger.write("SelChanging!\n")
23
24def selchanged(evt):
25 logger.write("SelChange!\n")
26 logger.write(str(evt.node))
27def expanded(evt):
28 logger.write("Expanded\n")
29def closed(evt):
30 logger.write("Closed!\n")
31def key(evt):
32 logger.write("Key\n")
33def add(evt):
34 logger.write("Add\n")
35def delitem(evt):
36 logger.write("Delete\n")
37
38def runTest(frame, nb, log):
39 #f = wx.Frame(frame, -1, "MVCTree", (0,0), (200,500))
40 global logger
41 logger = log
42 p = tree.MVCTree(nb, -1)
43 #f = wx.Frame(frame, -1, "MVCTree")
44 #p = tree.MVCTree(f, -1)
45 p.SetAssumeChildren(True)
46 p.SetModel(tree.LateFSTreeModel(os.path.normpath(os.getcwd() + os.sep +'..')))
47
48 #Uncomment this to enable live filename editing!
49# p.AddEditor(FileEditor(p))
50
51 p.SetMultiSelect(True)
52 tree.EVT_MVCTREE_SEL_CHANGING(p, p.GetId(), selchanging)
53 tree.EVT_MVCTREE_SEL_CHANGED(p, p.GetId(), selchanged)
54 tree.EVT_MVCTREE_ITEM_EXPANDED(p, p.GetId(), expanded)
55 tree.EVT_MVCTREE_ITEM_COLLAPSED(p, p.GetId(), closed)
56 tree.EVT_MVCTREE_ADD_ITEM(p, p.GetId(), add)
57 tree.EVT_MVCTREE_DELETE_ITEM(p, p.GetId(), delitem)
58 tree.EVT_MVCTREE_KEY_DOWN(p, p.GetId(), key)
59
60 return p
61 #frame.otherWin = f
62 #f.Show(True)
63 #return None
64
65
66overview = """\
67
68MVCTree is a control which handles hierarchical data. It is
69constructed in model-view-controller architecture, so the display of
70that data, and the content of the data can be changed greatly without
71affecting the other parts.
72
73Multiple selections are possible by holding down the Ctrl key.
74
75This demo shows the wxPython directory structure. The interesting part
76is that the tree model is late-bound to the filesystem, so the
77filenames are not retrieved until the directory is expanded. In
78mvctree.py are models for generic data, and both the early and
79late-bound filesystem models.
80
81There is also support for editing, though it's not enabled in this
82demo, to avoid accidentally renaming files!
83
84"""
85
86
87if __name__ == '__main__':
88 import sys,os
89 import run
90 run.main(['', os.path.basename(sys.argv[0])])