code: def update(self, widget, widget_tree):
          
          self.listeners_list = []
          self.build_widget_list_from_tree(widget_tree)
  
          self.label.set_text('Signal connections: ' + widget.attributes['editor_varname'])
          #del self.container
          self.container = gui.VBox(width='100%', height='90%')
          self.container.style['justify-content'] = 'flex-start'
          self.container.style['overflow-y'] = 'scroll'
          self.append(self.container, 'container')
          ##for all the events of this widget
          #isclass instead of ismethod because event methods are replaced with ClassEventConnector
          for (setOnEventListenerFuncname,setOnEventListenerFunc) in inspect.getmembers(widget):
              #if the member is decorated by decorate_set_on_listener and the function is referred to this event
              if hasattr(setOnEventListenerFunc, '_event_info'):
                  self.container.append( SignalConnection(widget, 
                      self.listeners_list, 
                      setOnEventListenerFuncname, 
                      setOnEventListenerFunc, 
                      width='100%') )
docs: for the selected widget are listed the relative signals
              for each signal there is a dropdown containing all the widgets
              the user will select the widget that have to listen a specific event