def add_input(self, label, default): vbox = VBox() vbox.set_spacing(12) vbox.set_valign(vbox.VALIGN_CENTER) self.__vbox.add(vbox, True) lbl = Label(label, theme.font_mb_plain, theme.color_mb_text) vbox.add(lbl, True) entry = TextInput() vbox.add(entry, True) self.__retrievers.append(lambda: entry.get_text())
def add_range(self, label, min_value, max_value, preset): def update_label(v): value = min_value + v * total lbl.set_text(label + " %d" % value) vbox = VBox() vbox.set_spacing(12) vbox.set_valign(vbox.VALIGN_CENTER) self.__vbox.add(vbox, True) total = max_value - min_value lbl = Label(label + " %d" % preset, theme.font_mb_plain, theme.color_mb_text) vbox.add(lbl, True) slider = HSlider(theme.mb_slider_gauge) slider.connect_value_changed(update_label) slider.set_value((preset - min_value) / float(total)) vbox.add(slider, True) self.__retrievers.append(lambda: min_value + slider.get_value() * (max_value - min_value))