def add_selector(self, title, values, onchange, onreturn, default=0, **kwargs): """ Add a selector to menu: several options with values and two functions that execute when changing the selector (left/right) and pressing return button on the element. Values of the selector are like: values = [('Item1', a, b, c...), ('Item2', a, b, c..)] And functions onchange and onreturn does onchange(a, b, c..., **kwargs) onreturn(a, b, c..., **kwargs) :param title: Title of the selector :param values: Values of the selector [('Item1', var1..), ('Item2'...)] :param default: Index of default value to display :param onchange: Function when changing the selector :param onreturn: Function when pressing return button :param kwargs: Aditional parameters :type title: basestring :type values: list :type onchange: function, NoneType :type onreturn: function, NoneType :type default: int :return: Selector ID :rtype: int """ # Check value list for vl in values: assert len(vl) > 1, \ 'Length of each element in value list must be greater than 1' assert isinstance(vl[0], str), \ 'First element of value list component must be a string' self._actual._option.append([ _locals.PYGAMEMENU_TYPE_SELECTOR, _Selector(title, values, onchange=onchange, onreturn=onreturn, default=default, **kwargs) ]) selector_id = self._actual._size self._actual._size += 1 if self._actual._size > 1: dy = -self._actual._fsize / 2 - self._actual._opt_dy / 2 self._actual._opt_posy += dy return selector_id
def add_selector(self, title, values, onchange, onreturn, default=0, **kwargs): # Check value list for vl in values: assert len(vl) > 1, \ 'Length of each element in value list must be greater than 1' assert isinstance(vl[0], str), \ 'First element of value list component must be a string' self._actual._option.append( [_locals.PYGAMEMENU_TYPE_SELECTOR, _Selector(title, values, onchange=onchange, onreturn=onreturn, default=default, **kwargs)]) selector_id = self._actual._size self._actual._size += 1 if self._actual._size > 1: dy = -self._actual._fsize / 2 - self._actual._opt_dy / 2 self._actual._opt_posy += dy return selector_id