code: def connect_widget(self, wid, getters=None, setters=None,
                         signals=None, arg=None,
                         flavours=None):
          
  
          if isinstance(wid, Gtk.Container):
              self._widgets = wid.get_children()
          elif isinstance(wid, (list, tuple)):
              self._widgets = wid
          else:
              raise TypeError("widget must be either a Gtk.Container or a list or tuple")
  
          # prepares the mappings:
          for idx, w in enumerate(self._widgets):
              if self._prop_is_map: idx=_get_name(w)
              self._idx2wid[idx] = w
              self._wid2idx[w] = idx
              pass
  
          # prepares the lists for signals
          getters = self.__handle_par("getters", getters)
          setters = self.__handle_par("setters", setters)
          signals = self.__handle_par("signals", signals)
          flavours = self.__handle_par("flavours", flavours)
  
          for wi,ge,se,si,fl in zip(self._widgets, getters, setters, signals, flavours):
              if type(ge) == types.MethodType: ge = ge.im_func
              if type(se) == types.MethodType: se = se.im_func
              UserClassAdapter.connect_widget(self, wi, ge, se, si, arg, False, fl)
              pass
  
          self.update_widget()
          self._wid = wid
          return
docs: Called when the widget is instantiated, and the adapter is
          ready to connect the widgets inside it (if a container) or
          each widget if wid is a list of widgets. getters and setters
          can be None, a function or a list or a map of
          functions. signals can be None, a signal name, or a list or
          a map of signal names. When maps are used, keys can be
          widgets or widget names. The length of the possible lists or
          maps must be lesser or equal to the number of widgets that
          will be connected.