727 |
727 |
728 type_menu.AppendMenu(wx.NewId(), _("Base Types"), base_menu) |
728 type_menu.AppendMenu(wx.NewId(), _("Base Types"), base_menu) |
729 |
729 |
730 # build a submenu containing user-defined types |
730 # build a submenu containing user-defined types |
731 datatype_menu = wx.Menu(title='') |
731 datatype_menu = wx.Menu(title='') |
732 |
|
733 # TODO : remove complextypes argument when matiec can manage complex types in pou interface |
|
734 datatypes = self.Controler.GetDataTypes(basetypes = False) |
732 datatypes = self.Controler.GetDataTypes(basetypes = False) |
735 for datatype in datatypes: |
733 for datatype in datatypes: |
736 new_id = wx.NewId() |
734 new_id = wx.NewId() |
737 AppendMenu(datatype_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=datatype) |
735 AppendMenu(datatype_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=datatype) |
738 self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(datatype), id=new_id) |
736 self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(datatype), id=new_id) |
739 |
737 |
740 type_menu.AppendMenu(wx.NewId(), _("User Data Types"), datatype_menu) |
738 type_menu.AppendMenu(wx.NewId(), _("User Data Types"), datatype_menu) |
|
739 |
|
740 for category in self.Controler.GetPluginDataTypes(): |
|
741 |
|
742 if len(category["list"]) > 0: |
|
743 # build a submenu containing plugin types |
|
744 plugin_datatype_menu = wx.Menu(title='') |
|
745 for datatype in category["list"]: |
|
746 new_id = wx.NewId() |
|
747 AppendMenu(plugin_datatype_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=datatype) |
|
748 self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(datatype), id=new_id) |
|
749 |
|
750 type_menu.AppendMenu(wx.NewId(), category["name"], plugin_datatype_menu) |
741 |
751 |
742 # build a submenu containing function block types |
752 # build a submenu containing function block types |
743 bodytype = self.Controler.GetEditedElementBodyType(self.TagName) |
753 bodytype = self.Controler.GetEditedElementBodyType(self.TagName) |
744 pouname, poutype = self.Controler.GetEditedElementType(self.TagName) |
754 pouname, poutype = self.Controler.GetEditedElementType(self.TagName) |
745 classtype = self.Table.GetValueByName(row, "Class") |
755 classtype = self.Table.GetValueByName(row, "Class") |