def METHOD_NAME(self, paramlst, orientation='vertical'):
    # construct a set of widgets for the parameters
    captions = []
    for param in paramlst:
        title = param.get('title', param.name)
        wtype = param.get('widget', None)
        if wtype is None:
            # set default widget type if none specified
            wtype = 'entry'
            if 'valid' in param:
                wtype = 'combobox'
        captions.append((title + ':', 'label', param.name, wtype))
    w, b = Widgets.build_info(captions, orientation=orientation)
    # fill with default values and tool tips
    for param in paramlst:
        name = param.name
        widget = b[name]
        valid = param.get('valid', None)
        if hasattr(widget, 'set_index') and valid is not None:
            # configure combobox
            for value in valid:
                widget.append_text(str(value))
        elif hasattr(widget, 'set_limits') and 'incr' in param:
            # configure spinbox/slider
            widget.set_limits(param.min, param.max,
                              incr_value=param.incr)
        wtype = param.get('widget', None)
        if wtype == 'spinfloat':
            widget.set_decimals(param.get('decimals', 4))
        # if we have a cached value for the parameter, use it
        try:
            value = getattr(self.obj, name)
            self.set_widget_value(widget, param, value)
        except (AttributeError, KeyError):
            # otherwise initialize to the default value, if available
            if 'default' in param:
                value = param.default
                self.set_widget_value(widget, param, value)
                setattr(self.obj, name, value)
        if 'description' in param:
            widget.set_tooltip(param.description)
        if widget.has_callback('activated'):
            widget.add_callback('activated', self._value_changed_cb)
        elif widget.has_callback('value-changed'):
            widget.add_callback('value-changed', self._value_changed_cb)
    self.paramlst = paramlst
    self.widgets = b
    return w