1585 "A": [ITEM_POU, ITEM_ACTION], |
1585 "A": [ITEM_POU, ITEM_ACTION], |
1586 "C": [ITEM_CONFIGURATION], |
1586 "C": [ITEM_CONFIGURATION], |
1587 "R": [ITEM_CONFIGURATION, ITEM_RESOURCE]} |
1587 "R": [ITEM_CONFIGURATION, ITEM_RESOURCE]} |
1588 |
1588 |
1589 def SelectProjectTreeItem(self, tagname): |
1589 def SelectProjectTreeItem(self, tagname): |
1590 print("SelectProjectTreeItem", tagname) |
|
1591 result = False |
1590 result = False |
1592 if self.ProjectTree is not None: |
1591 if self.ProjectTree is not None: |
1593 root = self.ProjectTree.GetRootItem() |
1592 root = self.ProjectTree.GetRootItem() |
1594 if root is not None and root.IsOk(): |
1593 if root is not None and root.IsOk(): |
1595 words = tagname.split("::") |
1594 words = tagname.split("::") |
1596 result = self.RecursiveProjectTreeItemSelection( |
1595 result = self.RecursiveProjectTreeItemSelection( |
1597 root, zip(words[1:], self.TagNamePartsItemTypes.get(words[0], []))) |
1596 root, zip(words[1:], self.TagNamePartsItemTypes.get(words[0], []))) |
1598 return result |
1597 return result |
1599 |
1598 |
1600 def RecursiveProjectTreeItemSelection(self, root, items): |
1599 def RecursiveProjectTreeItemSelection(self, root, items): |
1601 print("RecursiveProjectTreeItemSelection", items) |
|
1602 found = False |
1600 found = False |
1603 item, root_cookie = self.ProjectTree.GetFirstChild(root) |
1601 item, root_cookie = self.ProjectTree.GetFirstChild(root) |
1604 while item is not None and item.IsOk() and not found: |
1602 while item is not None and item.IsOk() and not found: |
1605 item_infos = self.ProjectTree.GetPyData(item) |
1603 item_infos = self.ProjectTree.GetPyData(item) |
1606 if (item_infos["name"].split(":")[-1].strip(), item_infos["type"]) == items[0]: |
1604 if (item_infos["name"].split(":")[-1].strip(), item_infos["type"]) == items[0]: |
1820 event.Veto() |
1818 event.Veto() |
1821 else: |
1819 else: |
1822 event.Skip() |
1820 event.Skip() |
1823 |
1821 |
1824 def GetProjectElementWindow(self, element, tagname): |
1822 def GetProjectElementWindow(self, element, tagname): |
1825 print("GetProjectElementWindo", element, tagname) |
|
1826 new_window = None |
1823 new_window = None |
1827 if self.Controler.GetEditedElement(tagname) is not None: |
1824 if self.Controler.GetEditedElement(tagname) is not None: |
1828 new_window = None |
1825 new_window = None |
1829 if element == ITEM_CONFIGURATION: |
1826 if element == ITEM_CONFIGURATION: |
1830 new_window = ConfigurationEditor(self.TabsOpened, tagname, self, self.Controler) |
1827 new_window = ConfigurationEditor(self.TabsOpened, tagname, self, self.Controler) |
1862 new_window = DataTypeEditor(self.TabsOpened, tagname, self, self.Controler) |
1859 new_window = DataTypeEditor(self.TabsOpened, tagname, self, self.Controler) |
1863 new_window.SetIcon(GetBitmap("DATATYPE")) |
1860 new_window.SetIcon(GetBitmap("DATATYPE")) |
1864 return new_window |
1861 return new_window |
1865 |
1862 |
1866 def EditProjectElement(self, element, tagname, onlyopened=False): |
1863 def EditProjectElement(self, element, tagname, onlyopened=False): |
1867 print("EditProjectElement", element, tagname, onlyopened) |
|
1868 openedidx = self.IsOpened(tagname) |
1864 openedidx = self.IsOpened(tagname) |
1869 if openedidx is not None: |
1865 if openedidx is not None: |
1870 old_selected = self.TabsOpened.GetSelection() |
1866 old_selected = self.TabsOpened.GetSelection() |
1871 if old_selected != openedidx: |
1867 if old_selected != openedidx: |
1872 if old_selected >= 0: |
1868 if old_selected >= 0: |
2559 # ------------------------------------------------------------------------------- |
2555 # ------------------------------------------------------------------------------- |
2560 # Highlights showing functions |
2556 # Highlights showing functions |
2561 # ------------------------------------------------------------------------------- |
2557 # ------------------------------------------------------------------------------- |
2562 |
2558 |
2563 def ShowHighlight(self, infos, start, end, highlight_type): |
2559 def ShowHighlight(self, infos, start, end, highlight_type): |
2564 print("ZZZZZZZZZZZZZ", infos, start, end, highlight_type) |
|
2565 self.SelectProjectTreeItem(infos[0]) |
2560 self.SelectProjectTreeItem(infos[0]) |
2566 if infos[1] == "name": |
2561 if infos[1] == "name": |
2567 self.Highlights[infos[0]] = highlight_type |
2562 self.Highlights[infos[0]] = highlight_type |
2568 self.RefreshProjectTree() |
2563 self.RefreshProjectTree() |
2569 self.ProjectTree.Unselect() |
2564 self.ProjectTree.Unselect() |