IDEFrame.py
changeset 1105 f0e5b475a074
parent 1089 5cd1f8df71aa
child 1106 843d181f73b4
equal deleted inserted replaced
1104:017cd95bc07e 1105:f0e5b475a074
  1417 #-------------------------------------------------------------------------------
  1417 #-------------------------------------------------------------------------------
  1418 #                         Types Tree Management Functions
  1418 #                         Types Tree Management Functions
  1419 #-------------------------------------------------------------------------------
  1419 #-------------------------------------------------------------------------------
  1420 
  1420 
  1421     def RefreshProjectTree(self):
  1421     def RefreshProjectTree(self):
       
  1422         # Disconnect event when selection in treectrl changed
       
  1423         self.Unbind(wx.EVT_TREE_SEL_CHANGED, 
       
  1424                     id=ID_PLCOPENEDITORPROJECTTREE)
       
  1425     
       
  1426         # Extract current selected item tagname
       
  1427         selected = self.ProjectTree.GetSelection()
       
  1428         if selected is not None and selected.IsOk():
       
  1429             item_infos = self.ProjectTree.GetPyData(selected)
       
  1430             tagname = item_infos.get("tagname", None)
       
  1431         else:
       
  1432             tagname = None
       
  1433         
       
  1434         # Refresh treectrl items according to project infos
  1422         infos = self.Controler.GetProjectInfos()
  1435         infos = self.Controler.GetProjectInfos()
  1423         root = self.ProjectTree.GetRootItem()
  1436         root = self.ProjectTree.GetRootItem()
  1424         if not root.IsOk():
  1437         if not root.IsOk():
  1425             root = self.ProjectTree.AddRoot(infos["name"])
  1438             root = self.ProjectTree.AddRoot(infos["name"])
  1426         self.GenerateProjectTreeBranch(root, infos)
  1439         self.GenerateProjectTreeBranch(root, infos)
  1427         self.ProjectTree.Expand(root)
  1440         self.ProjectTree.Expand(root)
       
  1441         
       
  1442         # Select new item corresponding to previous selected item
       
  1443         if tagname is not None:
       
  1444             wx.CallAfter(self.SelectProjectTreeItem, tagname)
       
  1445     
       
  1446         # Reconnect event when selection in treectrl changed
       
  1447         wx.CallAfter(self.Bind, 
       
  1448             wx.EVT_TREE_SEL_CHANGED, 
       
  1449             self.OnProjectTreeItemSelected,
       
  1450             id=ID_PLCOPENEDITORPROJECTTREE)
  1428 
  1451 
  1429     def ResetSelectedItem(self):
  1452     def ResetSelectedItem(self):
  1430         self.SelectedItem = None
  1453         self.SelectedItem = None
  1431 
  1454 
  1432     def GenerateProjectTreeBranch(self, root, infos):
  1455     def GenerateProjectTreeBranch(self, root, infos):