IDEFrame.py
changeset 1171 a506e4de8f84
parent 1167 a2f9b44c17c9
child 1176 f4b434672204
equal deleted inserted replaced
1170:074e46cdedbc 1171:a506e4de8f84
  1574                         self.RefreshPageTitles()
  1574                         self.RefreshPageTitles()
  1575                 elif item_infos["type"] == ITEM_POU:
  1575                 elif item_infos["type"] == ITEM_POU:
  1576                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames() if name != old_name]:
  1576                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames() if name != old_name]:
  1577                         message = _("\"%s\" pou already exists!")%new_name
  1577                         message = _("\"%s\" pou already exists!")%new_name
  1578                         abort = True
  1578                         abort = True
  1579                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariables()]:
  1579                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariableNames()]:
  1580                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1580                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1581                         if messageDialog.ShowModal() == wx.ID_NO:
  1581                         if messageDialog.ShowModal() == wx.ID_NO:
  1582                             abort = True
  1582                             abort = True
  1583                         messageDialog.Destroy()
  1583                         messageDialog.Destroy()
  1584                     if not abort:
  1584                     if not abort:
  1588                         self.RefreshLibraryPanel()
  1588                         self.RefreshLibraryPanel()
  1589                         self.RefreshPageTitles()
  1589                         self.RefreshPageTitles()
  1590                 elif item_infos["type"] == ITEM_TRANSITION:
  1590                 elif item_infos["type"] == ITEM_TRANSITION:
  1591                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1591                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1592                         message = _("A POU named \"%s\" already exists!")%new_name
  1592                         message = _("A POU named \"%s\" already exists!")%new_name
  1593                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariables(pou_name) if name != old_name]:
  1593                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariableNames(pou_name) if name != old_name]:
  1594                         message = _("A variable with \"%s\" as name already exists in this pou!")%new_name
  1594                         message = _("A variable with \"%s\" as name already exists in this pou!")%new_name
  1595                     else:
  1595                     else:
  1596                         words = item_infos["tagname"].split("::")
  1596                         words = item_infos["tagname"].split("::")
  1597                         self.Controler.ChangePouTransitionName(words[1], old_name, new_name)
  1597                         self.Controler.ChangePouTransitionName(words[1], old_name, new_name)
  1598                         self.RefreshEditorNames(self.Controler.ComputePouTransitionName(words[1], old_name), 
  1598                         self.RefreshEditorNames(self.Controler.ComputePouTransitionName(words[1], old_name), 
  1599                                                 self.Controler.ComputePouTransitionName(words[1], new_name))
  1599                                                 self.Controler.ComputePouTransitionName(words[1], new_name))
  1600                         self.RefreshPageTitles()
  1600                         self.RefreshPageTitles()
  1601                 elif item_infos["type"] == ITEM_ACTION:
  1601                 elif item_infos["type"] == ITEM_ACTION:
  1602                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1602                     if new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1603                         message = _("A POU named \"%s\" already exists!")%new_name
  1603                         message = _("A POU named \"%s\" already exists!")%new_name
  1604                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariables(pou_name) if name != old_name]:
  1604                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariableNames(pou_name) if name != old_name]:
  1605                         message = _("A variable with \"%s\" as name already exists in this pou!")%new_name
  1605                         message = _("A variable with \"%s\" as name already exists in this pou!")%new_name
  1606                     else:
  1606                     else:
  1607                         words = item_infos["tagname"].split("::")
  1607                         words = item_infos["tagname"].split("::")
  1608                         self.Controler.ChangePouActionName(words[1], old_name, new_name)
  1608                         self.Controler.ChangePouActionName(words[1], old_name, new_name)
  1609                         self.RefreshEditorNames(self.Controler.ComputePouActionName(words[1], old_name), 
  1609                         self.RefreshEditorNames(self.Controler.ComputePouActionName(words[1], old_name), 
  1616                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1616                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1617                         messageDialog = wx.MessageDialog(self, _("There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1617                         messageDialog = wx.MessageDialog(self, _("There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1618                         if messageDialog.ShowModal() == wx.ID_NO:
  1618                         if messageDialog.ShowModal() == wx.ID_NO:
  1619                             abort = True
  1619                             abort = True
  1620                         messageDialog.Destroy()
  1620                         messageDialog.Destroy()
  1621                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariables()]:
  1621                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariableNames()]:
  1622                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1622                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1623                         if messageDialog.ShowModal() == wx.ID_NO:
  1623                         if messageDialog.ShowModal() == wx.ID_NO:
  1624                             abort = True
  1624                             abort = True
  1625                         messageDialog.Destroy()
  1625                         messageDialog.Destroy()
  1626                     if not abort:
  1626                     if not abort:
  1635                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1635                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouNames()]:
  1636                         messageDialog = wx.MessageDialog(self, _("There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1636                         messageDialog = wx.MessageDialog(self, _("There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1637                         if messageDialog.ShowModal() == wx.ID_NO:
  1637                         if messageDialog.ShowModal() == wx.ID_NO:
  1638                             abort = True
  1638                             abort = True
  1639                         messageDialog.Destroy()
  1639                         messageDialog.Destroy()
  1640                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariables()]:
  1640                     elif new_name.upper() in [name.upper() for name in self.Controler.GetProjectPouVariableNames()]:
  1641                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1641                         messageDialog = wx.MessageDialog(self, _("A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?")%new_name, _("Error"), wx.YES_NO|wx.ICON_QUESTION)
  1642                         if messageDialog.ShowModal() == wx.ID_NO:
  1642                         if messageDialog.ShowModal() == wx.ID_NO:
  1643                             abort = True
  1643                             abort = True
  1644                         messageDialog.Destroy()
  1644                         messageDialog.Destroy()
  1645                     if not abort:
  1645                     if not abort:
  2261         
  2261         
  2262     def GenerateAddPouFunction(self, pou_type):
  2262     def GenerateAddPouFunction(self, pou_type):
  2263         def OnAddPouMenu(event):
  2263         def OnAddPouMenu(event):
  2264             dialog = PouDialog(self, pou_type)
  2264             dialog = PouDialog(self, pou_type)
  2265             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2265             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2266             dialog.SetPouElementNames(self.Controler.GetProjectPouVariables())
  2266             dialog.SetPouElementNames(self.Controler.GetProjectPouVariableNames())
  2267             dialog.SetValues({"pouName": self.Controler.GenerateNewName(None, None, "%s%%d" % pou_type)})
  2267             dialog.SetValues({"pouName": self.Controler.GenerateNewName(None, None, "%s%%d" % pou_type)})
  2268             if dialog.ShowModal() == wx.ID_OK:
  2268             if dialog.ShowModal() == wx.ID_OK:
  2269                 values = dialog.GetValues()
  2269                 values = dialog.GetValues()
  2270                 tagname = self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"])
  2270                 tagname = self.Controler.ProjectAddPou(values["pouName"], values["pouType"], values["language"])
  2271                 if tagname is not None:
  2271                 if tagname is not None:
  2276 
  2276 
  2277     def GenerateAddTransitionFunction(self, pou_name):
  2277     def GenerateAddTransitionFunction(self, pou_name):
  2278         def OnAddTransitionMenu(event):
  2278         def OnAddTransitionMenu(event):
  2279             dialog = PouTransitionDialog(self)
  2279             dialog = PouTransitionDialog(self)
  2280             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2280             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2281             dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name))
  2281             dialog.SetPouElementNames(self.Controler.GetProjectPouVariableNames(pou_name))
  2282             dialog.SetValues({"transitionName": self.Controler.GenerateNewName(None, None, "transition%d")})
  2282             dialog.SetValues({"transitionName": self.Controler.GenerateNewName(None, None, "transition%d")})
  2283             if dialog.ShowModal() == wx.ID_OK: 
  2283             if dialog.ShowModal() == wx.ID_OK: 
  2284                 values = dialog.GetValues()
  2284                 values = dialog.GetValues()
  2285                 tagname = self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"])
  2285                 tagname = self.Controler.ProjectAddPouTransition(pou_name, values["transitionName"], values["language"])
  2286                 if tagname is not None:
  2286                 if tagname is not None:
  2291 
  2291 
  2292     def GenerateAddActionFunction(self, pou_name):
  2292     def GenerateAddActionFunction(self, pou_name):
  2293         def OnAddActionMenu(event):
  2293         def OnAddActionMenu(event):
  2294             dialog = PouActionDialog(self)
  2294             dialog = PouActionDialog(self)
  2295             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2295             dialog.SetPouNames(self.Controler.GetProjectPouNames())
  2296             dialog.SetPouElementNames(self.Controler.GetProjectPouVariables(pou_name))
  2296             dialog.SetPouElementNames(self.Controler.GetProjectPouVariableNames(pou_name))
  2297             dialog.SetValues({"actionName": self.Controler.GenerateNewName(None, None, "action%d")})
  2297             dialog.SetValues({"actionName": self.Controler.GenerateNewName(None, None, "action%d")})
  2298             if dialog.ShowModal() == wx.ID_OK:
  2298             if dialog.ShowModal() == wx.ID_OK:
  2299                 values = dialog.GetValues()
  2299                 values = dialog.GetValues()
  2300                 tagname = self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"])
  2300                 tagname = self.Controler.ProjectAddPouAction(pou_name, values["actionName"], values["language"])
  2301                 if tagname is not None:
  2301                 if tagname is not None: