def addControls(self, gridbox): """ Construct all the widgets in this Item Inspector """ # selection box and label font = QtGui.QFont() font.setBold(True) label = QtGui.QLabel(self.name, self) label.setFont(font) label.setAlignment(QtCore.Qt.AlignCenter) gridbox.addWidget(label, 0, 0, 1, 1) databox = QtGui.QHBoxLayout() self.boundingbox = None if self.item3d().boundingboxsize: self.boundingbox = QtGui.QLabel( "Size: " + self.item3d().boundingboxsize, self) databox.addWidget(self.boundingbox) gridbox.addLayout(databox, 1, 0, 1, 1) # angluar controls xformframe = QtGui.QFrame() xformframe.setFrameShape(QtGui.QFrame.StyledPanel) xformbox = QtGui.QGridLayout() xformlabel = QtGui.QLabel("Transformation", xformframe) xformlabel.setFont(font) xformlabel.setAlignment(QtCore.Qt.AlignCenter) xformbox.addWidget(xformlabel, 0, 0, 1, 2) # Rotations self.rotcombobox = QtGui.QComboBox() xformbox.addWidget(self.rotcombobox, 1, 0, 1, 2) self.rotstackedwidget = QtGui.QStackedWidget() self.addRotationWidgets() xformbox.addWidget(self.rotstackedwidget, 2, 0, 1, 2) #translations txlabel = QtGui.QLabel("TX", xformframe) txlabel.setAlignment(QtCore.Qt.AlignCenter) xformbox.addWidget(txlabel, 3, 0, 1, 1) tylabel = QtGui.QLabel("TY", xformframe) tylabel.setAlignment(QtCore.Qt.AlignCenter) xformbox.addWidget(tylabel, 3, 1, 1, 1) self.tx = EMSpinWidget(0.0, 1.0) self.ty = EMSpinWidget(0.0, 1.0) xformbox.addWidget(self.tx, 4, 0, 1, 1) xformbox.addWidget(self.ty, 4, 1, 1, 1) tzlabel = QtGui.QLabel("TZ", xformframe) tzlabel.setAlignment(QtCore.Qt.AlignCenter) xformbox.addWidget(tzlabel, 5, 0, 1, 1) zoomlabel = QtGui.QLabel("Zoom", xformframe) zoomlabel.setAlignment(QtCore.Qt.AlignCenter) xformbox.addWidget(zoomlabel, 5, 1, 1, 1) self.tz = EMSpinWidget(0.0, 1.0) self.zoom = EMSpinWidget(1.0, 0.1, postivemode=True, wheelstep=0.1) xformbox.addWidget(self.tz, 6, 0, 1, 1) xformbox.addWidget(self.zoom, 6, 1, 1, 1) self.resetbuttontx = QtGui.QPushButton("Reset Tx") self.resetbuttonrot = QtGui.QPushButton("Reset Rot") xformbox.addWidget(self.resetbuttontx, 7, 0, 1, 1) xformbox.addWidget(self.resetbuttonrot, 7, 1, 1, 1) xformframe.setLayout(xformbox) xformframe.setMaximumWidth(350) xformframe.setMaximumHeight(self.transfromboxmaxheight) xformframe.setLayout(xformbox) gridbox.addWidget(xformframe, 2, 0, 1, 1) # set to default, but run only as a base class if type(self) == EMItem3DInspector: self.updateItemControls() QtCore.QObject.connect(self.tx, QtCore.SIGNAL("valueChanged(int)"), self._on_translation) QtCore.QObject.connect(self.ty, QtCore.SIGNAL("valueChanged(int)"), self._on_translation) QtCore.QObject.connect(self.tz, QtCore.SIGNAL("valueChanged(int)"), self._on_translation) QtCore.QObject.connect(self.zoom, QtCore.SIGNAL("valueChanged(int)"), self._on_scale) QtCore.QObject.connect(self.resetbuttontx, QtCore.SIGNAL("clicked()"), self._on_resettx) QtCore.QObject.connect(self.resetbuttonrot, QtCore.SIGNAL("clicked()"), self._on_resetrot)