def editors(): d_e = DictEditorWidget() d_e.setMinimumSize(400, 100) d = OrderedDict() d['taco'] = 15 d['quesadilla'] = 20 d_e.setDict(d) d_e.dictEdited.connect(dictEmitted) initial = (d_e, d) # recreate dictEditor d_e = DictEditorWidget() d_e.setMinimumSize(400, 100) d = OrderedDict() d['taco'] = 15 d['quesadilla'] = 20 d_e.setDict(d) d_e.dictEdited.connect(dictEmitted) new_d = OrderedDict() new_d['potato'] = 1 new_d['carrot'] = 2 d_e.setDict(new_d) reinitial = (d_e, new_d) print "Finished initialize for both" return (initial, reinitial)
def editors(): d_e = DictEditorWidget() d_e.setMinimumSize(400, 100) d = OrderedDict() keyList = ['potato', 'carrot', 'marshmallow', 'taco', 'quesadilla'] d_e.setValidKeys(keyList) d['taco'] = 15 d['quesadilla'] = 20 d_e.setDict(d) d_e.dictEdited.connect(dictEmitted) initial = (d_e, d, keyList) # recreate dictEditor d_e = DictEditorWidget() d_e.setMinimumSize(400, 100) d = OrderedDict() # commenting this line breaks insert keyList = ['potato', 'carrot', 'marshmallow', 'taco', 'quesadilla'] d_e.setValidKeys(keyList) d['taco'] = 15 d['quesadilla'] = 20 d_e.setDict(d) d_e.dictEdited.connect(dictEmitted) new_d = OrderedDict() new_d['potato'] = 1 new_d['carrot'] = 2 d_e.setDict(new_d) reinitial = (d_e, d, keyList) return (initial, reinitial)
def manageDictEditor(self, button): self.object.label_mode = button.text() if button.text() == "Manual": label_editor = DictEditorWidget() labels = self.object.labels label_editor.setDict(labels) label_editor.dictEdited.connect(self.updateLabels) scroll_area = QtGui.QScrollArea() scroll_area.setWidgetResizable(True) scroll_area.setWidget(label_editor) self.vertical_layout.insertWidget(self.vertical_layout.count() - 1, scroll_area) elif isinstance( self.vertical_layout.itemAt(self.vertical_layout.count() - 2).widget(), QtGui.QScrollArea): scroll_area = self.vertical_layout.takeAt( self.vertical_layout.count() - 2).widget() scroll_area.deleteLater()
def __init__(self, axis, parent=None): super(AxisEditorWidget, self).__init__() self.axis = axis self.state = None # create layout so you can set the preview self.horizontal_layout = QtGui.QHBoxLayout() # create labels tickmarks_label = QtGui.QLabel("Tickmarks:") negative_label = QtGui.QLabel("Negative:") ticks_label = QtGui.QLabel("Ticks:") step_label = QtGui.QLabel("Tick Step:") show_mini_label = QtGui.QLabel("Show Mini Ticks:") mini_per_tick_label = QtGui.QLabel("Mini-Ticks Per Tick:") preset_label = QtGui.QLabel("Preset:") # create rows tickmarks_row = QtGui.QHBoxLayout() preset_row = QtGui.QHBoxLayout() ticks_row = QtGui.QHBoxLayout() mini_ticks_row = QtGui.QHBoxLayout() # create widgets self.ticks_widget = QtGui.QWidget() self.ticks_widget.setLayout(ticks_row) self.preset_widget = QtGui.QWidget() self.preset_widget.setLayout(preset_row) self.dict_widget = DictEditorWidget() self.dict_widget.dictEdited.connect(self.updateAxisWithDict) # set up scrollable for dict editor self.scroll_area = QtGui.QScrollArea() self.scroll_area.setWidget(self.dict_widget) self.scroll_area.setWidgetResizable(True) # Create radio buttons and group them self.tickmark_button_group = QtGui.QButtonGroup() tickmarks_row.addWidget(tickmarks_label) for name in ["Auto", "Even", "Manual"]: button = QtGui.QRadioButton(name) tickmarks_row.addWidget(button) if name == "Auto": button.setChecked(True) self.tickmark_button_group.addButton(button) self.tickmark_button_group.buttonClicked.connect(self.updateTickmark) # create preset combo box # This in only being tracked for debugging preset_box = QtGui.QComboBox() preset_box.addItem("default") preset_box.addItems(vcs.listelements("list")) preset_box.currentIndexChanged[str].connect(self.updatePreset) preset_row.addWidget(preset_label) preset_row.addWidget(preset_box) # create slider for Ticks self.ticks_slider = QtGui.QSlider() self.ticks_slider.setRange(1, 100) self.ticks_slider.setOrientation(QtCore.Qt.Horizontal) self.ticks_slider.sliderMoved.connect(self.updateTicks) # create step edit box step_validator = QtGui.QDoubleValidator() self.step_edit = QtGui.QLineEdit() self.step_edit.setValidator(step_validator) self.step_edit.textEdited.connect(lambda: QtCore.QTimer.singleShot(1000, self.updateStep)) self.step_edit.editingFinished.connect(self.updateStep) # create negative check box self.negative_check = QtGui.QCheckBox() self.negative_check.clicked.connect(self.updateTickSign) ticks_row.addWidget(negative_label) ticks_row.addWidget(self.negative_check) ticks_row.addWidget(ticks_label) ticks_row.addWidget(self.ticks_slider) ticks_row.addWidget(step_label) ticks_row.addWidget(self.step_edit) # create show mini ticks check box show_mini_check_box = QtGui.QCheckBox() show_mini_check_box.stateChanged.connect(self.updateShowMiniTicks) # create mini tick spin box mini_tick_box = QtGui.QSpinBox() mini_tick_box.setRange(0, 255) mini_tick_box.valueChanged.connect(self.updateMiniTicks) mini_ticks_row.addWidget(show_mini_label) mini_ticks_row.addWidget(show_mini_check_box) mini_ticks_row.addWidget(mini_per_tick_label) mini_ticks_row.addWidget(mini_tick_box) self.adjuster_layout = QtGui.QVBoxLayout() self.adjuster_layout.insertLayout(0, tickmarks_row) self.adjuster_layout.insertWidget(1, self.preset_widget) self.adjuster_layout.insertLayout(2, mini_ticks_row) self.horizontal_layout.addLayout(self.adjuster_layout) self.vertical_layout.insertLayout(0, self.horizontal_layout) self.setPreview(AxisPreviewWidget())