590 message = None |
590 message = None |
591 if not TestIdentifier(value): |
591 if not TestIdentifier(value): |
592 message = _("\"%s\" is not a valid identifier!") % value |
592 message = _("\"%s\" is not a valid identifier!") % value |
593 elif value.upper() in IEC_KEYWORDS: |
593 elif value.upper() in IEC_KEYWORDS: |
594 message = _("\"%s\" is a keyword. It can't be used!") % value |
594 message = _("\"%s\" is a keyword. It can't be used!") % value |
595 ## elif value.upper() in self.PouNames: |
595 # elif value.upper() in self.PouNames: |
596 ## message = _("A pou with \"%s\" as name exists!")%value |
596 # message = _("A pou with \"%s\" as name exists!")%value |
597 elif value.upper() in [var["Name"].upper() for idx, var in enumerate(self.StructureElementsTable.GetData()) if idx != row]: |
597 elif value.upper() in [var["Name"].upper() for idx, var in enumerate(self.StructureElementsTable.GetData()) if idx != row]: |
598 message = _("An element named \"%s\" already exists in this structure!") % value |
598 message = _("An element named \"%s\" already exists in this structure!") % value |
599 else: |
599 else: |
600 self.RefreshTypeInfos() |
600 self.RefreshTypeInfos() |
601 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid) |
601 wx.CallAfter(self.StructureElementsTable.ResetView, self.StructureElementsGrid) |
602 ## old_value = self.Table.GetOldValue() |
602 # old_value = self.Table.GetOldValue() |
603 ## if old_value != "": |
603 # if old_value != "": |
604 ## self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value) |
604 # self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value) |
605 ## self.Controler.BufferProject() |
605 # self.Controler.BufferProject() |
606 event.Skip() |
606 event.Skip() |
607 |
607 |
608 if message is not None: |
608 if message is not None: |
609 event.Veto() |
609 event.Veto() |
610 wx.CallAfter(self.ShowErrorMessage, message) |
610 wx.CallAfter(self.ShowErrorMessage, message) |
638 |
638 |
639 new_id = wx.NewId() |
639 new_id = wx.NewId() |
640 AppendMenu(type_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Array")) |
640 AppendMenu(type_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Array")) |
641 self.Bind(wx.EVT_MENU, self.ElementArrayTypeFunction, id=new_id) |
641 self.Bind(wx.EVT_MENU, self.ElementArrayTypeFunction, id=new_id) |
642 |
642 |
643 ## functionblock_menu = wx.Menu(title='') |
643 # functionblock_menu = wx.Menu(title='') |
644 ## bodytype = self.Controler.GetEditedElementBodyType(self.TagName) |
644 # bodytype = self.Controler.GetEditedElementBodyType(self.TagName) |
645 ## pouname, poutype = self.Controler.GetEditedElementType(self.TagName) |
645 # pouname, poutype = self.Controler.GetEditedElementType(self.TagName) |
646 ## if classtype in ["Input","Output","InOut","External","Global"] or poutype != "function" and bodytype in ["ST", "IL"]: |
646 # if classtype in ["Input","Output","InOut","External","Global"] or poutype != "function" and bodytype in ["ST", "IL"]: |
647 ## for functionblock_type in self.Controler.GetFunctionBlockTypes(self.TagName): |
647 # for functionblock_type in self.Controler.GetFunctionBlockTypes(self.TagName): |
648 ## new_id = wx.NewId() |
648 # new_id = wx.NewId() |
649 ## AppendMenu(functionblock_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=functionblock_type) |
649 # AppendMenu(functionblock_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=functionblock_type) |
650 ## self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(functionblock_type), id=new_id) |
650 # self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(functionblock_type), id=new_id) |
651 ## type_menu.AppendMenu(wx.NewId(), _("Function Block Types"), functionblock_menu) |
651 # type_menu.AppendMenu(wx.NewId(), _("Function Block Types"), functionblock_menu) |
652 |
652 |
653 rect = self.StructureElementsGrid.BlockToDeviceRect((row, col), (row, col)) |
653 rect = self.StructureElementsGrid.BlockToDeviceRect((row, col), (row, col)) |
654 self.StructureElementsGrid.PopupMenuXY(type_menu, rect.x + rect.width, rect.y + self.StructureElementsGrid.GetColLabelSize()) |
654 self.StructureElementsGrid.PopupMenuXY(type_menu, rect.x + rect.width, rect.y + self.StructureElementsGrid.GetColLabelSize()) |
655 type_menu.Destroy() |
655 type_menu.Destroy() |
656 event.Veto() |
656 event.Veto() |