def __init__(self, mdl, ctrl): super(ComponentSettings, self).__init__() self.mdl = mdl hfl = QtGui.QFormLayout() ct_cmb = QtGui.QComboBox() for _, i in sorted(mdl_meta.items(), key=lambda i: i[0]): ct_cmb.addItem(i.text) ct_cmb.setCurrentIndex(self.mdl.cmptype) ct_cmb.currentIndexChanged.connect(self.changeTab) hfl.addRow("Component Type", ct_cmb) self.w_x = UnitEditable(ctrl.flow, "center.x", UNIT_GROUP_MM) hfl.addRow("Position X:", self.w_x.widget) self.w_y = UnitEditable(ctrl.flow, "center.y", UNIT_GROUP_MM) hfl.addRow("Position Y:", self.w_y.widget) self.w_theta = DegreeEditable(ctrl.flow, "theta") hfl.addRow("Theta:", self.w_theta.widget) self.headerWidget.setLayout(hfl) for k, i in sorted(mdl_meta.items(), key=lambda i: i[0]): self.addAutoWidget(i.widget_cons(mdl.model_instances[k])) self.selectWidget(self.mdl.cmptype) self.ctrl = ctrl
def __init__(self, icmdl): super(SIPEditWidget, self).__init__() self.mdl = icmdl # PinCount self.pincw = self.addEdit( "Pin Count", LineEditable(self.mdl, "pin_count", IntTrait)) self.addEdit("(e) Pin spacing (along length)", UnitEditable(self.mdl, "pin_space", UNIT_GROUP_MM)) self.addEdit("PCB Pad diameter", UnitEditable(self.mdl, "pad_diameter", UNIT_GROUP_MM))
class ComponentSettings(MultiAutoSettingsDialog): def __init__(self, mdl, ctrl): super(ComponentSettings, self).__init__() self.resize(550, 700) self.setWindowTitle("Component Settings") self.mdl = mdl hfl = QtGui.QFormLayout() ct_cmb = QtGui.QComboBox() for _, i in sorted(mdl_meta.items(), key=lambda i: i[0]): ct_cmb.addItem(i.text) ct_cmb.setCurrentIndex(self.mdl.cmptype) ct_cmb.currentIndexChanged.connect(self.changeTab) hfl.addRow("Component Type", ct_cmb) self.w_x = UnitEditable(ctrl.flow, "center.x", UNIT_GROUP_MM) hfl.addRow("Position X:", self.w_x.widget) self.w_y = UnitEditable(ctrl.flow, "center.y", UNIT_GROUP_MM) hfl.addRow("Position Y:", self.w_y.widget) self.w_theta = DegreeEditable(ctrl.flow, "theta") hfl.addRow("Theta:", self.w_theta.widget) self.headerWidget.setLayout(hfl) for k, i in sorted(mdl_meta.items(), key=lambda i: i[0]): self.addAutoWidget(i.widget_cons(mdl.model_instances[k])) self.selectWidget(self.mdl.cmptype) self.ctrl = ctrl def changeTab(self, idx): self.mdl.cmptype = idx self.selectWidget(idx) self.ctrl.restartFlow() @QtCore.Slot() def accept(self): self.currentWidget.save() self.w_x.save() self.w_y.save() self.w_theta.save() super(ComponentSettings, self).accept()
class ComponentSettings(MultiAutoSettingsDialog): def __init__(self, mdl, ctrl): super(ComponentSettings, self).__init__() self.mdl = mdl hfl = QtWidgets.QFormLayout() ct_cmb = QtWidgets.QComboBox() for _, i in sorted(mdl_meta.items(), key=lambda i: i[0]): ct_cmb.addItem(i.text) ct_cmb.setCurrentIndex(self.mdl.cmptype) ct_cmb.currentIndexChanged.connect(self.changeTab) hfl.addRow("Component Type", ct_cmb) self.w_x = UnitEditable(ctrl.mdl, "center.x", UNIT_GROUP_MM) hfl.addRow("Position X:", self.w_x.widget) self.w_y = UnitEditable(ctrl.mdl, "center.y", UNIT_GROUP_MM) hfl.addRow("Position Y:", self.w_y.widget) self.w_theta = DegreeEditable(ctrl.mdl, "theta") hfl.addRow("Theta:", self.w_theta.widget) self.headerWidget.setLayout(hfl) for k, i in sorted(mdl_meta.items(), key=lambda i: i[0]): self.addAutoWidget(i.widget_cons(mdl.model_instances[k])) self.selectWidget(self.mdl.cmptype) self.ctrl = ctrl def changeTab(self, idx): self.mdl.cmptype = idx self.selectWidget(idx) self.ctrl.restartFlow() @QtCore.Slot() def accept(self): self.currentWidget.save() self.w_x.save() self.w_y.save() self.w_theta.save() super(ComponentSettings, self).accept()
def __init__(self, model): super(PassiveEditWidget, self).__init__() self.__model = model self.__idx_to_wk : Dict[int, _well_known_t] = {} self.__wk_to_idx : Dict[_well_known_t, int] = {} self.cb_well_known = QtWidgets.QComboBox() self.layout.addRow("Package", self.cb_well_known) self.__add_wk(None, "Custom") self.cb_well_known.insertSeparator(self.cb_well_known.maxCount()) for v in well_known_chip: self.__add_wk(v) self.cb_well_known.setCurrentIndex(self.__wk_to_idx[self.__model.well_known]) self.cb_well_known.currentIndexChanged.connect(lambda _: self.update_ui()) # Snap checkbox self.cb_snap = QtWidgets.QCheckBox() self.cb_snap.setChecked(self.__model.snap_well) self.cb_snap.clicked.connect(self.snap_ui_changed) self.layout.addRow("Snap to Well Known", self.cb_snap) self.gs = [ self.addEdit("Pad Centers", UnitEditable(self.__model, "pin_d", UNIT_GROUP_MM)), self.addEdit("Body length", PointUnitEditable(self.__model, "body_corner_vec", "x", UNIT_GROUP_MM)), self.addEdit("Body width", PointUnitEditable(self.__model, "body_corner_vec", "y", UNIT_GROUP_MM)), self.addEdit("Pad length", PointUnitEditable(self.__model, "pin_corner_vec", "x", UNIT_GROUP_MM)), self.addEdit("Pad width", PointUnitEditable(self.__model, "pin_corner_vec", "y", UNIT_GROUP_MM)), ] self.pad_type_select = QtWidgets.QComboBox() self.pad_type_select.addItem("SMT Chip Passive", Passive2BodyType.CHIP) self.pad_type_select.addItem("SMT Capacitor (electrolytic)", Passive2BodyType.SMD_CAP) self.pad_type_select.addItem("T/H Axial", Passive2BodyType.TH_AXIAL) self.pad_type_select.addItem("T/H Radial", Passive2BodyType.TH_RADIAL) self.pad_type_select.addItem("T/H Radial side", Passive2BodyType.TH_FLIPPED_CAP) self.layout.addRow("Body Type", self.pad_type_select) self.update_ui()
def __init__(self, model): super(PassiveEditWidget, self).__init__() self.__model = model self.__idx_to_wk = {} self.__wk_to_idx = {} self.cb_well_known = QtGui.QComboBox() self.layout.addRow("Package", self.cb_well_known) self.__add_wk(None, "Custom") self.cb_well_known.insertSeparator(self.cb_well_known.maxCount()) for v in well_known_chip: self.__add_wk(v) self.cb_well_known.currentIndexChanged.connect(self.pkg_changed) self.cb_well_known.setCurrentIndex( self.__wk_to_idx[self.__model.well_known]) self.pkg_changed(self.cb_well_known.currentIndex()) # Snap checkbox self.cb_snap = QtGui.QCheckBox() self.cb_snap.setChecked(self.__model.snap_well) self.layout.addRow("Snap to Well Known", self.cb_snap) self.gs = [ self.addEdit("Pad Centers", UnitEditable(self.__model, "pin_d", UNIT_GROUP_MM)), self.addEdit( "Body length", PointUnitEditable(self.__model, "body_corner_vec", "x", UNIT_GROUP_MM)), self.addEdit( "Body width", PointUnitEditable(self.__model, "body_corner_vec", "y", UNIT_GROUP_MM)), self.addEdit( "Pad length", PointUnitEditable(self.__model, "pin_corner_vec", "x", UNIT_GROUP_MM)), self.addEdit( "Pad width", PointUnitEditable(self.__model, "pin_corner_vec", "y", UNIT_GROUP_MM)), ]
def __init__(self, icmdl): super(BasicSMDICEditWidget, self).__init__() self.mdl = icmdl # Symmetry self.symw = QtWidgets.QComboBox() syms = [SYM_4_SQUARE, SYM_4_RECT, SYM_2, SYM_ARB] for s in syms: self.symw.addItem(text_for_sym(s), s) self.sym = guess_sym(self.mdl.side1_pins, self.mdl.side2_pins, self.mdl.side3_pins, self.mdl.side4_pins) self.symw.setCurrentIndex(self.sym) self.layout.addRow("Symmetry", self.symw) self.symw.currentIndexChanged.connect(self.sym_changed) # PinCount self.pin_count = 0 self.pincw = self.addEdit("Pin Count", LineEditable(self, "pin_count", IntTrait)) self.pincw.widget.editingFinished.connect( lambda: self.sym_value_changed(True)) self.s1pw = self.addEdit( "Side 1 Pins", LineEditable(self.mdl, "side1_pins", IntTrait)) self.s1pw.widget.editingFinished.connect( lambda: self.sym_value_changed(False)) self.s2pw = self.addEdit( "Side 2 Pins", LineEditable(self.mdl, "side2_pins", IntTrait)) self.s2pw.widget.editingFinished.connect( lambda: self.sym_value_changed(False)) self.s3pw = self.addEdit( "Side 3 Pins", LineEditable(self.mdl, "side3_pins", IntTrait)) self.s3pw.widget.editingFinished.connect( lambda: self.sym_value_changed(False)) self.s4pw = self.addEdit( "Side 4 Pins", LineEditable(self.mdl, "side4_pins", IntTrait)) self.s4pw.widget.editingFinished.connect( lambda: self.sym_value_changed(False)) self.addEdit("(D1) Dimension 1 Body", UnitEditable(self.mdl, "dim_1_body", UNIT_GROUP_MM)) self.addEdit("(D) Dimension 1 Pin Center-to-Center", UnitEditable(self.mdl, "dim_1_pincenter", UNIT_GROUP_MM)) self.addEdit("(E1) Dimension 2 Body", UnitEditable(self.mdl, "dim_2_body", UNIT_GROUP_MM)) self.addEdit("(E) Dimension 2 Pin Center-to-Center", UnitEditable(self.mdl, "dim_2_pincenter", UNIT_GROUP_MM)) self.layout.addWidget( QtWidgets.QLabel("Dimension 1 is along pin 1 edge")) self.addEdit("(e) Pin Spacing", UnitEditable(self.mdl, "pin_spacing", UNIT_GROUP_MM)) self.addEdit( "(L) Pin PCB contact length", UnitEditable(self.mdl, "pin_contact_length", UNIT_GROUP_MM)) self.addEdit( "(b) Pin PCB contact width", UnitEditable(self.mdl, "pin_contact_width", UNIT_GROUP_MM)) self.update_sym_ena() self.sym_value_changed(False)