Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
 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()
Esempio n. 4
0
    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())