PLCOpenEditor.py
changeset 275 acf474a94136
parent 274 047e36c63736
child 292 800e100038ae
equal deleted inserted replaced
274:047e36c63736 275:acf474a94136
  1609                 new_id = wx.NewId()
  1609                 new_id = wx.NewId()
  1610                 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Add Action")
  1610                 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Add Action")
  1611                 self.Bind(wx.EVT_MENU, self.GenerateAddActionFunction(name), id=new_id)
  1611                 self.Bind(wx.EVT_MENU, self.GenerateAddActionFunction(name), id=new_id)
  1612                 menu.AppendSeparator()
  1612                 menu.AppendSeparator()
  1613             new_id = wx.NewId()
  1613             new_id = wx.NewId()
  1614             AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Create a new POU from")
  1614             AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Create A New POU From")
  1615             self.Bind(wx.EVT_MENU, self.OnCreatePouFromMenu, id=new_id)
  1615             self.Bind(wx.EVT_MENU, self.OnCreatePouFromMenu, id=new_id)
       
  1616             pou_type = self.Controler.GetPouType(name, self.Debug)
       
  1617             if pou_type in ["function", "functionBlock"]:
       
  1618                 change_menu = wx.Menu(title='')
       
  1619                 if pou_type == "function":
       
  1620                     new_id = wx.NewId()
       
  1621                     AppendMenu(change_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Function Block")
       
  1622                     self.Bind(wx.EVT_MENU, self.GenerateChangePouTypeFunction(name, "functionBlock"), id=new_id)
       
  1623                 new_id = wx.NewId()
       
  1624                 AppendMenu(change_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Program")
       
  1625                 self.Bind(wx.EVT_MENU, self.GenerateChangePouTypeFunction(name, "program"), id=new_id)
       
  1626                 menu.AppendMenu(wx.NewId(), "Change POU Type To", change_menu)
  1616             new_id = wx.NewId()
  1627             new_id = wx.NewId()
  1617             AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete")
  1628             AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete")
  1618             self.Bind(wx.EVT_MENU, self.OnRemovePouMenu, id=new_id)
  1629             self.Bind(wx.EVT_MENU, self.OnRemovePouMenu, id=new_id)
  1619             self.PopupMenu(menu)
  1630             self.PopupMenu(menu)
  1620         elif type == ITEM_CONFIGURATION:
  1631         elif type == ITEM_CONFIGURATION:
  2183                 self.RefreshInstancesTree()
  2194                 self.RefreshInstancesTree()
  2184             dialog.Destroy()
  2195             dialog.Destroy()
  2185             event.Skip()
  2196             event.Skip()
  2186         return OnAddResourceMenu
  2197         return OnAddResourceMenu
  2187 
  2198 
  2188 
  2199     def GenerateChangePouTypeFunction(self, name, new_type):
  2189 #-------------------------------------------------------------------------------
  2200         def OnChangePouTypeMenu(event):
  2190 #                        Remove Project Elements Functions
  2201             selected = self.TypesTree.GetSelection()
  2191 #-------------------------------------------------------------------------------
  2202             if self.TypesTree.GetPyData(selected) == ITEM_POU: 
       
  2203                 self.Controler.ProjectChangePouType(name, new_type)
       
  2204                 self.RefreshTitle()
       
  2205                 self.RefreshEditMenu()
       
  2206                 self.RefreshTypesTree()
       
  2207                 self.RefreshLibraryTree()
       
  2208                 self.RefreshToolBar()
       
  2209             event.Skip()
       
  2210         return OnChangePouTypeMenu
  2192 
  2211 
  2193     def OnCreatePouFromMenu(self, event):
  2212     def OnCreatePouFromMenu(self, event):
  2194         selected = self.TypesTree.GetSelection()
  2213         selected = self.TypesTree.GetSelection()
  2195         if self.TypesTree.GetPyData(selected) == ITEM_POU: 
  2214         if self.TypesTree.GetPyData(selected) == ITEM_POU: 
  2196             dialog = PouNameDialog(self, "Please enter POU name", "Create a new POU from", "", wx.OK|wx.CANCEL)
  2215             dialog = PouNameDialog(self, "Please enter POU name", "Create a new POU from", "", wx.OK|wx.CANCEL)
  2201                 self.RefreshEditMenu()
  2220                 self.RefreshEditMenu()
  2202                 self.RefreshTypesTree()
  2221                 self.RefreshTypesTree()
  2203                 self.RefreshLibraryTree()
  2222                 self.RefreshLibraryTree()
  2204                 self.RefreshToolBar()
  2223                 self.RefreshToolBar()
  2205         event.Skip()
  2224         event.Skip()
       
  2225 
       
  2226 #-------------------------------------------------------------------------------
       
  2227 #                        Remove Project Elements Functions
       
  2228 #-------------------------------------------------------------------------------
  2206 
  2229 
  2207     def OnRemoveDataTypeMenu(self, event):
  2230     def OnRemoveDataTypeMenu(self, event):
  2208         selected = self.TypesTree.GetSelection()
  2231         selected = self.TypesTree.GetSelection()
  2209         if self.TypesTree.GetPyData(selected) == ITEM_DATATYPE:
  2232         if self.TypesTree.GetPyData(selected) == ITEM_DATATYPE:
  2210             name = self.TypesTree.GetItemText(selected)
  2233             name = self.TypesTree.GetItemText(selected)