editors/DataTypeEditor.py
changeset 1658 ba6a6d6e989c
parent 1571 486f94a8032c
child 1734 750eeb7230a1
equal deleted inserted replaced
1657:3a98027ff372 1658:ba6a6d6e989c
   568     def OnEnumeratedValuesChanged(self, event):
   568     def OnEnumeratedValuesChanged(self, event):
   569         wx.CallAfter(self.RefreshEnumeratedValues)
   569         wx.CallAfter(self.RefreshEnumeratedValues)
   570         wx.CallAfter(self.RefreshTypeInfos)
   570         wx.CallAfter(self.RefreshTypeInfos)
   571         event.Skip()
   571         event.Skip()
   572 
   572 
       
   573     def ShowErrorMessage(self, message):
       
   574         dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR)
       
   575         dialog.ShowModal()
       
   576         dialog.Destroy()
       
   577         
   573     def OnStructureElementsGridCellChange(self, event):
   578     def OnStructureElementsGridCellChange(self, event):
   574         row, col = event.GetRow(), event.GetCol()
   579         row, col = event.GetRow(), event.GetCol()
   575         colname = self.StructureElementsTable.GetColLabelValue(col, False)
   580         colname = self.StructureElementsTable.GetColLabelValue(col, False)
   576         value = self.StructureElementsTable.GetValue(row, col)
   581         value = self.StructureElementsTable.GetValue(row, col)
   577         if colname == "Name":
   582         if colname == "Name":
       
   583             message = None
   578             if not TestIdentifier(value):
   584             if not TestIdentifier(value):
   579                 message = wx.MessageDialog(self, _("\"%s\" is not a valid identifier!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
   585                 message = _("\"%s\" is not a valid identifier!")%value
   580                 message.ShowModal()
       
   581                 message.Destroy()
       
   582                 event.Veto()
       
   583             elif value.upper() in IEC_KEYWORDS:
   586             elif value.upper() in IEC_KEYWORDS:
   584                 message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
   587                 message = _("\"%s\" is a keyword. It can't be used!")%value
   585                 message.ShowModal()
       
   586                 message.Destroy()
       
   587                 event.Veto()
       
   588 ##            elif value.upper() in self.PouNames:
   588 ##            elif value.upper() in self.PouNames:
   589 ##                message = wx.MessageDialog(self, "A pou with \"%s\" as name exists!"%value, "Error", wx.OK|wx.ICON_ERROR)
   589 ##                message = _("A pou with \"%s\" as name exists!")%value
   590 ##                message.ShowModal()
       
   591 ##                message.Destroy()
       
   592 ##                event.Veto()
       
   593             elif value.upper() in [var["Name"].upper() for idx, var in enumerate(self.StructureElementsTable.GetData()) if idx != row]:
   590             elif value.upper() in [var["Name"].upper() for idx, var in enumerate(self.StructureElementsTable.GetData()) if idx != row]:
   594                 message = wx.MessageDialog(self, _("An element named \"%s\" already exists in this structure!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
   591                 message = _("An element named \"%s\" already exists in this structure!")%value
   595                 message.ShowModal()
       
   596                 message.Destroy()
       
   597                 event.Veto()
       
   598             else:
   592             else:
   599                 self.RefreshTypeInfos()
   593                 self.RefreshTypeInfos()
   600                 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid)
   594                 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid)
   601 ##                old_value = self.Table.GetOldValue()
   595 ##                old_value = self.Table.GetOldValue()
   602 ##                if old_value != "":
   596 ##                if old_value != "":
   603 ##                    self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value)
   597 ##                    self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value)
   604 ##                self.Controler.BufferProject()
   598 ##                self.Controler.BufferProject()
   605                 event.Skip()
   599                 event.Skip()
       
   600 
       
   601             if message is not None:
       
   602                 event.Veto()
       
   603                 wx.CallAfter(self.ShowErrorMessage, message)
   606         else:
   604         else:
   607             self.RefreshTypeInfos()
   605             self.RefreshTypeInfos()
   608             wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid)
   606             wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid)
   609             event.Skip()
   607             event.Skip()
   610 
   608