diff -r 5b18d98aa4f9 -r 047e36c63736 PLCOpenEditor.py --- a/PLCOpenEditor.py Wed Sep 17 17:59:53 2008 +0200 +++ b/PLCOpenEditor.py Thu Sep 18 08:05:55 2008 +0200 @@ -1611,6 +1611,9 @@ self.Bind(wx.EVT_MENU, self.GenerateAddActionFunction(name), id=new_id) menu.AppendSeparator() new_id = wx.NewId() + AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Create a new POU from") + self.Bind(wx.EVT_MENU, self.OnCreatePouFromMenu, id=new_id) + new_id = wx.NewId() AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text="Delete") self.Bind(wx.EVT_MENU, self.OnRemovePouMenu, id=new_id) self.PopupMenu(menu) @@ -2187,6 +2190,20 @@ # Remove Project Elements Functions #------------------------------------------------------------------------------- + def OnCreatePouFromMenu(self, event): + selected = self.TypesTree.GetSelection() + if self.TypesTree.GetPyData(selected) == ITEM_POU: + dialog = PouNameDialog(self, "Please enter POU name", "Create a new POU from", "", wx.OK|wx.CANCEL) + dialog.SetPouNames(self.Controler.GetProjectPouNames(self.Debug)) + if dialog.ShowModal() == wx.ID_OK: + self.Controler.ProjectCreatePouFrom(dialog.GetValue(), self.TypesTree.GetItemText(selected)) + self.RefreshTitle() + self.RefreshEditMenu() + self.RefreshTypesTree() + self.RefreshLibraryTree() + self.RefreshToolBar() + event.Skip() + def OnRemoveDataTypeMenu(self, event): selected = self.TypesTree.GetSelection() if self.TypesTree.GetPyData(selected) == ITEM_DATATYPE: