545 text = event.GetText() |
545 text = event.GetText() |
546 values = self.EnumeratedValues.GetStrings() |
546 values = self.EnumeratedValues.GetStrings() |
547 index = event.GetIndex() |
547 index = event.GetIndex() |
548 if index >= len(values) or values[index].upper() != text.upper(): |
548 if index >= len(values) or values[index].upper() != text.upper(): |
549 if text.upper() in [value.upper() for value in values]: |
549 if text.upper() in [value.upper() for value in values]: |
550 message = wx.MessageDialog(self, _("\"%s\" value already defined!")%text, _("Error"), wx.OK|wx.ICON_ERROR) |
550 message = wx.MessageDialog(self, _("\"%s\" value already defined!") % text, _("Error"), wx.OK|wx.ICON_ERROR) |
551 message.ShowModal() |
551 message.ShowModal() |
552 message.Destroy() |
552 message.Destroy() |
553 event.Veto() |
553 event.Veto() |
554 elif text.upper() in IEC_KEYWORDS: |
554 elif text.upper() in IEC_KEYWORDS: |
555 message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!")%text, _("Error"), wx.OK|wx.ICON_ERROR) |
555 message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!") % text, _("Error"), wx.OK|wx.ICON_ERROR) |
556 message.ShowModal() |
556 message.ShowModal() |
557 message.Destroy() |
557 message.Destroy() |
558 else: |
558 else: |
559 initial_selected = None |
559 initial_selected = None |
560 if index < len(values) and self.EnumeratedInitialValue.GetStringSelection() == values[index]: |
560 if index < len(values) and self.EnumeratedInitialValue.GetStringSelection() == values[index]: |
580 colname = self.StructureElementsTable.GetColLabelValue(col, False) |
580 colname = self.StructureElementsTable.GetColLabelValue(col, False) |
581 value = self.StructureElementsTable.GetValue(row, col) |
581 value = self.StructureElementsTable.GetValue(row, col) |
582 if colname == "Name": |
582 if colname == "Name": |
583 message = None |
583 message = None |
584 if not TestIdentifier(value): |
584 if not TestIdentifier(value): |
585 message = _("\"%s\" is not a valid identifier!")%value |
585 message = _("\"%s\" is not a valid identifier!") % value |
586 elif value.upper() in IEC_KEYWORDS: |
586 elif value.upper() in IEC_KEYWORDS: |
587 message = _("\"%s\" is a keyword. It can't be used!")%value |
587 message = _("\"%s\" is a keyword. It can't be used!") % value |
588 ## elif value.upper() in self.PouNames: |
588 ## elif value.upper() in self.PouNames: |
589 ## message = _("A pou with \"%s\" as name exists!")%value |
589 ## message = _("A pou with \"%s\" as name exists!")%value |
590 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]: |
591 message = _("An element named \"%s\" already exists in this structure!")%value |
591 message = _("An element named \"%s\" already exists in this structure!") % value |
592 else: |
592 else: |
593 self.RefreshTypeInfos() |
593 self.RefreshTypeInfos() |
594 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid) |
594 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid) |
595 ## old_value = self.Table.GetOldValue() |
595 ## old_value = self.Table.GetOldValue() |
596 ## if old_value != "": |
596 ## if old_value != "": |
738 infos["base_type"] = self.ArrayBaseType.GetStringSelection() |
738 infos["base_type"] = self.ArrayBaseType.GetStringSelection() |
739 infos["dimensions"] = [] |
739 infos["dimensions"] = [] |
740 for dimensions in self.ArrayDimensions.GetStrings(): |
740 for dimensions in self.ArrayDimensions.GetStrings(): |
741 result = DIMENSION_MODEL.match(dimensions) |
741 result = DIMENSION_MODEL.match(dimensions) |
742 if result is None: |
742 if result is None: |
743 message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!")%dimensions, _("Error"), wx.OK|wx.ICON_ERROR) |
743 message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!") % dimensions, _("Error"), wx.OK|wx.ICON_ERROR) |
744 message.ShowModal() |
744 message.ShowModal() |
745 message.Destroy() |
745 message.Destroy() |
746 self.RefreshView() |
746 self.RefreshView() |
747 return |
747 return |
748 bounds = result.groups() |
748 bounds = result.groups() |
749 if int(bounds[0]) >= int(bounds[1]): |
749 if int(bounds[0]) >= int(bounds[1]): |
750 message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value.")%dimensions, _("Error"), wx.OK|wx.ICON_ERROR) |
750 message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value.") % dimensions, _("Error"), wx.OK|wx.ICON_ERROR) |
751 message.ShowModal() |
751 message.ShowModal() |
752 message.Destroy() |
752 message.Destroy() |
753 self.RefreshView() |
753 self.RefreshView() |
754 return |
754 return |
755 infos["dimensions"].append(bounds) |
755 infos["dimensions"].append(bounds) |