def add_radiobuttons(self, options, default_value=None, layout=[100], layout_index=0, add_divider=True, **kwargs): _layout = Layout(layout) self.add_layout(_layout) radiobuttons_widget = RadioButtons(options, **kwargs) _layout.add_widget(radiobuttons_widget, layout_index) if add_divider: _layout.add_widget(Divider(draw_line=False)) if default_value is not None: radiobuttons_widget._value = default_value return lambda: radiobuttons_widget.value
def __init__(self, screen, interface): super(ValueOptions, self).__init__(screen, 15, 24, y=2, has_shadow=True, is_modal=True, name="valueopts", title="Value display", can_scroll=False) self.set_theme('shadowlands') self._interface = interface layout = Layout([100], fill_frame=True) self.add_layout(layout) layout.add_widget(Divider(draw_line=False)) self._node = self._interface.node options = [] currencies = self._interface.price_poller.eth_prices for k in currencies.keys(): options.append((k, k)) #debug(); pdb.set_trace() radiobuttons = RadioButtons(options, name='valuepicker') # Set radiobox to match stored options for i, option in enumerate(options): if option[1] == self._interface._config.displayed_currency: radiobuttons._value = option[1] radiobuttons._selection = i layout.add_widget(radiobuttons) layout2 = Layout([1, 1]) self.add_layout(layout2) layout2.add_widget(Button("Cancel", self._cancel), 1) layout2.add_widget(Button("Select", self._ok), 0) self.fix()