9 def __init__(self, parent, id, pos, size, style):
11 wx.TreeCtrl.__init__(self, parent, id, pos, size, style)
15 t1 = self.GetItemText(item1)
16 t2 = self.GetItemText(item2)
27 wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
28 self.Bind(wx.EVT_SIZE, self.OnSize)
39 il = wx.ImageList(isz[0], isz[1])
40 self.
fldridx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_FOLDER, wx.ART_OTHER, isz))
41 self.
fldropenidx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN, wx.ART_OTHER, isz))
42 self.
fileidx = il.Add(wx.ArtProvider_GetBitmap(wx.ART_NORMAL_FILE, wx.ART_OTHER, isz))
45 self.
tree.SetImageList(il)
77 self.Bind(wx.EVT_TREE_ITEM_EXPANDED, self.OnItemExpanded, self.
tree)
78 self.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.OnItemCollapsed, self.
tree)
79 self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelChanged, self.
tree)
80 self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnBeginEdit, self.
tree)
81 self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnEndEdit, self.
tree)
82 self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnActivate, self.
tree)
84 self.
tree.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
85 self.
tree.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)
86 self.
tree.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)
92 while self.tree.GetItemParent(item)!=self.root:
93 item=self.tree.GetItemParent(item)
94 return str(self.tree.GetItemText(item))
98 path=str(self.tree.GetItemText(item))
99 while str(self.tree.GetItemText(self.tree.GetItemParent(item)))!=
'Elements':
100 item=self.tree.GetItemParent(item)
101 path=str(self.tree.GetItemText(item))+
'/'+path
107 return str(self.tree.GetItemText(item))
110 if (objtype==
'Elements'):
114 if (objtype==
'Processus'):
120 pt = event.GetPosition();
121 item, flags = self.tree.HitTest(pt)
125 self.tree.SelectItem(item)
129 pt = event.GetPosition();
130 item, flags = self.tree.HitTest(pt)
134 self.tree.EditLabel(item)
141 item = event.GetItem()
142 if item
and self.tree.GetItemText(item) ==
"The Root Item":
148 root = event.GetItem()
149 (child, cookie) = self.tree.GetFirstChild(root)
155 (child, cookie) = self.tree.GetNextChild(root, cookie)
164 for x
in event.GetLabel():
165 if x
in string.digits:
172 pt = event.GetPosition();
173 item, flags = self.tree.HitTest(pt)
176 parent = self.tree.GetItemParent(item)
178 self.tree.SortChildren(parent)
183 w,h = self.GetClientSizeTuple()
184 self.tree.SetDimensions(0, 0, w, h)
188 self.tree.Expand(event.GetItem())
191 self.tree.Collapse(event.GetItem())
194 item = event.GetItem()
199 item = event.GetItem()
204 self.item = event.GetItem()
218 if self.tree.IsExpanded(event.GetItem()):
219 self.tree.Collapse(event.GetItem())
221 self.tree.Expand(event.GetItem())
225 def makeHierarchy( parent, children, image):
227 for child
in range(len(children)):
228 if type(children[child])==list:
230 makeHierarchy(nChild,children[child],image)
233 nChild=self.tree.AppendItem(parent, children[child], image)
234 self.tree.SetItemPyData(nChild, image)
235 self.TreeItem.append(nChild)
238 (
'Elements', myElements),
239 (
'Processus', myProcessus),
245 self.tree.DeleteAllItems()
246 self.root = self.tree.AddRoot(
"Objects")
248 self.tree.SetItemPyData(self.root,
None)
249 self.tree.SetItemImage(self.root, self.fldridx, wx.TreeItemIcon_Normal)
250 self.tree.SetItemImage(self.root, self.fldropenidx, wx.TreeItemIcon_Expanded)
252 treeFont = self.tree.GetFont()
253 catFont = self.tree.GetFont()
259 if 'wxMSW' not in wx.PlatformInfo
or wx.GetApp().GetComCtl32Version() >= 600:
260 treeFont.SetPointSize(treeFont.GetPointSize()+2)
261 treeFont.SetWeight(wx.BOLD)
262 catFont.SetWeight(wx.BOLD)
264 self.tree.SetItemFont(self.root, treeFont)
271 self.TreeItem=[self.root]
273 for category, items
in _treeList:
275 child = self.tree.AppendItem(self.root, category, image=count)
277 self.tree.SetItemPyData(child, count)
278 self.tree.SetItemImage(child, self.fldridx, wx.TreeItemIcon_Normal)
279 self.tree.SetItemImage(child, self.fldropenidx, wx.TreeItemIcon_Expanded)
281 if not firstChild: firstChild = child
282 makeHierarchy(child, items, count)
284 self.tree.Expand(self.root)
288 item = self.tree.GetSelection()
290 image = len(_objectTypes)
292 image = self.tree.GetItemPyData(item)
293 self.tree.SetItemImage(item, image)
296 return self.tree.GetPyData(item)
def OnRightUp(self, event)
def SetTreeModified(self, modified)
def OnActivate(self, event)
def RecreateTree(self, myElements, myProcessus)
def OnCompareItems(self, item1, item2)
def OnItemExpanded(self, event)
def GetItemIdentity(self, item)
def OnEndEdit(self, event)
def __init__(self, parent, id, pos, size, style)
def GetItem(self)
self.root = self.tree.AddRoot("The Root Item") self.tree.SetPyData(self.root, None) self...
def __init__(self, parent)
def OnLeftDClick(self, event)
def OnItemCollapsed(self, event)
def OnBeginEdit(self, event)
def OnSelChanged(self, event)
def OnRightDown(self, event)