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): |