def _setup_options(self): """ Set up the combo box with the list of attributes """ # Set up radio buttons for subset mode selection if this is a subset if isinstance(self.layer, Subset): self._radio_size = QtWidgets.QButtonGroup() self._radio_size.addButton(self.ui.radio_subset_outline) self._radio_size.addButton(self.ui.radio_subset_data) else: self.ui.radio_subset_outline.hide() self.ui.radio_subset_data.hide() self.ui.label_subset_mode.hide() # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_attribute, label_data) # Set up connections with layer artist connect_current_combo(self.layer_artist, 'attribute', self.ui.combo_attribute) connect_float_edit(self.layer_artist, 'vmin', self.ui.value_min) connect_float_edit(self.layer_artist, 'vmax', self.ui.value_max) connect_color(self.layer_artist, 'color', self.ui.label_color) connect_value(self.layer_artist, 'alpha', self.ui.slider_alpha, value_range=(0, 1)) # Set up internal connections self.ui.radio_subset_outline.toggled.connect(self._update_subset_mode) self.ui.radio_subset_data.toggled.connect(self._update_subset_mode) self.ui.value_min.editingFinished.connect(self._cache_limits) self.ui.value_max.editingFinished.connect(self._cache_limits) self.ui.combo_attribute.currentIndexChanged.connect(self._update_limits)
def _setup_options(self): """ Set up the combo box with the list of attributes """ # Set up radio buttons for subset mode selection if this is a subset if isinstance(self.layer, Subset): self._radio_size = QtGui.QButtonGroup() self._radio_size.addButton(self.ui.radio_subset_outline) self._radio_size.addButton(self.ui.radio_subset_data) else: self.ui.radio_subset_outline.hide() self.ui.radio_subset_data.hide() self.ui.label_subset_mode.hide() # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_attribute, label_data) # Set up connections with layer artist connect_current_combo(self.layer_artist, 'attribute', self.ui.combo_attribute) connect_float_edit(self.layer_artist, 'vmin', self.ui.value_min) connect_float_edit(self.layer_artist, 'vmax', self.ui.value_max) connect_color(self.layer_artist, 'color', self.ui.label_color) connect_value(self.layer_artist, 'alpha', self.ui.slider_alpha, value_range=(0, 1)) # Set up internal connections self.ui.radio_subset_outline.toggled.connect(self._update_subset_mode) self.ui.radio_subset_data.toggled.connect(self._update_subset_mode) self.ui.value_min.editingFinished.connect(self._cache_limits) self.ui.value_max.editingFinished.connect(self._cache_limits) self.ui.combo_attribute.currentIndexChanged.connect(self._update_limits)
def _connect_global(self): connect_current_combo(self.layer.style, 'marker', self.ui.combo_symbol) connect_value(self.layer.style, 'markersize', self.ui.value_size) connect_color(self.layer.style, 'color', self.ui.label_color) connect_value(self.layer.style, 'alpha', self.ui.slider_alpha, value_range=(0, 1))
def _setup_size_options(self): # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_size_attribute, label_data) # Set up connections with layer artist connect_float_edit(self.layer_artist, 'size', self.ui.value_fixed_size) connect_current_combo(self.layer_artist, 'size_attribute', self.ui.combo_size_attribute) connect_float_edit(self.layer_artist, 'size_vmin', self.ui.value_size_vmin) connect_float_edit(self.layer_artist, 'size_vmax', self.ui.value_size_vmax) connect_value(self.layer_artist, 'size_scaling', self.ui.slider_size_scaling, value_range=(0.1, 10), log=True) # Set up internal connections self.ui.combo_size_mode.currentIndexChanged.connect(self._update_size_mode) self.ui.combo_size_attribute.currentIndexChanged.connect(self._update_size_limits) self.ui.button_flip_size.clicked.connect(self._flip_size)
def _setup_options(self): """ Set up the combo box with the list of attributes """ # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_attribute, label_data) # Set up connections with layer artist connect_current_combo(self.layer_artist, 'attribute', self.ui.combo_attribute) connect_float_edit(self.layer_artist, 'level', self.ui.value_level) connect_color(self.layer_artist, 'color', self.ui.label_color) connect_value(self.layer_artist, 'alpha', self.ui.slider_alpha, value_range=(0, 1)) # Set up internal connections self.ui.value_level.editingFinished.connect(self._cache_levels) self.ui.combo_attribute.currentIndexChanged.connect(self._update_levels)
def _setup_color_options(self): # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_cmap_attribute, label_data) # Set up connections with layer artist connect_color(self.layer_artist, 'color', self.ui.label_color) connect_current_combo(self.layer_artist, 'cmap_attribute', self.ui.combo_cmap_attribute) connect_float_edit(self.layer_artist, 'cmap_vmin', self.ui.value_cmap_vmin) connect_float_edit(self.layer_artist, 'cmap_vmax', self.ui.value_cmap_vmax) connect_current_combo(self.layer_artist, 'cmap', self.ui.combo_cmap) connect_value(self.layer_artist, 'alpha', self.ui.slider_alpha, value_range=(0, 1)) # Set up internal connections self.ui.combo_color_mode.currentIndexChanged.connect(self._update_color_mode) self.ui.combo_cmap_attribute.currentIndexChanged.connect(self._update_cmap_limits) self.ui.button_flip_cmap.clicked.connect(self._flip_cmap)
def _connect(self): ui = self.ui ui.monochrome.toggled.connect(self._update_rgb_console) ui.rgb_options.colors_changed.connect(self.update_window_title) # sync client and widget slices ui.slice.slice_changed.connect( lambda: setattr(self, 'slice', self.ui.slice.slice)) update_ui_slice = lambda val: setattr(ui.slice, 'slice', val) add_callback(self.client, 'slice', update_ui_slice) add_callback(self.client, 'display_data', self.ui.slice.set_data) # sync window title to data/attribute add_callback(self.client, 'display_data', nonpartial(self._display_data_changed)) add_callback(self.client, 'display_attribute', nonpartial(self._display_attribute_changed)) add_callback(self.client, 'display_aspect', nonpartial(self.client._update_aspect)) # sync data/attribute combos with client properties connect_current_combo(self.client, 'display_data', self.ui.displayDataCombo) connect_current_combo(self.client, 'display_attribute', self.ui.attributeComboBox) connect_current_combo(self.client, 'display_aspect', self.ui.aspectCombo)
def _connect(self): ui = self.ui cl = self.client connect_bool_button(cl, 'ylog', ui.ylog) connect_current_combo(cl, 'parent_attr', ui.parentCombo) connect_current_combo(cl, 'height_attr', ui.heightCombo) connect_current_combo(cl, 'order_attr', ui.orderCombo)
def _connect(self): ui = self.ui cl = self.client connect_bool_button(cl, 'ylog', ui.ylog) connect_current_combo(cl, 'parent_attr', ui.parentCombo) connect_current_combo(cl, 'height_attr', ui.heightCombo) connect_current_combo(cl, 'order_attr', ui.orderCombo)
def _setup_options(self): """ Set up the combo box with the list of attributes """ # Set up attribute list label_data = [(comp.label, comp) for comp in self.visible_components] update_combobox(self.ui.combo_attribute, label_data) # Set up connections with layer artist connect_current_combo(self.layer_artist, 'attribute', self.ui.combo_attribute) connect_float_edit(self.layer_artist, 'level', self.ui.value_level) connect_color(self.layer_artist, 'color', self.ui.label_color) connect_value(self.layer_artist, 'alpha', self.ui.slider_alpha, value_range=(0, 1)) # Set up internal connections self.ui.value_level.editingFinished.connect(self._cache_levels) self.ui.combo_attribute.currentIndexChanged.connect( self._update_levels)
def autoconnect_qt(state, widget): for child in widget.children(): full_name = child.objectName() if '_' in full_name: wtype, wname = full_name.split('_', 1) if hasattr(state, wname): item = getattr(widget, full_name) if wtype == 'value': connect_value(state, wname, item) elif wtype == 'text': connect_text(state, wname, item) elif wtype == 'bool': connect_bool_button(state, wname, item) elif wtype == 'combo': connect_current_combo(state, wname, item) elif wtype == 'color': connect_color(state, wname, item)
def _connect(self): ui = self.ui ui.monochrome.toggled.connect(self._update_rgb_console) ui.rgb_options.colors_changed.connect(self.update_window_title) # sync client and widget slices ui.slice.slice_changed.connect(lambda: setattr(self, 'slice', self.ui.slice.slice)) update_ui_slice = lambda val: setattr(ui.slice, 'slice', val) add_callback(self.client, 'slice', update_ui_slice) add_callback(self.client, 'display_data', self.ui.slice.set_data) # sync window title to data/attribute add_callback(self.client, 'display_data', nonpartial(self._display_data_changed)) add_callback(self.client, 'display_attribute', nonpartial(self._display_attribute_changed)) add_callback(self.client, 'display_aspect', nonpartial(self.client._update_aspect)) # sync data/attribute combos with client properties connect_current_combo(self.client, 'display_data', self.ui.displayDataCombo) connect_current_combo(self.client, 'display_attribute', self.ui.attributeComboBox) connect_current_combo(self.client, 'display_aspect', self.ui.aspectCombo)
def _connect_global(self): connect_current_combo(self.layer.style, 'marker', self.ui.combo_symbol) connect_value(self.layer.style, 'markersize', self.ui.value_size) connect_color(self.layer.style, 'color', self.ui.label_color) connect_value(self.layer.style, 'alpha', self.ui.slider_alpha, value_range=(0, 1))