editors/DataTypeEditor.py
changeset 1753 19f19c66b67e
parent 1749 d73b64672238
child 1754 63f4af6bf6d9
equal deleted inserted replaced
1752:d14ff9d7eb76 1753:19f19c66b67e
   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()