controls/VariablePanel.py
changeset 630 9d7e38e271cb
parent 627 99ab0b74865f
child 666 d4bb66691248
equal deleted inserted replaced
629:ddf363817ffa 630:9d7e38e271cb
   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")