PLCOpenEditor.py
changeset 337 388a00b05b6b
parent 335 c2c6db53a04f
child 341 88030497e29e
equal deleted inserted replaced
336:80934ef1b1cd 337:388a00b05b6b
   750             return tmp_bitmap
   750             return tmp_bitmap
   751         else:
   751         else:
   752             index = self.TabsImageList.Add(tmp_bitmap)
   752             index = self.TabsImageList.Add(tmp_bitmap)
   753             self.TabsImageListIndexes[(icon1_name, icon2_name)] = index
   753             self.TabsImageListIndexes[(icon1_name, icon2_name)] = index
   754             return index
   754             return index
   755         
   755     
       
   756     def AddPage(self, window, text):
       
   757         self.TabsOpened.AddPage(window, text)
       
   758         if USE_AUI:
       
   759             children = self.TabsOpened.GetChildren()
       
   760             last_element = children[len(children) - 1]
       
   761             if isinstance(last_element, wx.aui.AuiTabCtrl):
       
   762                 last_element.Bind(wx.EVT_LEFT_DCLICK, self.GetTabsOpenedDClickFunction(last_element))
       
   763     
   756     def DeleteAllPages(self):
   764     def DeleteAllPages(self):
   757         if USE_AUI:
   765         if USE_AUI:
   758             for idx in xrange(self.TabsOpened.GetPageCount()):
   766             for idx in xrange(self.TabsOpened.GetPageCount()):
   759                 self.TabsOpened.DeletePage(0)
   767                 self.TabsOpened.DeletePage(0)
   760         else:
   768         else:
  1660             self.RefreshEditMenu()
  1668             self.RefreshEditMenu()
  1661             self.RefreshToolBar()
  1669             self.RefreshToolBar()
  1662         elif not onlyopened:
  1670         elif not onlyopened:
  1663             if elementtype == ITEM_CONFIGURATION:
  1671             if elementtype == ITEM_CONFIGURATION:
  1664                 new_window = ConfigurationEditor(self.TabsOpened, tagname, self, self.Controler)
  1672                 new_window = ConfigurationEditor(self.TabsOpened, tagname, self, self.Controler)
  1665                 self.TabsOpened.AddPage(new_window, "")
  1673                 self.AddPage(new_window, "")
  1666                 self.VariablePanelIndexer.AddVariablePanel(tagname, "config")
  1674                 self.VariablePanelIndexer.AddVariablePanel(tagname, "config")
  1667             elif elementtype == ITEM_RESOURCE:
  1675             elif elementtype == ITEM_RESOURCE:
  1668                 new_window = ResourceEditor(self.TabsOpened, tagname, self, self.Controler)
  1676                 new_window = ResourceEditor(self.TabsOpened, tagname, self, self.Controler)
  1669                 self.TabsOpened.AddPage(new_window, "")
  1677                 self.AddPage(new_window, "")
  1670                 self.VariablePanelIndexer.AddVariablePanel(tagname, "resource")
  1678                 self.VariablePanelIndexer.AddVariablePanel(tagname, "resource")
  1671             elif elementtype in [ITEM_POU, ITEM_TRANSITION, ITEM_ACTION]:
  1679             elif elementtype in [ITEM_POU, ITEM_TRANSITION, ITEM_ACTION]:
  1672                 bodytype = self.Controler.GetEditedElementBodyType(tagname, self.Debug)
  1680                 bodytype = self.Controler.GetEditedElementBodyType(tagname, self.Debug)
  1673                 if bodytype == "FBD":
  1681                 if bodytype == "FBD":
  1674                     new_window = Viewer(self.TabsOpened, tagname, self, self.Controler)
  1682                     new_window = Viewer(self.TabsOpened, tagname, self, self.Controler)
  1684                     new_window.SetTextSyntax(bodytype)
  1692                     new_window.SetTextSyntax(bodytype)
  1685                     if bodytype == "IL":
  1693                     if bodytype == "IL":
  1686                         new_window.SetKeywords(IL_KEYWORDS)
  1694                         new_window.SetKeywords(IL_KEYWORDS)
  1687                     else:
  1695                     else:
  1688                         new_window.SetKeywords(ST_KEYWORDS)
  1696                         new_window.SetKeywords(ST_KEYWORDS)
  1689                 self.TabsOpened.AddPage(new_window, "")
  1697                 self.AddPage(new_window, "")
  1690                 words = tagname.split("::")
  1698                 words = tagname.split("::")
  1691                 self.VariablePanelIndexer.AddVariablePanel(tagname, self.Controler.GetPouType(words[1], self.Debug))
  1699                 self.VariablePanelIndexer.AddVariablePanel(tagname, self.Controler.GetPouType(words[1], self.Debug))
  1692             elif elementtype == ITEM_DATATYPE:
  1700             elif elementtype == ITEM_DATATYPE:
  1693                 new_window = DataTypeEditor(self.TabsOpened, tagname, self, self.Controler)
  1701                 new_window = DataTypeEditor(self.TabsOpened, tagname, self, self.Controler)
  1694                 self.TabsOpened.AddPage(new_window, "")
  1702                 self.AddPage(new_window, "")
  1695             if wx.VERSION >= (2, 6, 0):
       
  1696                 children = self.TabsOpened.GetChildren()
       
  1697                 last_element = children[len(children) - 1]
       
  1698                 if isinstance(last_element, wx.aui.AuiTabCtrl):
       
  1699                     last_element.Bind(wx.EVT_LEFT_DCLICK, self.GetTabsOpenedDClickFunction(last_element))  
       
  1700             self.VariablePanelIndexer.ChangeVariablePanel(tagname)
  1703             self.VariablePanelIndexer.ChangeVariablePanel(tagname)
  1701             openedidx = self.IsOpened(tagname)
  1704             openedidx = self.IsOpened(tagname)
  1702             old_selected = self.TabsOpened.GetSelection()
  1705             old_selected = self.TabsOpened.GetSelection()
  1703             if old_selected != openedidx:
  1706             if old_selected != openedidx:
  1704                 if old_selected >= 0:
  1707                 if old_selected >= 0:
  1917                     new_window.SetTextSyntax(bodytype)
  1920                     new_window.SetTextSyntax(bodytype)
  1918                     if bodytype == "IL":
  1921                     if bodytype == "IL":
  1919                         new_window.SetKeywords(IL_KEYWORDS)
  1922                         new_window.SetKeywords(IL_KEYWORDS)
  1920                     else:
  1923                     else:
  1921                         new_window.SetKeywords(ST_KEYWORDS)
  1924                         new_window.SetKeywords(ST_KEYWORDS)
  1922                 self.TabsOpened.AddPage(new_window, "")
  1925                 self.AddPage(new_window, "")
  1923                 if wx.VERSION >= (2, 6, 0):
       
  1924                     children = self.TabsOpened.GetChildren()
       
  1925                     last_element = children[len(children) - 1]
       
  1926                     if isinstance(last_element, wx.aui.AuiTabCtrl):
       
  1927                         last_element.Bind(wx.EVT_LEFT_DCLICK, self.GetTabsOpenedDClickFunction(last_element))  
       
  1928                 new_window.RefreshView()
  1926                 new_window.RefreshView()
  1929                 new_window.SetFocus()
  1927                 new_window.SetFocus()
  1930                 self.RefreshPageTitles()
  1928                 self.RefreshPageTitles()
  1931         if selected_item is not None and selected_infos[0] in ITEMS_VARIABLE:
  1929         if selected_item is not None and selected_infos[0] in ITEMS_VARIABLE:
  1932             var_path, var_type = self.InstancesTree.GetItemText(selected_item).split(" (")
  1930             var_path, var_type = self.InstancesTree.GetItemText(selected_item).split(" (")
  1939                     parent_name = self.InstancesTree.GetItemText(parent_item).split(" (")[0]
  1937                     parent_name = self.InstancesTree.GetItemText(parent_item).split(" (")[0]
  1940                     var_path = "%s.%s"%(parent_name, var_path)
  1938                     var_path = "%s.%s"%(parent_name, var_path)
  1941                     parent_item = self.InstancesTree.GetItemParent(parent_item)
  1939                     parent_item = self.InstancesTree.GetItemParent(parent_item)
  1942                 
  1940                 
  1943                 new_window = GraphicViewer(self.TabsOpened, self, self.Controler, var_path)
  1941                 new_window = GraphicViewer(self.TabsOpened, self, self.Controler, var_path)
  1944                 self.TabsOpened.AddPage(new_window, "")
  1942                 self.AddPage(new_window, "")
  1945                 new_window.SetFocus()
  1943                 new_window.SetFocus()
  1946                 self.RefreshPageTitles()
  1944                 self.RefreshPageTitles()
  1947         event.Skip()
  1945         event.Skip()
  1948 
  1946 
  1949     def OnInstancesTreeRightUp(self, event):
  1947     def OnInstancesTreeRightUp(self, event):
  1974         event.Skip()
  1972         event.Skip()
  1975 
  1973 
  1976     def AddVariableGraphicFunction(self, iec_path):
  1974     def AddVariableGraphicFunction(self, iec_path):
  1977         def AddVariableGraphic(event):
  1975         def AddVariableGraphic(event):
  1978             new_window = GraphicViewer(self.TabsOpened, self, self.Controler, iec_path)
  1976             new_window = GraphicViewer(self.TabsOpened, self, self.Controler, iec_path)
  1979             self.TabsOpened.AddPage(new_window, "")
  1977             self.AddPage(new_window, "")
  1980             new_window.SetFocus()
  1978             new_window.SetFocus()
  1981             self.RefreshPageTitles()
  1979             self.RefreshPageTitles()
  1982             event.Skip()
  1980             event.Skip()
  1983         return AddVariableGraphic
  1981         return AddVariableGraphic
  1984 
  1982 
  1998                         return True
  1996                         return True
  1999                     else:
  1997                     else:
  2000                         found = self.SelectInstancesTreeItem(item, paths[1])
  1998                         found = self.SelectInstancesTreeItem(item, paths[1])
  2001                 item, root_cookie = self.InstancesTree.GetNextChild(root, root_cookie)
  1999                 item, root_cookie = self.InstancesTree.GetNextChild(root, root_cookie)
  2002         return found
  2000         return found
       
  2001 
       
  2002     def ResetGraphicViewers(self):
       
  2003         for i in xrange(self.TabsOpened.GetPageCount()):
       
  2004             editor = self.TabsOpened.GetPage(i)
       
  2005             if isinstance(editor, GraphicViewer):
       
  2006                 editor.ResetView()
  2003 
  2007 
  2004 #-------------------------------------------------------------------------------
  2008 #-------------------------------------------------------------------------------
  2005 #                         Library Tree Management Functions
  2009 #                         Library Tree Management Functions
  2006 #-------------------------------------------------------------------------------
  2010 #-------------------------------------------------------------------------------
  2007 
  2011