def on_combo_setting_changed(combo: Gtk.ComboBoxText, items: 'OrderedDict[str, str]') -> None: current_value = list(items)[combo.get_active()] section = combo.get_section_name() option = combo.get_name() config.new(section, option, current_value)
def on_auto_effect_changed(self, combo: Gtk.ComboBoxText) -> None: name = combo.get_name() effect = list(auto_effect_dict)[combo.get_active()] config.new('auto_effect', name, effect) serial_message = 'la' serial_message += config.parser.get("auto_effect", name) self.application.send_serial(serial_message) sleep(1.5)
def update_comboboxtext_choices(cb: Gtk.ComboBoxText, choices: List[str], default=None, set_to=None): """Update the choices of the combo box while keeping the current selection, if possible.""" logger.debug('Updating comboboxtext choices.') prevselected = cb.get_active_text() logger.debug('Previously selected: {}'.format(prevselected)) if set_to is not None: logger.debug('Set_to is not None, but {}'.format(set_to)) prevselected = set_to cb.remove_all() defaultindex = None logger.debug('Adding choices:') active_index = None for i, k in enumerate(choices): cb.append_text(k) if k == prevselected: active_index = i if k == default: defaultindex = i logger.debug( ' #{:d}: '.format(i) + k + ['', ' (active) '][active_index == i] + ['', ' (default) '][defaultindex == i]) if defaultindex is None: defaultindex = 0 if active_index is None: logger.debug('Setting to default, cannot activate original.') active_index = defaultindex cb.set_active(active_index) logger.debug('Activated index {:d}: {}'.format(active_index, cb.get_active_text()))
def on_change_clipping_method(self, widget: Gtk.ComboBoxText): METHODS = { 'Cohen Sutherland': LineClippingMethod.COHEN_SUTHERLAND, 'Liang Barsky': LineClippingMethod.LIANG_BARSKY, } self.clipping_method = METHODS[widget.get_active_text()] self.window.queue_draw()
def on_effects_changed(self, combo: Gtk.ComboBoxText) -> None: self.primary_effect.set_sensitive(True) self.secondary_effect.set_sensitive(True) self.primary_color.set_sensitive(True) self.secondary_color.set_sensitive(True) name = combo.get_name() if name == "primary_effect": effect = list(primary_effects_dict)[combo.get_active()] if effect in extra_effect_block_list: self.extra_effect.set_active(0) self.extra_effect.set_sensitive(False) else: self.extra_effect.set_sensitive(True) elif name == "secondary_effect": effect = list(secondary_effects_dict)[combo.get_active()] else: effect = list(extra_effects_dict)[combo.get_active()] if self.primary_effect.get_active() == 0: self.secondary_effect.set_active(0) self.secondary_effect.set_sensitive(False) if self.extra_effect.get_active( ) == 0 or self.primary_effect.get_active() == 0: current_effect_list = [ list(primary_effects_dict)[self.primary_effect.get_active()], list(extra_effects_dict)[self.extra_effect.get_active()], ] if any((effect in primary_color_effect_block_list) for effect in current_effect_list): self.primary_color.set_sensitive(False) if any((effect in secondary_color_effect_block_list) for effect in current_effect_list): self.secondary_color.set_sensitive(False) config.new('effects', name, effect) serial_message = 'le' serial_message += config.parser.get("effects", "extra_effect") serial_message += config.parser.get("effects", "secondary_effect") serial_message += config.parser.get("effects", "primary_effect") self.application.send_serial(serial_message)
def on_prefix_changed(self, prefixselector: Gtk.ComboBoxText): prefix = prefixselector.get_active_text() try: self.on_lastfsn_changed(self.instrument.services['filesequence'], prefix, self.instrument.services['filesequence'].get_lastfsn(prefix)) except KeyError: pass
def go_to_surah(self, box: Gtk.ComboBoxText) -> None: text = box.get_child().get_text() if len(text) < 3: return try: glob.surah_number = int(text.split('.')[0]) self.update('surah-number') except: return
def on_theme_changed(self, combo: Gtk.ComboBoxText) -> None: theme = list(config.gtk_themes)[combo.get_active()] if theme == 'dark': self.gtk_settings_class.props.gtk_application_prefer_dark_theme = True else: self.gtk_settings_class.props.gtk_application_prefer_dark_theme = False config.new('general', 'theme', theme)
def on_motorselector_changed(self, combobox: Gtk.ComboBoxText): if self.widget.get_visible(): self.motorname = combobox.get_active_text() self.required_devices = ['Motor_' + self.motorname] self.on_mainwidget_map(self.widget) # for re-connecting the signal handlers self.builder.get_object('currentpos_label').set_text( '%.3f' % self.instrument.motors[self.motorname].where()) self.adjust_limits() return False
def on_filterlevel_changed(self, cb: Gtk.ComboBoxText): try: self.filterlevel = int(cb.get_active_id()) except TypeError: return model = self.builder.get_object('logstore') assert isinstance(model, Gtk.ListStore) for row in model: row[7] = row[2] >= self.filterlevel self.update_shown_count()
def on_peak_selector_changed(self, psel: Gtk.ComboBoxText): calibrant = self.builder.get_object('calibrant_selector').get_active_text() if calibrant is None: return peak = psel.get_active_text() if peak is None: return self.builder.get_object('calval_adjustment').set_value( self.instrument.config['calibrants'][calibrant][peak]['val']) self.builder.get_object('calerr_adjustment').set_value( self.instrument.config['calibrants'][calibrant][peak]['err']) logger.debug('Set from calibrant.')
def apply_resolution(widget: Gtk.ComboBoxText): """ @brief Apply selected resolution from the combobox. @param widget Gtk.ComboBoxText @return None """ # apply resolution for all displays in the xfce settings res_str = widget.get_active_text() cmd = XfceCommand("-c", "displays", "-p", "/ActiveProfile") cmd_res = cmd.execute() print("Walking through active display profiles") for cr in cmd_res: print(f"Profile: {cr}") cmd_2 = XfceCommand("-c", "displays", "-p", f"/{cr}", "-l") cmd_res_2 = cmd_2.execute() print("Walking through profile keys") for cr2 in cmd_res_2: if "Resolution" in cr2: print(f"Found resolution in {cr2}") cmd_3 = XfceCommand( "-c", "displays", "-p", cr2, "-s", res_str, ) cmd_3.execute() # also use xrandr to change current resolution xrandr_cmd = ShellCommand("xrandr", "-s", res_str) xrandr_cmd.execute()
def _combobox_changed_cb(self, combobox: Gtk.ComboBoxText, param_name: str): self._params[param_name] = combobox.get_active_text()
def _on_stress_stressor_comboboxtext_changed(self, combobox: Gtk.ComboBoxText) -> None: sensitive = "benchmark" not in combobox.get_active_id() self._stress_workers_comboboxtext.set_sensitive(sensitive) self._stress_timeout_comboboxtext.set_sensitive(sensitive)
def update_language(self, combo: Gtk.ComboBoxText) -> None: language = list(config.translations)[combo.get_active()] config.new('general', 'language', language) Gtk.Container.foreach(self, refresh_widget_text) Gtk.Container.foreach(self.parent_window, refresh_widget_text)
def view_switched(self, combo: Gtk.ComboBoxText) -> None: self.choices['View'] = combo.get_active_text()
def on_calibrant_selector_changed(self, csel: Gtk.ComboBoxText): update_comboboxtext_choices( self.builder.get_object('peak_selector'), sorted(self.instrument.config['calibrants'][csel.get_active_text()]))