Example #1
0
    def __init__(self, parent: 'LayerAlignmentDialog',
                 model: KeypointAlignmentModel) -> None:
        super(KeypointAlignmentWidget, self).__init__()
        self.model = model
        self._parent = parent

        layout = QtWidgets.QFormLayout()
        self.setLayout(layout)

        keypoint_gb = QtWidgets.QGroupBox("Keypoint")
        layout.addWidget(keypoint_gb)

        edit_layout = QtWidgets.QFormLayout()
        keypoint_gb.setLayout(edit_layout)

        self.kpts_sel = QtWidgets.QComboBox()
        self.kpts_sel.setModel(self.model.combo_adapter)
        self.kpts_sel.currentIndexChanged.connect(self.kptChanged)
        edit_layout.addRow("Keypoint:", self.kpts_sel)

        self.wx = UnitLineEdit(UNIT_GROUP_MM)
        self.wy = UnitLineEdit(UNIT_GROUP_MM)
        edit_layout.addRow("World X", self.wx)
        edit_layout.addRow("World Y", self.wy)
        self.wx.edited.connect(self.update_world)
        self.wy.edited.connect(self.update_world)

        self.px = UnitLineEdit(UNIT_GROUP_PX)
        self.py = UnitLineEdit(UNIT_GROUP_PX)
        edit_layout.addRow("Image X", self.px)
        edit_layout.addRow("Image Y", self.py)
        self.px.edited.connect(self.update_layer)
        self.py.edited.connect(self.update_layer)

        self.use_for_alignment = QtWidgets.QCheckBox()
        edit_layout.addRow("Use", self.use_for_alignment)
        self.use_for_alignment.clicked.connect(self.update_used)

        self.add_btn = QtWidgets.QPushButton("Add New")
        self.add_btn.clicked.connect(self.addKeypoint)
        self.del_btn = QtWidgets.QPushButton("Remove Current")
        self.del_btn.clicked.connect(self.delKeypoint)
        bhl = QtWidgets.QHBoxLayout()
        bhl.addWidget(self.add_btn)
        bhl.addWidget(self.del_btn)
        edit_layout.addRow(bhl)

        self.constraint_status_lbl = QtWidgets.QLabel("")
        self.constraint_status_lbl.setWordWrap(True)
        layout.addRow(self.constraint_status_lbl)

        self.model.changed.connect(self.modelChanged)
        self.modelChanged()
Example #2
0
    def __init__(self, tpm):
        super(ViaSettingsDialog, self).__init__()
        self.tpm = tpm

        self.radius_li = UnitLineEdit(UNIT_GROUP_MM)
        self.radius_li.setValue(self.tpm.radius)

        self.layout.addRow("Radius:", self.radius_li)
Example #3
0
    def __init__(self, model, attr, unitgroup, defaultunit=None):
        self.widget = UnitLineEdit(unitgroup)
        self.widget.suppress_enter = False

        self.model = model
        self.attr = attr
        path = self.attr.split('.')
        self.path = path[:-1]
        self.subattr = path[-1]

        self.load()
Example #4
0
    def __init__(self, parent: 'LayerAlignmentDialog', model: RectAlignmentModel) -> None:
        super(RectAlignSettingsWidget, self).__init__()
        self._parent = parent
        self.model = model

        layout = QtWidgets.QFormLayout()
        self.setLayout(layout)

        dims_gb = QtWidgets.QGroupBox("Scale")
        dims_gb_layout = QtWidgets.QFormLayout()
        dims_gb.setLayout(dims_gb_layout)
        layout.addWidget(dims_gb)

        self.dims_locked_cb = QtWidgets.QCheckBox()
        self.dims_locked_cb.clicked.connect(self.set_dims_locked)
        self.dims_1 = UnitLineEdit(UNIT_GROUP_MM)
        self.dims_2 = UnitLineEdit(UNIT_GROUP_MM)

        self.dims_1.edited.connect(self.changed_dim)
        self.dims_2.edited.connect(self.changed_dim)

        dims_gb_layout.addRow("Dims on perimeter", self.dims_locked_cb)
        dims_gb_layout.addRow("Dimension 1", self.dims_1)
        dims_gb_layout.addRow("Dimension 2", self.dims_2)

        origin_gb = QtWidgets.QGroupBox("Origin")
        origin_gb_layout = QtWidgets.QFormLayout()
        origin_gb.setLayout(origin_gb_layout)
        layout.addWidget(origin_gb)

        self.origin_ref = QtWidgets.QComboBox()
        self.origin_ref.addItem("Lower-left")
        self.origin_ref.addItem("Lower-right")
        self.origin_ref.addItem("Upper-left")
        self.origin_ref.addItem("Upper-right")
        origin_gb_layout.addRow(self.origin_ref)
        self.origin_ref.currentIndexChanged.connect(self.ref_changed)

        self.origin_x = PLineEdit()
        self.origin_y = PLineEdit()

        self.origin_x.editingFinished.connect(self.changed_dim)
        self.origin_y.editingFinished.connect(self.changed_dim)

        origin_gb_layout.addRow("Offset X:", self.origin_x)
        origin_gb_layout.addRow("Offset Y:", self.origin_y)

        layout.addWidget(origin_gb)

        fr_gb = QtWidgets.QGroupBox("Flip/Rotate")
        fr_gb_layout = QtWidgets.QHBoxLayout()
        fr_gb.setLayout(fr_gb_layout)

        self.flip_x_btn = QtWidgets.QPushButton("Flip X")
        self.flip_x_btn.setCheckable(True)
        fr_gb_layout.addWidget(self.flip_x_btn)

        self.flip_y_btn = QtWidgets.QPushButton("Flip Y")
        self.flip_y_btn.setCheckable(True)
        fr_gb_layout.addWidget(self.flip_y_btn)

        fr_gb_layout.addStretch()
        fr_gb_layout.addWidget(QtWidgets.QLabel("Rotate:"))
        self.theta_le = ThetaLineEdit()
        fr_gb_layout.addWidget(self.theta_le)
        fr_gb_layout.addWidget(QtWidgets.QLabel("\u00b0"))

        self.flip_x_btn.clicked.connect(self.rotate_flip_changed)
        self.flip_y_btn.clicked.connect(self.rotate_flip_changed)
        self.theta_le.editingFinished.connect(self.rotate_flip_changed)

        layout.addWidget(fr_gb)

        self.model.update_matricies()
        self.update_from_model()