def buildUi(self): self.oneVariableFeedbackFormWidget = LOneVariableFeedbackFormWidget(self) self.conditionTableWidget = LConditionTableWidget(self) self.statusTextWidget = LStatusTextWidget(self) self.setLWidgets(self.getLWidgets(mode=Lt.AutoDiscoveryMode)) self.connect(self.oneVariableFeedbackFormWidget, SIGNAL("dataChanged()"), self.on_oneVariableFeedbackFormWidget_dataChanged) self.toolBox = QToolBox(self) self.toolBox.addItem(self.oneVariableFeedbackFormWidget,"OVF Form") self.toolBox.addItem(self.conditionTableWidget,"OVF Condition Table") self.toolBox.addItem(self.statusTextWidget,"OVF Status") self.toolBox.setCurrentIndex(0) layout = QVBoxLayout(self) layout.addWidget(self.toolBox) self.setLayout(layout)
def buildUi(self): self.xVariableFeedbackFormWidget = LXVariableFeedbackFormWidget(self) self.conditionTableWidget = LConditionTableWidget(self) self.statusTextWidget = LStatusTextWidget(self) self.setLWidgets(self.getLWidgets(mode=Lt.AutoDiscoveryMode)) for widget in self.getLWidgets(): debug(self, "LWidget includes %s/%s/%s" % (widget.getName(), widget.getClassName(), widget.getVersion()),4) self.connect(self.xVariableFeedbackFormWidget, SIGNAL("dataChanged()"), self.on_xVariableFeedbackFormWidget_dataChanged) self.toolBox = QToolBox(self) self.toolBox.addItem(self.xVariableFeedbackFormWidget,"XVF Form") self.toolBox.addItem(self.conditionTableWidget,"XVF Condition Table") self.toolBox.addItem(self.statusTextWidget,"XVF Status") self.toolBox.setCurrentIndex(0) layout = QVBoxLayout(self) layout.addWidget(self.toolBox) self.setLayout(layout)
def setupUi(self, xVariableFeedbackComposite): xVariableFeedbackComposite.setObjectName("xVariableFeedbackComposite") xVariableFeedbackComposite.resize(712, 518) self.gridLayout = QtGui.QGridLayout(xVariableFeedbackComposite) self.gridLayout.setObjectName("gridLayout") self.xVariableFeedbackToolBox = QtGui.QToolBox(xVariableFeedbackComposite) self.xVariableFeedbackToolBox.setFrameShape(QtGui.QFrame.NoFrame) self.xVariableFeedbackToolBox.setFrameShadow(QtGui.QFrame.Sunken) self.xVariableFeedbackToolBox.setLineWidth(3) self.xVariableFeedbackToolBox.setObjectName("xVariableFeedbackToolBox") self.feedbackFormPage = QtGui.QWidget() self.feedbackFormPage.setGeometry(QtCore.QRect(0, 0, 694, 413)) self.feedbackFormPage.setObjectName("feedbackFormPage") self.formLayout = QtGui.QFormLayout(self.feedbackFormPage) self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout.setObjectName("formLayout") self.descriptionLabel = QtGui.QLabel(self.feedbackFormPage) self.descriptionLabel.setObjectName("descriptionLabel") self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.descriptionLabel) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.descriptionLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.descriptionLineEdit.setEnabled(False) self.descriptionLineEdit.setObjectName("descriptionLineEdit") self.horizontalLayout_4.addWidget(self.descriptionLineEdit) self.checkBox = QtGui.QCheckBox(self.feedbackFormPage) self.checkBox.setMinimumSize(QtCore.QSize(85, 0)) self.checkBox.setChecked(True) self.checkBox.setObjectName("checkBox") self.horizontalLayout_4.addWidget(self.checkBox) self.formLayout.setLayout(0, QtGui.QFormLayout.FieldRole, self.horizontalLayout_4) self.line_1 = QtGui.QFrame(self.feedbackFormPage) self.line_1.setFrameShadow(QtGui.QFrame.Sunken) self.line_1.setLineWidth(3) self.line_1.setMidLineWidth(0) self.line_1.setFrameShape(QtGui.QFrame.HLine) self.line_1.setFrameShadow(QtGui.QFrame.Sunken) self.line_1.setObjectName("line_1") self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.line_1) self.matrixFileLabel = QtGui.QLabel(self.feedbackFormPage) self.matrixFileLabel.setObjectName("matrixFileLabel") self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.matrixFileLabel) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.matrixFileLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.matrixFileLineEdit.setObjectName("matrixFileLineEdit") self.horizontalLayout_2.addWidget(self.matrixFileLineEdit) self.pickMatrixFileButton = QtGui.QPushButton(self.feedbackFormPage) self.pickMatrixFileButton.setObjectName("pickMatrixFileButton") self.horizontalLayout_2.addWidget(self.pickMatrixFileButton) self.formLayout.setLayout(2, QtGui.QFormLayout.FieldRole, self.horizontalLayout_2) self.numberOfSamplesPerIterationLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfSamplesPerIterationLabel.setObjectName("numberOfSamplesPerIterationLabel") self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.numberOfSamplesPerIterationLabel) self.numberOfSamplesPerIterationSpinBox = QtGui.QSpinBox(self.feedbackFormPage) self.numberOfSamplesPerIterationSpinBox.setPrefix("") self.numberOfSamplesPerIterationSpinBox.setMinimum(1) self.numberOfSamplesPerIterationSpinBox.setMaximum(99) self.numberOfSamplesPerIterationSpinBox.setProperty("value", 1) self.numberOfSamplesPerIterationSpinBox.setObjectName("numberOfSamplesPerIterationSpinBox") self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.numberOfSamplesPerIterationSpinBox) self.samplingRateLabel = QtGui.QLabel(self.feedbackFormPage) self.samplingRateLabel.setObjectName("samplingRateLabel") self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.samplingRateLabel) self.samplingRateSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.samplingRateSpinBox.setDecimals(6) self.samplingRateSpinBox.setSingleStep(0.01) self.samplingRateSpinBox.setProperty("value", 1.0) self.samplingRateSpinBox.setObjectName("samplingRateSpinBox") self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.samplingRateSpinBox) self.numberOfPreviousSampleLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfPreviousSampleLabel.setObjectName("numberOfPreviousSampleLabel") self.formLayout.setWidget(5, QtGui.QFormLayout.LabelRole, self.numberOfPreviousSampleLabel) self.numberOfPreviousSamplesSpinBox = QtGui.QSpinBox(self.feedbackFormPage) self.numberOfPreviousSamplesSpinBox.setPrefix("") self.numberOfPreviousSamplesSpinBox.setObjectName("numberOfPreviousSamplesSpinBox") self.formLayout.setWidget(5, QtGui.QFormLayout.FieldRole, self.numberOfPreviousSamplesSpinBox) self.gainLabel = QtGui.QLabel(self.feedbackFormPage) self.gainLabel.setObjectName("gainLabel") self.formLayout.setWidget(6, QtGui.QFormLayout.LabelRole, self.gainLabel) self.gainSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.gainSpinBox.setDecimals(6) self.gainSpinBox.setMinimum(-999999999.0) self.gainSpinBox.setMaximum(999999999.0) self.gainSpinBox.setSingleStep(0.001) self.gainSpinBox.setObjectName("gainSpinBox") self.formLayout.setWidget(6, QtGui.QFormLayout.FieldRole, self.gainSpinBox) self.upperActionLimitLabel = QtGui.QLabel(self.feedbackFormPage) self.upperActionLimitLabel.setObjectName("upperActionLimitLabel") self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.upperActionLimitLabel) self.upperActionLimitSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.upperActionLimitSpinBox.setDecimals(6) self.upperActionLimitSpinBox.setMinimum(0.0) self.upperActionLimitSpinBox.setMaximum(999999.0) self.upperActionLimitSpinBox.setSingleStep(0.001) self.upperActionLimitSpinBox.setProperty("value", 100.0) self.upperActionLimitSpinBox.setObjectName("upperActionLimitSpinBox") self.formLayout.setWidget(7, QtGui.QFormLayout.FieldRole, self.upperActionLimitSpinBox) self.lowerActionLimitLabel = QtGui.QLabel(self.feedbackFormPage) self.lowerActionLimitLabel.setObjectName("lowerActionLimitLabel") self.formLayout.setWidget(8, QtGui.QFormLayout.LabelRole, self.lowerActionLimitLabel) self.lowerActionLimitSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.lowerActionLimitSpinBox.setDecimals(6) self.lowerActionLimitSpinBox.setMinimum(0.0) self.lowerActionLimitSpinBox.setMaximum(999999.0) self.lowerActionLimitSpinBox.setSingleStep(0.001) self.lowerActionLimitSpinBox.setProperty("value", 0.01) self.lowerActionLimitSpinBox.setObjectName("lowerActionLimitSpinBox") self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.lowerActionLimitSpinBox) self.OperationLabel = QtGui.QLabel(self.feedbackFormPage) self.OperationLabel.setObjectName("OperationLabel") self.formLayout.setWidget(9, QtGui.QFormLayout.LabelRole, self.OperationLabel) self.operationComboBox = QtGui.QComboBox(self.feedbackFormPage) self.operationComboBox.setObjectName("operationComboBox") self.operationComboBox.addItem("") self.operationComboBox.addItem("") self.operationComboBox.addItem("") self.formLayout.setWidget(9, QtGui.QFormLayout.FieldRole, self.operationComboBox) self.line_2 = QtGui.QFrame(self.feedbackFormPage) self.line_2.setLineWidth(3) self.line_2.setFrameShape(QtGui.QFrame.HLine) self.line_2.setFrameShadow(QtGui.QFrame.Sunken) self.line_2.setObjectName("line_2") self.formLayout.setWidget(10, QtGui.QFormLayout.LabelRole, self.line_2) self.offsetPvRegExLabel = QtGui.QLabel(self.feedbackFormPage) self.offsetPvRegExLabel.setObjectName("offsetPvRegExLabel") self.formLayout.setWidget(11, QtGui.QFormLayout.LabelRole, self.offsetPvRegExLabel) self.offsetPvRegExLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.offsetPvRegExLineEdit.setObjectName("offsetPvRegExLineEdit") self.formLayout.setWidget(11, QtGui.QFormLayout.FieldRole, self.offsetPvRegExLineEdit) self.numberOfIterationsLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfIterationsLabel.setObjectName("numberOfIterationsLabel") self.formLayout.setWidget(12, QtGui.QFormLayout.LabelRole, self.numberOfIterationsLabel) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.numberOfIterationsSpinBox = QtGui.QSpinBox(self.feedbackFormPage) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.numberOfIterationsSpinBox.sizePolicy().hasHeightForWidth()) self.numberOfIterationsSpinBox.setSizePolicy(sizePolicy) self.numberOfIterationsSpinBox.setMaximum(999999) self.numberOfIterationsSpinBox.setProperty("value", 999999) self.numberOfIterationsSpinBox.setObjectName("numberOfIterationsSpinBox") self.horizontalLayout_3.addWidget(self.numberOfIterationsSpinBox) self.infinityButton = QtGui.QPushButton(self.feedbackFormPage) self.infinityButton.setObjectName("infinityButton") self.horizontalLayout_3.addWidget(self.infinityButton) self.formLayout.setLayout(12, QtGui.QFormLayout.FieldRole, self.horizontalLayout_3) self.pausebetweenIterationsLabel = QtGui.QLabel(self.feedbackFormPage) self.pausebetweenIterationsLabel.setObjectName("pausebetweenIterationsLabel") self.formLayout.setWidget(13, QtGui.QFormLayout.LabelRole, self.pausebetweenIterationsLabel) self.pauseBetweenIterationsSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.pauseBetweenIterationsSpinBox.setSingleStep(0.01) self.pauseBetweenIterationsSpinBox.setProperty("value", 2.0) self.pauseBetweenIterationsSpinBox.setObjectName("pauseBetweenIterationsSpinBox") self.formLayout.setWidget(13, QtGui.QFormLayout.FieldRole, self.pauseBetweenIterationsSpinBox) self.xVariableFeedbackToolBox.addItem(self.feedbackFormPage, "") self.conditionTablePage = QtGui.QWidget() self.conditionTablePage.setGeometry(QtCore.QRect(0, 0, 710, 418)) self.conditionTablePage.setObjectName("conditionTablePage") self.gridLayout_3 = QtGui.QGridLayout(self.conditionTablePage) self.gridLayout_3.setObjectName("gridLayout_3") self.conditionTableWidget = LConditionTableWidget(self.conditionTablePage) self.conditionTableWidget.setObjectName("conditionTableWidget") self.gridLayout_3.addWidget(self.conditionTableWidget, 0, 0, 1, 1) self.xVariableFeedbackToolBox.addItem(self.conditionTablePage, "") self.page = QtGui.QWidget() self.page.setGeometry(QtCore.QRect(0, 0, 710, 418)) self.page.setObjectName("page") self.gridLayout_4 = QtGui.QGridLayout(self.page) self.gridLayout_4.setObjectName("gridLayout_4") self.statusTextWidget = LStatusTextWidget(self.page) self.statusTextWidget.setObjectName("statusTextWidget") self.gridLayout_4.addWidget(self.statusTextWidget, 0, 0, 1, 1) self.xVariableFeedbackToolBox.addItem(self.page, "") self.gridLayout.addWidget(self.xVariableFeedbackToolBox, 0, 0, 1, 1) self.descriptionLabel.setBuddy(self.descriptionLineEdit) self.matrixFileLabel.setBuddy(self.matrixFileLineEdit) self.numberOfSamplesPerIterationLabel.setBuddy(self.numberOfSamplesPerIterationSpinBox) self.samplingRateLabel.setBuddy(self.samplingRateSpinBox) self.numberOfPreviousSampleLabel.setBuddy(self.numberOfPreviousSamplesSpinBox) self.gainLabel.setBuddy(self.gainSpinBox) self.upperActionLimitLabel.setBuddy(self.upperActionLimitSpinBox) self.lowerActionLimitLabel.setBuddy(self.lowerActionLimitSpinBox) self.OperationLabel.setBuddy(self.operationComboBox) self.offsetPvRegExLabel.setBuddy(self.offsetPvRegExLineEdit) self.numberOfIterationsLabel.setBuddy(self.numberOfIterationsSpinBox) self.pausebetweenIterationsLabel.setBuddy(self.pauseBetweenIterationsSpinBox) self.retranslateUi(xVariableFeedbackComposite) self.xVariableFeedbackToolBox.setCurrentIndex(0) QtCore.QObject.connect(self.checkBox, QtCore.SIGNAL("toggled(bool)"), self.descriptionLineEdit.setDisabled) QtCore.QMetaObject.connectSlotsByName(xVariableFeedbackComposite)
class Ui_xVariableFeedbackComposite(object): def setupUi(self, xVariableFeedbackComposite): xVariableFeedbackComposite.setObjectName("xVariableFeedbackComposite") xVariableFeedbackComposite.resize(712, 518) self.gridLayout = QtGui.QGridLayout(xVariableFeedbackComposite) self.gridLayout.setObjectName("gridLayout") self.xVariableFeedbackToolBox = QtGui.QToolBox(xVariableFeedbackComposite) self.xVariableFeedbackToolBox.setFrameShape(QtGui.QFrame.NoFrame) self.xVariableFeedbackToolBox.setFrameShadow(QtGui.QFrame.Sunken) self.xVariableFeedbackToolBox.setLineWidth(3) self.xVariableFeedbackToolBox.setObjectName("xVariableFeedbackToolBox") self.feedbackFormPage = QtGui.QWidget() self.feedbackFormPage.setGeometry(QtCore.QRect(0, 0, 694, 413)) self.feedbackFormPage.setObjectName("feedbackFormPage") self.formLayout = QtGui.QFormLayout(self.feedbackFormPage) self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout.setObjectName("formLayout") self.descriptionLabel = QtGui.QLabel(self.feedbackFormPage) self.descriptionLabel.setObjectName("descriptionLabel") self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.descriptionLabel) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.descriptionLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.descriptionLineEdit.setEnabled(False) self.descriptionLineEdit.setObjectName("descriptionLineEdit") self.horizontalLayout_4.addWidget(self.descriptionLineEdit) self.checkBox = QtGui.QCheckBox(self.feedbackFormPage) self.checkBox.setMinimumSize(QtCore.QSize(85, 0)) self.checkBox.setChecked(True) self.checkBox.setObjectName("checkBox") self.horizontalLayout_4.addWidget(self.checkBox) self.formLayout.setLayout(0, QtGui.QFormLayout.FieldRole, self.horizontalLayout_4) self.line_1 = QtGui.QFrame(self.feedbackFormPage) self.line_1.setFrameShadow(QtGui.QFrame.Sunken) self.line_1.setLineWidth(3) self.line_1.setMidLineWidth(0) self.line_1.setFrameShape(QtGui.QFrame.HLine) self.line_1.setFrameShadow(QtGui.QFrame.Sunken) self.line_1.setObjectName("line_1") self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.line_1) self.matrixFileLabel = QtGui.QLabel(self.feedbackFormPage) self.matrixFileLabel.setObjectName("matrixFileLabel") self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.matrixFileLabel) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.matrixFileLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.matrixFileLineEdit.setObjectName("matrixFileLineEdit") self.horizontalLayout_2.addWidget(self.matrixFileLineEdit) self.pickMatrixFileButton = QtGui.QPushButton(self.feedbackFormPage) self.pickMatrixFileButton.setObjectName("pickMatrixFileButton") self.horizontalLayout_2.addWidget(self.pickMatrixFileButton) self.formLayout.setLayout(2, QtGui.QFormLayout.FieldRole, self.horizontalLayout_2) self.numberOfSamplesPerIterationLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfSamplesPerIterationLabel.setObjectName("numberOfSamplesPerIterationLabel") self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.numberOfSamplesPerIterationLabel) self.numberOfSamplesPerIterationSpinBox = QtGui.QSpinBox(self.feedbackFormPage) self.numberOfSamplesPerIterationSpinBox.setPrefix("") self.numberOfSamplesPerIterationSpinBox.setMinimum(1) self.numberOfSamplesPerIterationSpinBox.setMaximum(99) self.numberOfSamplesPerIterationSpinBox.setProperty("value", 1) self.numberOfSamplesPerIterationSpinBox.setObjectName("numberOfSamplesPerIterationSpinBox") self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.numberOfSamplesPerIterationSpinBox) self.samplingRateLabel = QtGui.QLabel(self.feedbackFormPage) self.samplingRateLabel.setObjectName("samplingRateLabel") self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.samplingRateLabel) self.samplingRateSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.samplingRateSpinBox.setDecimals(6) self.samplingRateSpinBox.setSingleStep(0.01) self.samplingRateSpinBox.setProperty("value", 1.0) self.samplingRateSpinBox.setObjectName("samplingRateSpinBox") self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.samplingRateSpinBox) self.numberOfPreviousSampleLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfPreviousSampleLabel.setObjectName("numberOfPreviousSampleLabel") self.formLayout.setWidget(5, QtGui.QFormLayout.LabelRole, self.numberOfPreviousSampleLabel) self.numberOfPreviousSamplesSpinBox = QtGui.QSpinBox(self.feedbackFormPage) self.numberOfPreviousSamplesSpinBox.setPrefix("") self.numberOfPreviousSamplesSpinBox.setObjectName("numberOfPreviousSamplesSpinBox") self.formLayout.setWidget(5, QtGui.QFormLayout.FieldRole, self.numberOfPreviousSamplesSpinBox) self.gainLabel = QtGui.QLabel(self.feedbackFormPage) self.gainLabel.setObjectName("gainLabel") self.formLayout.setWidget(6, QtGui.QFormLayout.LabelRole, self.gainLabel) self.gainSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.gainSpinBox.setDecimals(6) self.gainSpinBox.setMinimum(-999999999.0) self.gainSpinBox.setMaximum(999999999.0) self.gainSpinBox.setSingleStep(0.001) self.gainSpinBox.setObjectName("gainSpinBox") self.formLayout.setWidget(6, QtGui.QFormLayout.FieldRole, self.gainSpinBox) self.upperActionLimitLabel = QtGui.QLabel(self.feedbackFormPage) self.upperActionLimitLabel.setObjectName("upperActionLimitLabel") self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.upperActionLimitLabel) self.upperActionLimitSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.upperActionLimitSpinBox.setDecimals(6) self.upperActionLimitSpinBox.setMinimum(0.0) self.upperActionLimitSpinBox.setMaximum(999999.0) self.upperActionLimitSpinBox.setSingleStep(0.001) self.upperActionLimitSpinBox.setProperty("value", 100.0) self.upperActionLimitSpinBox.setObjectName("upperActionLimitSpinBox") self.formLayout.setWidget(7, QtGui.QFormLayout.FieldRole, self.upperActionLimitSpinBox) self.lowerActionLimitLabel = QtGui.QLabel(self.feedbackFormPage) self.lowerActionLimitLabel.setObjectName("lowerActionLimitLabel") self.formLayout.setWidget(8, QtGui.QFormLayout.LabelRole, self.lowerActionLimitLabel) self.lowerActionLimitSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.lowerActionLimitSpinBox.setDecimals(6) self.lowerActionLimitSpinBox.setMinimum(0.0) self.lowerActionLimitSpinBox.setMaximum(999999.0) self.lowerActionLimitSpinBox.setSingleStep(0.001) self.lowerActionLimitSpinBox.setProperty("value", 0.01) self.lowerActionLimitSpinBox.setObjectName("lowerActionLimitSpinBox") self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.lowerActionLimitSpinBox) self.OperationLabel = QtGui.QLabel(self.feedbackFormPage) self.OperationLabel.setObjectName("OperationLabel") self.formLayout.setWidget(9, QtGui.QFormLayout.LabelRole, self.OperationLabel) self.operationComboBox = QtGui.QComboBox(self.feedbackFormPage) self.operationComboBox.setObjectName("operationComboBox") self.operationComboBox.addItem("") self.operationComboBox.addItem("") self.operationComboBox.addItem("") self.formLayout.setWidget(9, QtGui.QFormLayout.FieldRole, self.operationComboBox) self.line_2 = QtGui.QFrame(self.feedbackFormPage) self.line_2.setLineWidth(3) self.line_2.setFrameShape(QtGui.QFrame.HLine) self.line_2.setFrameShadow(QtGui.QFrame.Sunken) self.line_2.setObjectName("line_2") self.formLayout.setWidget(10, QtGui.QFormLayout.LabelRole, self.line_2) self.offsetPvRegExLabel = QtGui.QLabel(self.feedbackFormPage) self.offsetPvRegExLabel.setObjectName("offsetPvRegExLabel") self.formLayout.setWidget(11, QtGui.QFormLayout.LabelRole, self.offsetPvRegExLabel) self.offsetPvRegExLineEdit = QtGui.QLineEdit(self.feedbackFormPage) self.offsetPvRegExLineEdit.setObjectName("offsetPvRegExLineEdit") self.formLayout.setWidget(11, QtGui.QFormLayout.FieldRole, self.offsetPvRegExLineEdit) self.numberOfIterationsLabel = QtGui.QLabel(self.feedbackFormPage) self.numberOfIterationsLabel.setObjectName("numberOfIterationsLabel") self.formLayout.setWidget(12, QtGui.QFormLayout.LabelRole, self.numberOfIterationsLabel) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.numberOfIterationsSpinBox = QtGui.QSpinBox(self.feedbackFormPage) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.numberOfIterationsSpinBox.sizePolicy().hasHeightForWidth()) self.numberOfIterationsSpinBox.setSizePolicy(sizePolicy) self.numberOfIterationsSpinBox.setMaximum(999999) self.numberOfIterationsSpinBox.setProperty("value", 999999) self.numberOfIterationsSpinBox.setObjectName("numberOfIterationsSpinBox") self.horizontalLayout_3.addWidget(self.numberOfIterationsSpinBox) self.infinityButton = QtGui.QPushButton(self.feedbackFormPage) self.infinityButton.setObjectName("infinityButton") self.horizontalLayout_3.addWidget(self.infinityButton) self.formLayout.setLayout(12, QtGui.QFormLayout.FieldRole, self.horizontalLayout_3) self.pausebetweenIterationsLabel = QtGui.QLabel(self.feedbackFormPage) self.pausebetweenIterationsLabel.setObjectName("pausebetweenIterationsLabel") self.formLayout.setWidget(13, QtGui.QFormLayout.LabelRole, self.pausebetweenIterationsLabel) self.pauseBetweenIterationsSpinBox = QtGui.QDoubleSpinBox(self.feedbackFormPage) self.pauseBetweenIterationsSpinBox.setSingleStep(0.01) self.pauseBetweenIterationsSpinBox.setProperty("value", 2.0) self.pauseBetweenIterationsSpinBox.setObjectName("pauseBetweenIterationsSpinBox") self.formLayout.setWidget(13, QtGui.QFormLayout.FieldRole, self.pauseBetweenIterationsSpinBox) self.xVariableFeedbackToolBox.addItem(self.feedbackFormPage, "") self.conditionTablePage = QtGui.QWidget() self.conditionTablePage.setGeometry(QtCore.QRect(0, 0, 710, 418)) self.conditionTablePage.setObjectName("conditionTablePage") self.gridLayout_3 = QtGui.QGridLayout(self.conditionTablePage) self.gridLayout_3.setObjectName("gridLayout_3") self.conditionTableWidget = LConditionTableWidget(self.conditionTablePage) self.conditionTableWidget.setObjectName("conditionTableWidget") self.gridLayout_3.addWidget(self.conditionTableWidget, 0, 0, 1, 1) self.xVariableFeedbackToolBox.addItem(self.conditionTablePage, "") self.page = QtGui.QWidget() self.page.setGeometry(QtCore.QRect(0, 0, 710, 418)) self.page.setObjectName("page") self.gridLayout_4 = QtGui.QGridLayout(self.page) self.gridLayout_4.setObjectName("gridLayout_4") self.statusTextWidget = LStatusTextWidget(self.page) self.statusTextWidget.setObjectName("statusTextWidget") self.gridLayout_4.addWidget(self.statusTextWidget, 0, 0, 1, 1) self.xVariableFeedbackToolBox.addItem(self.page, "") self.gridLayout.addWidget(self.xVariableFeedbackToolBox, 0, 0, 1, 1) self.descriptionLabel.setBuddy(self.descriptionLineEdit) self.matrixFileLabel.setBuddy(self.matrixFileLineEdit) self.numberOfSamplesPerIterationLabel.setBuddy(self.numberOfSamplesPerIterationSpinBox) self.samplingRateLabel.setBuddy(self.samplingRateSpinBox) self.numberOfPreviousSampleLabel.setBuddy(self.numberOfPreviousSamplesSpinBox) self.gainLabel.setBuddy(self.gainSpinBox) self.upperActionLimitLabel.setBuddy(self.upperActionLimitSpinBox) self.lowerActionLimitLabel.setBuddy(self.lowerActionLimitSpinBox) self.OperationLabel.setBuddy(self.operationComboBox) self.offsetPvRegExLabel.setBuddy(self.offsetPvRegExLineEdit) self.numberOfIterationsLabel.setBuddy(self.numberOfIterationsSpinBox) self.pausebetweenIterationsLabel.setBuddy(self.pauseBetweenIterationsSpinBox) self.retranslateUi(xVariableFeedbackComposite) self.xVariableFeedbackToolBox.setCurrentIndex(0) QtCore.QObject.connect(self.checkBox, QtCore.SIGNAL("toggled(bool)"), self.descriptionLineEdit.setDisabled) QtCore.QMetaObject.connectSlotsByName(xVariableFeedbackComposite) def retranslateUi(self, xVariableFeedbackComposite): xVariableFeedbackComposite.setWindowTitle(QtGui.QApplication.translate("xVariableFeedbackComposite", "X-Variable Feedback Composite", None, QtGui.QApplication.UnicodeUTF8)) self.descriptionLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Description", None, QtGui.QApplication.UnicodeUTF8)) self.checkBox.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "Locked", None, QtGui.QApplication.UnicodeUTF8)) self.matrixFileLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Matrix File", None, QtGui.QApplication.UnicodeUTF8)) self.pickMatrixFileButton.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Pick Matrix", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfSamplesPerIterationLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Number Of Samples Per Iteration", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfSamplesPerIterationSpinBox.setSuffix(QtGui.QApplication.translate("xVariableFeedbackComposite", " Sample(s)", None, QtGui.QApplication.UnicodeUTF8)) self.samplingRateLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Sampling Rate in Hertz", None, QtGui.QApplication.UnicodeUTF8)) self.samplingRateSpinBox.setSuffix(QtGui.QApplication.translate("xVariableFeedbackComposite", " Hetz", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfPreviousSampleLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Number Of Previous Samples", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfPreviousSamplesSpinBox.setSuffix(QtGui.QApplication.translate("xVariableFeedbackComposite", " Sample(s)", None, QtGui.QApplication.UnicodeUTF8)) self.gainLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Gain", None, QtGui.QApplication.UnicodeUTF8)) self.upperActionLimitLabel.setToolTip(QtGui.QApplication.translate("xVariableFeedbackComposite", "Maximum value that can be written on the actuator at the end of an iteration", None, QtGui.QApplication.UnicodeUTF8)) self.upperActionLimitLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Upper Action Limit", None, QtGui.QApplication.UnicodeUTF8)) self.lowerActionLimitLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Lower Action Limit", None, QtGui.QApplication.UnicodeUTF8)) self.OperationLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Operation", None, QtGui.QApplication.UnicodeUTF8)) self.operationComboBox.setItemText(0, QtGui.QApplication.translate("xVariableFeedbackComposite", "Average", None, QtGui.QApplication.UnicodeUTF8)) self.operationComboBox.setItemText(1, QtGui.QApplication.translate("xVariableFeedbackComposite", "Minimum", None, QtGui.QApplication.UnicodeUTF8)) self.operationComboBox.setItemText(2, QtGui.QApplication.translate("xVariableFeedbackComposite", "Maximum", None, QtGui.QApplication.UnicodeUTF8)) self.offsetPvRegExLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Offset PV Reg Expression", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfIterationsLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Number Of Iterations", None, QtGui.QApplication.UnicodeUTF8)) self.numberOfIterationsSpinBox.setSuffix(QtGui.QApplication.translate("xVariableFeedbackComposite", " Iteration(s)", None, QtGui.QApplication.UnicodeUTF8)) self.infinityButton.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Infinity", None, QtGui.QApplication.UnicodeUTF8)) self.pausebetweenIterationsLabel.setText(QtGui.QApplication.translate("xVariableFeedbackComposite", "&Pause Between Iterations", None, QtGui.QApplication.UnicodeUTF8)) self.pauseBetweenIterationsSpinBox.setSuffix(QtGui.QApplication.translate("xVariableFeedbackComposite", " Second", None, QtGui.QApplication.UnicodeUTF8)) self.xVariableFeedbackToolBox.setItemText(self.xVariableFeedbackToolBox.indexOf(self.feedbackFormPage), QtGui.QApplication.translate("xVariableFeedbackComposite", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.conditionTableWidget.setToolTip(QtGui.QApplication.translate("xVariableFeedbackComposite", "Condition table", None, QtGui.QApplication.UnicodeUTF8)) self.conditionTableWidget.setWhatsThis(QtGui.QApplication.translate("xVariableFeedbackComposite", "This widget displays the current condition that needs to be meet.", None, QtGui.QApplication.UnicodeUTF8)) self.xVariableFeedbackToolBox.setItemText(self.xVariableFeedbackToolBox.indexOf(self.conditionTablePage), QtGui.QApplication.translate("xVariableFeedbackComposite", "Conditions", None, QtGui.QApplication.UnicodeUTF8)) self.statusTextWidget.setToolTip(QtGui.QApplication.translate("xVariableFeedbackComposite", "Current status", None, QtGui.QApplication.UnicodeUTF8)) self.statusTextWidget.setWhatsThis(QtGui.QApplication.translate("xVariableFeedbackComposite", "This widget displays the current status.", None, QtGui.QApplication.UnicodeUTF8)) self.xVariableFeedbackToolBox.setItemText(self.xVariableFeedbackToolBox.indexOf(self.page), QtGui.QApplication.translate("xVariableFeedbackComposite", "Status", None, QtGui.QApplication.UnicodeUTF8))
class LOneVariableFeedbackComposite(LExecutableComposite): processStarted = pyqtSignal() processStopped = pyqtSignal() processPaused = pyqtSignal() processResumed = pyqtSignal() processFinished = pyqtSignal() dataChanged = pyqtSignal() # Used when description changes def __init__(self, parent=None): super(LOneVariableFeedbackComposite, self).__init__(parent) self.dataContainer = LMyDataContainer(self) self.actions = LMyActions(self.dataContainer, self) self.setName(COMPOSITE_NAME) self.buildUi() self.updateUi() @LInAndOut(DEBUG & COMPOSITES) def buildUi(self): self.oneVariableFeedbackFormWidget = LOneVariableFeedbackFormWidget(self) self.conditionTableWidget = LConditionTableWidget(self) self.statusTextWidget = LStatusTextWidget(self) self.setLWidgets(self.getLWidgets(mode=Lt.AutoDiscoveryMode)) self.connect(self.oneVariableFeedbackFormWidget, SIGNAL("dataChanged()"), self.on_oneVariableFeedbackFormWidget_dataChanged) self.toolBox = QToolBox(self) self.toolBox.addItem(self.oneVariableFeedbackFormWidget,"OVF Form") self.toolBox.addItem(self.conditionTableWidget,"OVF Condition Table") self.toolBox.addItem(self.statusTextWidget,"OVF Status") self.toolBox.setCurrentIndex(0) layout = QVBoxLayout(self) layout.addWidget(self.toolBox) self.setLayout(layout) @LInAndOut(DEBUG & COMPOSITES) def updateUi(self): ''' Updates displayed values with object attributes ''' super(LOneVariableFeedbackComposite, self).updateUi() #---------------------------------------------------------------------- # Interface (geT) @LInAndOut(DEBUG & COMPOSITES) def getDescription(self): return self.oneVariableFeedbackFormWidget.getDescription() #---------------------------------------------------------------------- # Widget actions @LInAndOut(DEBUG & COMPOSITES) def on_oneVariableFeedbackFormWidget_dataChanged(self): self.dataContainer.menuTitle = self.getDescription() self.emit_dataChanged() @LInAndOut(DEBUG & COMPOSITES) def on_process_readyReadStandardOutput(self): byteArray = self.process.readAllStandardOutput() stdout_message = "%s" % QString(byteArray) message = stdout_message.strip('\n') if len(message) > 0 : debug(self, "%s" % message) self.statusTextWidget.append("%s" % message) @LInAndOut(DEBUG & COMPOSITES) def on_process_readyReadStandardError(self): byteArray = self.process.readAllStandardError() stderr_message = "%s" % QString(byteArray) # <-- QByteArray to ... message = stderr_message.strip('\n') if len(message) > 0 : debug(self, "%s" % message) self.statusTextWidget.append("%s" % message) @LInAndOut(DEBUG & WIDGETS_) def on_process_started(self): self.statusTextWidget.clear() commandLine = self.getCommandLine() message = "[process %d] %s" % (self.process.pid(), commandLine) debug(self, message) self.statusTextWidget.append("%s" % message) self.toolBox.setCurrentIndex(2) self.emit_processStarted() @LInAndOut(DEBUG & COMPOSITES) def on_process_finished(self, exitCode): ''' If killed through OS ''' debug(self, "[process %d] finished with exitCode %s" % (self.process.pid(), exitCode)) self.emit_processFinished()