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()
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)
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()
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()