def __init__(self, design, prioroperations, placeop=None): super(Dialog, self).__init__() if placeop is None: self.placeop = TransformExternal( None, None, None, None, TransformExternal.transformtypes.scale, TransformExternal.transformtypes.scale, 0, False, 1., 1.) else: self.placeop = placeop self.prioroperations = prioroperations self.design = design self.designwidget = DesignListManager(design) self.operation_list = DraggableTreeWidget() self.operation_list.linklist(prioroperations) self.sketchwidget_from = SketchListViewer(design, name='From Line') self.sketchwidget_to = SketchListManager(design, name='To Lines') self.radiobox_scale_x = qg.QRadioButton('Scale X') self.radiobox_custom_x = qg.QRadioButton('Custom X') self.radiobox_scale_y = qg.QRadioButton('Scale Y') self.radiobox_custom_y = qg.QRadioButton('Custom Y') self.x_scale_option = qg.QButtonGroup() self.x_scale_option.addButton(self.radiobox_scale_x) self.x_scale_option.addButton(self.radiobox_custom_x) self.y_scale_option = qg.QButtonGroup() self.y_scale_option.addButton(self.radiobox_scale_y) self.y_scale_option.addButton(self.radiobox_custom_y) self.scalex = qg.QLineEdit() self.scaley = qg.QLineEdit() templayout1 = qg.QHBoxLayout() templayout1.addStretch() templayout1.addWidget(self.radiobox_scale_x) templayout1.addWidget(self.radiobox_custom_x) templayout1.addWidget(self.scalex) templayout1.addStretch() templayout2 = qg.QHBoxLayout() templayout2.addStretch() templayout2.addWidget(self.radiobox_scale_y) templayout2.addWidget(self.radiobox_custom_y) templayout2.addWidget(self.scaley) templayout2.addStretch() layout5 = qg.QHBoxLayout() layout5.addWidget(qg.QLabel('Flip Layers')) self.flip = qg.QCheckBox() layout5.addWidget(self.flip) layout4 = qg.QHBoxLayout() layout4.addWidget(qg.QLabel('Shift Layers')) self.sb = qg.QSpinBox() self.sb.setRange(popupcad.gui_negative_infinity, popupcad.gui_positive_infinity) self.sb.setSingleStep(1) layout4.addWidget(self.sb) button1 = qg.QPushButton('Ok') button1.clicked.connect(self.accept) button2 = qg.QPushButton('Cancel') button2.clicked.connect(self.reject) layout2 = qg.QHBoxLayout() layout2.addWidget(button1) layout2.addWidget(button2) layout3 = qg.QHBoxLayout() layout3.addWidget(self.sketchwidget_from) layout3.addWidget(self.sketchwidget_to) layout = qg.QVBoxLayout() layout.addWidget(self.designwidget) layout.addWidget(qg.QLabel('Operations')) layout.addWidget(self.operation_list) layout.addLayout(layout3) layout.addLayout(templayout1) layout.addLayout(templayout2) layout.addLayout(layout5) layout.addLayout(layout4) layout.addLayout(layout2) self.setLayout(layout) self.radiobox_scale_x.setChecked(False) self.radiobox_custom_x.setChecked(False) self.radiobox_scale_y.setChecked(False) self.radiobox_custom_y.setChecked(False) if self.placeop.transformtype_x == TransformExternal.transformtypes.scale: self.radiobox_scale_x.setChecked(True) elif self.placeop.transformtype_x == TransformExternal.transformtypes.custom: self.radiobox_custom_x.setChecked(True) if self.placeop.transformtype_y == TransformExternal.transformtypes.scale: self.radiobox_scale_y.setChecked(True) elif self.placeop.transformtype_y == TransformExternal.transformtypes.custom: self.radiobox_custom_y.setChecked(True) self.designwidget.itemlist.itemSelectionChanged.connect( self.loadoperations) if self.placeop.sketch_links is not None: sketch_to = self.design.sketches[ self.placeop.sketch_links['sketch_to'][0]] for ii in range(self.sketchwidget_to.itemlist.count()): item = self.sketchwidget_to.itemlist.item(ii) if item.value == sketch_to: item.setSelected(True) self.loadoperations() try: subdesign = design.subdesigns[ self.placeop.design_links['subdesign'][0]] for ii in range(self.designwidget.itemlist.count()): item = self.designwidget.itemlist.item(ii) if item.value == subdesign: item.setSelected(True) if self.placeop.subopref is not None: id, jj = self.placeop.subopref ii = subdesign.operation_index(id) self.operation_list.selectIndeces([(ii, jj)]) sketch_from = subdesign.sketches[self.placeop.sub_sketch_id] for ii in range(self.sketchwidget_from.itemlist.count()): item = self.sketchwidget_from.itemlist.item(ii) if item.value == sketch_from: item.setSelected(True) except TypeError: pass self.scalex.setText(str(self.placeop.scalex)) self.scaley.setText(str(self.placeop.scaley)) self.flip.setChecked(self.placeop.flip) self.sb.setValue(self.placeop.shift)
def __init__(self, design, prioroperations, sketch=None, subdesign=None, subopref=None, transformtype_x=None, transformtype_y=None, shift=0, flip=False, scalex=1., scaley=1.): super(Dialog, self).__init__() if transformtype_x is None: self.transformtype_x = PlaceOperation8.transformtypes.scale else: self.transformtype_x = transformtype_x if transformtype_y is None: self.transformtype_y = PlaceOperation8.transformtypes.scale else: self.transformtype_y = transformtype_y self.prioroperations = prioroperations self.design = design self.designwidget = DesignListManager(design) self.optree = DraggableTreeWidget() self.sketchwidget = SketchListManager(design) self.radiobox_scale_x = qg.QRadioButton('Scale X') self.radiobox_custom_x = qg.QRadioButton('Custom X') self.radiobox_scale_y = qg.QRadioButton('Scale Y') self.radiobox_custom_y = qg.QRadioButton('Custom Y') self.x_scale_option = qg.QButtonGroup() self.x_scale_option.addButton(self.radiobox_scale_x) self.x_scale_option.addButton(self.radiobox_custom_x) self.y_scale_option = qg.QButtonGroup() self.y_scale_option.addButton(self.radiobox_scale_y) self.y_scale_option.addButton(self.radiobox_custom_y) # custom_layout = qg.QVBoxLayout() self.scalex = qg.QLineEdit() self.scaley = qg.QLineEdit() self.scalex.setText(str(scalex)) self.scaley.setText(str(scaley)) # custom_layout.addWidget(self.scalex) # custom_layout.addWidget(self.scaley) templayout1 = qg.QHBoxLayout() templayout1.addStretch() templayout1.addWidget(self.radiobox_scale_x) templayout1.addWidget(self.radiobox_custom_x) templayout1.addWidget(self.scalex) templayout1.addStretch() templayout2 = qg.QHBoxLayout() templayout2.addStretch() templayout2.addWidget(self.radiobox_scale_y) templayout2.addWidget(self.radiobox_custom_y) templayout2.addWidget(self.scaley) templayout2.addStretch() layout5 = qg.QHBoxLayout() layout5.addWidget(qg.QLabel('Flip Layers')) self.flip = qg.QCheckBox() self.flip.setChecked(flip) layout5.addWidget(self.flip) layout4 = qg.QHBoxLayout() layout4.addWidget(qg.QLabel('Shift Layers')) self.sb = qg.QSpinBox() self.sb.setRange(popupcad.gui_negative_infinity, popupcad.gui_positive_infinity) self.sb.setSingleStep(1) self.sb.setValue(shift) layout4.addWidget(self.sb) # layout3 = qg.QHBoxLayout() # layout3.addWidget(self.lineedit) # layout3.addWidget(button3) button1 = qg.QPushButton('Ok') button1.clicked.connect(self.accept) button2 = qg.QPushButton('Cancel') button2.clicked.connect(self.reject) layout2 = qg.QHBoxLayout() layout2.addWidget(button1) layout2.addWidget(button2) layout = qg.QVBoxLayout() # layout.addWidget(qg.QLabel('Design')) layout.addWidget(self.designwidget) layout.addWidget(qg.QLabel('Sub-Design Operations')) layout.addWidget(self.optree) # layout.addWidget(qg.QLabel('Sketch')) layout.addWidget(self.sketchwidget) layout.addLayout(templayout1) layout.addLayout(templayout2) layout.addLayout(layout5) layout.addLayout(layout4) layout.addLayout(layout2) self.setLayout(layout) self.radiobox_scale_x.setChecked(False) self.radiobox_custom_x.setChecked(False) self.radiobox_scale_y.setChecked(False) self.radiobox_custom_y.setChecked(False) if self.transformtype_x == PlaceOperation8.transformtypes.scale: self.radiobox_scale_x.setChecked(True) elif self.transformtype_x == PlaceOperation8.transformtypes.custom: self.radiobox_custom_x.setChecked(True) if self.transformtype_y == PlaceOperation8.transformtypes.scale: self.radiobox_scale_y.setChecked(True) elif self.transformtype_y == PlaceOperation8.transformtypes.custom: self.radiobox_custom_y.setChecked(True) self.designwidget.itemlist.itemSelectionChanged.connect( self.loadoperations) for ii in range(self.designwidget.itemlist.count()): item = self.designwidget.itemlist.item(ii) if item.value == subdesign: item.setSelected(True) for ii in range(self.sketchwidget.itemlist.count()): item = self.sketchwidget.itemlist.item(ii) if item.value == sketch: item.setSelected(True) self.loadoperations() try: if subopref is not None: id, jj = subopref if subdesign is not None: ii = subdesign.operation_index(id) self.optree.selectIndeces([(ii, jj)]) except NoOperation: pass