1800 AppendMenu(change_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Program") |
1800 AppendMenu(change_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Program") |
1801 self.Bind(wx.EVT_MENU, self.GenerateChangePouTypeFunction(name, "program"), id=new_id) |
1801 self.Bind(wx.EVT_MENU, self.GenerateChangePouTypeFunction(name, "program"), id=new_id) |
1802 menu.AppendMenu(wx.NewId(), "Change POU Type To", change_menu) |
1802 menu.AppendMenu(wx.NewId(), "Change POU Type To", change_menu) |
1803 new_id = wx.NewId() |
1803 new_id = wx.NewId() |
1804 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Rename") |
1804 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Rename") |
1805 self.Bind(wx.EVT_MENU, self.OnRenamePouMenu, id=new_id) |
1805 self.Bind(wx.EVT_MENU, lambda ev: self.OnRenamePouMenu(ev, item), id=new_id) |
1806 new_id = wx.NewId() |
1806 new_id = wx.NewId() |
1807 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1807 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1808 self.Bind(wx.EVT_MENU, self.OnRemovePouMenu, id=new_id) |
1808 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemovePouMenu(ev, item), id=new_id) |
1809 self.PopupMenu(menu) |
1809 self.PopupMenu(menu) |
1810 elif type == ITEM_CONFIGURATION: |
1810 elif type == ITEM_CONFIGURATION: |
1811 menu = wx.Menu(title='') |
1811 menu = wx.Menu(title='') |
1812 new_id = wx.NewId() |
1812 new_id = wx.NewId() |
1813 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Add Resource") |
1813 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Add Resource") |
1814 self.Bind(wx.EVT_MENU, self.GenerateAddResourceFunction(name), id=new_id) |
1814 self.Bind(wx.EVT_MENU, self.GenerateAddResourceFunction(name), id=new_id) |
1815 new_id = wx.NewId() |
1815 new_id = wx.NewId() |
1816 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1816 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1817 self.Bind(wx.EVT_MENU, self.OnRemoveConfigurationMenu, id=new_id) |
1817 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemoveConfigurationMenu(ev, item), id=new_id) |
1818 self.PopupMenu(menu) |
1818 self.PopupMenu(menu) |
1819 elif type in [ITEM_DATATYPE, ITEM_TRANSITION, ITEM_ACTION, ITEM_RESOURCE]: |
1819 elif type in [ITEM_DATATYPE, ITEM_TRANSITION, ITEM_ACTION, ITEM_RESOURCE]: |
1820 menu = wx.Menu(title='') |
1820 menu = wx.Menu(title='') |
1821 new_id = wx.NewId() |
1821 new_id = wx.NewId() |
1822 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1822 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") |
1823 if type == ITEM_DATATYPE: |
1823 if type == ITEM_DATATYPE: |
1824 self.Bind(wx.EVT_MENU, self.OnRemoveDataTypeMenu, id=new_id) |
1824 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemoveDataTypeMenu(ev, item), id=new_id) |
1825 elif type == ITEM_TRANSITION: |
1825 elif type == ITEM_TRANSITION: |
1826 self.Bind(wx.EVT_MENU, self.OnRemoveTransitionMenu, id=new_id) |
1826 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemoveTransitionMenu(ev, item), id=new_id) |
1827 elif type == ITEM_ACTION: |
1827 elif type == ITEM_ACTION: |
1828 self.Bind(wx.EVT_MENU, self.OnRemoveActionMenu, id=new_id) |
1828 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemoveActionMenu(ev, item), id=new_id) |
1829 elif type == ITEM_RESOURCE: |
1829 elif type == ITEM_RESOURCE: |
1830 self.Bind(wx.EVT_MENU, self.OnRemoveResourceMenu, id=new_id) |
1830 self.Bind(wx.EVT_MENU, lambda ev: self.OnRemoveResourceMenu(ev, item), id=new_id) |
1831 self.PopupMenu(menu) |
1831 self.PopupMenu(menu) |
1832 elif type in ITEMS_UNEDITABLE: |
1832 elif type in ITEMS_UNEDITABLE: |
1833 if name == "Data Types": |
1833 if name == "Data Types": |
1834 menu = wx.Menu(title='') |
1834 menu = wx.Menu(title='') |
1835 new_id = wx.NewId() |
1835 new_id = wx.NewId() |
2461 |
2461 |
2462 #------------------------------------------------------------------------------- |
2462 #------------------------------------------------------------------------------- |
2463 # Remove Project Elements Functions |
2463 # Remove Project Elements Functions |
2464 #------------------------------------------------------------------------------- |
2464 #------------------------------------------------------------------------------- |
2465 |
2465 |
2466 def OnRemoveDataTypeMenu(self, event): |
2466 def OnRemoveDataTypeMenu(self, event, selected): |
2467 selected = self.TypesTree.GetSelection() |
|
2468 if self.TypesTree.GetPyData(selected) == ITEM_DATATYPE: |
2467 if self.TypesTree.GetPyData(selected) == ITEM_DATATYPE: |
2469 name = self.TypesTree.GetItemText(selected) |
2468 name = self.TypesTree.GetItemText(selected) |
2470 if not self.Controler.DataTypeIsUsed(name, self.Debug): |
2469 if not self.Controler.DataTypeIsUsed(name, self.Debug): |
2471 self.Controler.ProjectRemoveDataType(name) |
2470 self.Controler.ProjectRemoveDataType(name) |
2472 tagname = self.Controler.ComputeDataTypeName(name) |
2471 tagname = self.Controler.ComputeDataTypeName(name) |
2481 message = wx.MessageDialog(self, "\"%s\" is used by one or more POUs. It can't be removed!"%name, "Error", wx.OK|wx.ICON_ERROR) |
2480 message = wx.MessageDialog(self, "\"%s\" is used by one or more POUs. It can't be removed!"%name, "Error", wx.OK|wx.ICON_ERROR) |
2482 message.ShowModal() |
2481 message.ShowModal() |
2483 message.Destroy() |
2482 message.Destroy() |
2484 event.Skip() |
2483 event.Skip() |
2485 |
2484 |
2486 def OnRenamePouMenu(self, event): |
2485 def OnRenamePouMenu(self, event, selected): |
2487 selected = self.TypesTree.GetSelection() |
|
2488 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2486 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2489 wx.CallAfter(self.TypesTree.EditLabel, selected) |
2487 wx.CallAfter(self.TypesTree.EditLabel, selected) |
2490 event.Skip() |
2488 event.Skip() |
2491 |
2489 |
2492 def OnRemovePouMenu(self, event): |
2490 def OnRemovePouMenu(self, event, selected): |
2493 selected = self.TypesTree.GetSelection() |
|
2494 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2491 if self.TypesTree.GetPyData(selected) == ITEM_POU: |
2495 name = self.TypesTree.GetItemText(selected) |
2492 name = self.TypesTree.GetItemText(selected) |
2496 if not self.Controler.PouIsUsed(name, self.Debug): |
2493 if not self.Controler.PouIsUsed(name, self.Debug): |
2497 self.Controler.ProjectRemovePou(name) |
2494 self.Controler.ProjectRemovePou(name) |
2498 tagname = self.Controler.ComputePouName(name) |
2495 tagname = self.Controler.ComputePouName(name) |