def createEditor(self, parent: QWidget, option: QStyleOptionViewItem, index: QModelIndex): model = index.model() row = index.row() lbl = model.message_type[row] if lbl.value_type_index == 2: line_edit = ExpressionLineEdit(parent) line_edit.setPlaceholderText("(item1.length + 3) ^ 0x12") line_edit.setCompleter( QCompleter(self.controller.completer_model, line_edit)) line_edit.setValidator( RuleExpressionValidator(self.controller.sim_expression_parser)) line_edit.setToolTip( self.controller.sim_expression_parser.formula_help) return line_edit elif lbl.value_type_index == 3: return ExternalProgramWidget(parent) elif lbl.value_type_index == 4: random_widget = RandomValueWidget(parent) random_widget.spinbox_random_min.setMaximum(lbl.fuzz_maximum - 2) random_widget.spinbox_random_max.setMinimum(1) random_widget.spinbox_random_max.setMaximum(lbl.fuzz_maximum - 1) return random_widget else: return super().createEditor(parent, option, index)
def test_expression_line_edit(self): e = ExpressionLineEdit() e.setCompleter(QCompleter(self.form.simulator_tab_controller.completer_model, e)) e.setValidator(RuleExpressionValidator(self.form.simulator_tab_controller.sim_expression_parser)) self.assertEqual(e.text(), "") QTest.keyClick(e, Qt.Key_R, Qt.NoModifier) self.assertEqual(e.text(), "r")
def test_expression_line_edit(self): e = ExpressionLineEdit() e.setCompleter(QCompleter(self.form.simulator_tab_controller.completer_model, e)) e.setValidator(RuleExpressionValidator(self.form.simulator_tab_controller.sim_expression_parser)) self.assertEqual(e.text(), "") QTest.keyClick(e, Qt.Key_R, Qt.NoModifier) self.assertEqual(e.text(), "r")
def setupUi(self, SimulatorTab): SimulatorTab.setObjectName("SimulatorTab") SimulatorTab.resize(842, 689) self.verticalLayout_8 = QtWidgets.QVBoxLayout(SimulatorTab) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName("verticalLayout_8") self.scrollArea = QtWidgets.QScrollArea(SimulatorTab) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 842, 689)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_5.setObjectName("verticalLayout_5") self.splitterLeftRight = QtWidgets.QSplitter(self.scrollAreaWidgetContents) self.splitterLeftRight.setStyleSheet("QSplitter::handle:horizontal {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_vertical.svg);\n" "}") self.splitterLeftRight.setOrientation(QtCore.Qt.Horizontal) self.splitterLeftRight.setHandleWidth(6) self.splitterLeftRight.setObjectName("splitterLeftRight") self.layoutWidget = QtWidgets.QWidget(self.splitterLeftRight) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.verticalLayout_3.addWidget(self.label) self.treeProtocols = GeneratorTreeView(self.layoutWidget) self.treeProtocols.setObjectName("treeProtocols") self.verticalLayout_3.addWidget(self.treeProtocols) self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.verticalLayout_3.addWidget(self.label_6) self.listViewSimulate = QtWidgets.QListView(self.layoutWidget) self.listViewSimulate.setAlternatingRowColors(True) self.listViewSimulate.setObjectName("listViewSimulate") self.verticalLayout_3.addWidget(self.listViewSimulate) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.spinBoxNRepeat = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxNRepeat.sizePolicy().hasHeightForWidth()) self.spinBoxNRepeat.setSizePolicy(sizePolicy) self.spinBoxNRepeat.setMaximum(9999999) self.spinBoxNRepeat.setObjectName("spinBoxNRepeat") self.gridLayout.addWidget(self.spinBoxNRepeat, 0, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.spinBoxTimeout = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxTimeout.sizePolicy().hasHeightForWidth()) self.spinBoxTimeout.setSizePolicy(sizePolicy) self.spinBoxTimeout.setMinimum(1) self.spinBoxTimeout.setMaximum(9999999) self.spinBoxTimeout.setObjectName("spinBoxTimeout") self.gridLayout.addWidget(self.spinBoxTimeout, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1) self.comboBoxError = QtWidgets.QComboBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBoxError.sizePolicy().hasHeightForWidth()) self.comboBoxError.setSizePolicy(sizePolicy) self.comboBoxError.setObjectName("comboBoxError") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.gridLayout.addWidget(self.comboBoxError, 2, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) self.spinBoxRetries = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxRetries.setMinimum(1) self.spinBoxRetries.setMaximum(9999999) self.spinBoxRetries.setProperty("value", 10) self.spinBoxRetries.setObjectName("spinBoxRetries") self.gridLayout.addWidget(self.spinBoxRetries, 3, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.btnStartSim = QtWidgets.QPushButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnStartSim.setIcon(icon) self.btnStartSim.setObjectName("btnStartSim") self.verticalLayout_3.addWidget(self.btnStartSim) self.splitter = QtWidgets.QSplitter(self.splitterLeftRight) self.splitter.setStyleSheet("QSplitter::handle:vertical {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_horizontal.svg);\n" "}") self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setObjectName("splitter") self.layoutWidget_2 = QtWidgets.QWidget(self.splitter) self.layoutWidget_2.setObjectName("layoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2) self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setStyleSheet("QTabWidget::pane { border: 0; }") self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout = QtWidgets.QVBoxLayout(self.tab) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(7) self.verticalLayout.setObjectName("verticalLayout") self.gvSimulator = SimulatorGraphicsView(self.tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSimulator.sizePolicy().hasHeightForWidth()) self.gvSimulator.setSizePolicy(sizePolicy) self.gvSimulator.setObjectName("gvSimulator") self.verticalLayout.addWidget(self.gvSimulator) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tblViewMessage = SimulatorMessageTableView(self.tab_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tblViewMessage.sizePolicy().hasHeightForWidth()) self.tblViewMessage.setSizePolicy(sizePolicy) self.tblViewMessage.setAlternatingRowColors(True) self.tblViewMessage.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setShowGrid(False) self.tblViewMessage.setObjectName("tblViewMessage") self.tblViewMessage.horizontalHeader().setHighlightSections(False) self.tblViewMessage.verticalHeader().setHighlightSections(False) self.verticalLayout_6.addWidget(self.tblViewMessage) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lNumSelectedColumns = QtWidgets.QLabel(self.tab_2) self.lNumSelectedColumns.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lNumSelectedColumns.setObjectName("lNumSelectedColumns") self.horizontalLayout_3.addWidget(self.lNumSelectedColumns) self.lColumnsSelectedText = QtWidgets.QLabel(self.tab_2) self.lColumnsSelectedText.setObjectName("lColumnsSelectedText") self.horizontalLayout_3.addWidget(self.lColumnsSelectedText) spacerItem = QtWidgets.QSpacerItem(138, 33, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.horizontalLayout_3.addWidget(self.label_5) self.cbViewType = QtWidgets.QComboBox(self.tab_2) self.cbViewType.setObjectName("cbViewType") self.cbViewType.addItem("") self.cbViewType.addItem("") self.cbViewType.addItem("") self.horizontalLayout_3.addWidget(self.cbViewType) self.verticalLayout_6.addLayout(self.horizontalLayout_3) self.tabWidget.addTab(self.tab_2, "") self.tabParticipants = QtWidgets.QWidget() self.tabParticipants.setObjectName("tabParticipants") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabParticipants) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tableViewParticipants = ParticipantTableView(self.tabParticipants) self.tableViewParticipants.setObjectName("tableViewParticipants") self.horizontalLayout.addWidget(self.tableViewParticipants) self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.btnAddParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-add") self.btnAddParticipant.setIcon(icon) self.btnAddParticipant.setObjectName("btnAddParticipant") self.verticalLayout_9.addWidget(self.btnAddParticipant) self.btnRemoveParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-remove") self.btnRemoveParticipant.setIcon(icon) self.btnRemoveParticipant.setObjectName("btnRemoveParticipant") self.verticalLayout_9.addWidget(self.btnRemoveParticipant) self.btnUp = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-up") self.btnUp.setIcon(icon) self.btnUp.setObjectName("btnUp") self.verticalLayout_9.addWidget(self.btnUp) self.btnDown = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-down") self.btnDown.setIcon(icon) self.btnDown.setObjectName("btnDown") self.verticalLayout_9.addWidget(self.btnDown) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tabParticipants, "") self.verticalLayout_2.addWidget(self.tabWidget) self.layoutWidget_3 = QtWidgets.QWidget(self.splitter) self.layoutWidget_3.setObjectName("layoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout_4.setContentsMargins(11, 11, 11, 11) self.verticalLayout_4.setObjectName("verticalLayout_4") self.lblMsgFieldsValues = QtWidgets.QLabel(self.layoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lblMsgFieldsValues.sizePolicy().hasHeightForWidth()) self.lblMsgFieldsValues.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.lblMsgFieldsValues.setFont(font) self.lblMsgFieldsValues.setAlignment(QtCore.Qt.AlignCenter) self.lblMsgFieldsValues.setObjectName("lblMsgFieldsValues") self.verticalLayout_4.addWidget(self.lblMsgFieldsValues) self.detail_view_widget = QtWidgets.QStackedWidget(self.layoutWidget_3) self.detail_view_widget.setObjectName("detail_view_widget") self.page_empty = QtWidgets.QWidget() self.page_empty.setObjectName("page_empty") self.detail_view_widget.addWidget(self.page_empty) self.page_goto_action = QtWidgets.QWidget() self.page_goto_action.setObjectName("page_goto_action") self.verticalLayout_7 = QtWidgets.QGridLayout(self.page_goto_action) self.verticalLayout_7.setObjectName("verticalLayout_7") self.label_9 = QtWidgets.QLabel(self.page_goto_action) self.label_9.setObjectName("label_9") self.verticalLayout_7.addWidget(self.label_9, 0, 0, 1, 1) self.goto_combobox = QtWidgets.QComboBox(self.page_goto_action) self.goto_combobox.setObjectName("goto_combobox") self.verticalLayout_7.addWidget(self.goto_combobox, 0, 1, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_7.addItem(spacerItem2, 0, 2, 1, 1) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem3, 1, 0, 1, 3) self.detail_view_widget.addWidget(self.page_goto_action) self.page_message = QtWidgets.QWidget() self.page_message.setObjectName("page_message") self.gridLayout_6 = QtWidgets.QGridLayout(self.page_message) self.gridLayout_6.setObjectName("gridLayout_6") self.label_10 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.gridLayout_6.addWidget(self.label_10, 1, 0, 1, 1) self.tblViewFieldValues = SimulatorLabelTableView(self.page_message) self.tblViewFieldValues.setAlternatingRowColors(True) self.tblViewFieldValues.setShowGrid(False) self.tblViewFieldValues.setObjectName("tblViewFieldValues") self.tblViewFieldValues.horizontalHeader().setDefaultSectionSize(150) self.tblViewFieldValues.horizontalHeader().setStretchLastSection(True) self.tblViewFieldValues.verticalHeader().setVisible(False) self.gridLayout_6.addWidget(self.tblViewFieldValues, 2, 2, 1, 1) self.label_11 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.label_11.setObjectName("label_11") self.gridLayout_6.addWidget(self.label_11, 2, 0, 1, 1) self.spinBoxRepeat = QtWidgets.QSpinBox(self.page_message) self.spinBoxRepeat.setMinimum(1) self.spinBoxRepeat.setObjectName("spinBoxRepeat") self.gridLayout_6.addWidget(self.spinBoxRepeat, 1, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.page_message) self.label_2.setObjectName("label_2") self.gridLayout_6.addWidget(self.label_2, 0, 0, 1, 1) self.lblEncodingDecoding = QtWidgets.QLabel(self.page_message) self.lblEncodingDecoding.setObjectName("lblEncodingDecoding") self.gridLayout_6.addWidget(self.lblEncodingDecoding, 0, 2, 1, 1) self.detail_view_widget.addWidget(self.page_message) self.page_rule = QtWidgets.QWidget() self.page_rule.setObjectName("page_rule") self.gridLayout_3 = QtWidgets.QGridLayout(self.page_rule) self.gridLayout_3.setObjectName("gridLayout_3") self.label_12 = QtWidgets.QLabel(self.page_rule) self.label_12.setObjectName("label_12") self.gridLayout_3.addWidget(self.label_12, 0, 0, 1, 1) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem4, 1, 0, 1, 2) self.ruleCondLineEdit = ExpressionLineEdit(self.page_rule) self.ruleCondLineEdit.setObjectName("ruleCondLineEdit") self.gridLayout_3.addWidget(self.ruleCondLineEdit, 0, 1, 1, 1) self.detail_view_widget.addWidget(self.page_rule) self.page_ext_prog_action = QtWidgets.QWidget() self.page_ext_prog_action.setObjectName("page_ext_prog_action") self.gridLayout_9 = QtWidgets.QGridLayout(self.page_ext_prog_action) self.gridLayout_9.setObjectName("gridLayout_9") self.checkBoxPassTranscriptSTDIN = QtWidgets.QCheckBox(self.page_ext_prog_action) self.checkBoxPassTranscriptSTDIN.setObjectName("checkBoxPassTranscriptSTDIN") self.gridLayout_9.addWidget(self.checkBoxPassTranscriptSTDIN, 2, 0, 1, 4) self.label_14 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_14.setObjectName("label_14") self.gridLayout_9.addWidget(self.label_14, 1, 0, 1, 1) self.lineEditTriggerCommand = QtWidgets.QLineEdit(self.page_ext_prog_action) self.lineEditTriggerCommand.setReadOnly(False) self.lineEditTriggerCommand.setObjectName("lineEditTriggerCommand") self.gridLayout_9.addWidget(self.lineEditTriggerCommand, 1, 1, 1, 1) self.btnChooseCommand = QtWidgets.QToolButton(self.page_ext_prog_action) self.btnChooseCommand.setObjectName("btnChooseCommand") self.gridLayout_9.addWidget(self.btnChooseCommand, 1, 2, 1, 2) spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_9.addItem(spacerItem5, 4, 0, 1, 4) self.label_18 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_18.setWordWrap(True) self.label_18.setObjectName("label_18") self.gridLayout_9.addWidget(self.label_18, 3, 0, 1, 4) self.detail_view_widget.addWidget(self.page_ext_prog_action) self.page_sleep = QtWidgets.QWidget() self.page_sleep.setObjectName("page_sleep") self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.page_sleep) self.verticalLayout_10.setObjectName("verticalLayout_10") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_13 = QtWidgets.QLabel(self.page_sleep) self.label_13.setObjectName("label_13") self.horizontalLayout_2.addWidget(self.label_13) self.doubleSpinBoxSleep = QtWidgets.QDoubleSpinBox(self.page_sleep) self.doubleSpinBoxSleep.setDecimals(6) self.doubleSpinBoxSleep.setMaximum(10000.0) self.doubleSpinBoxSleep.setProperty("value", 1.0) self.doubleSpinBoxSleep.setObjectName("doubleSpinBoxSleep") self.horizontalLayout_2.addWidget(self.doubleSpinBoxSleep) self.verticalLayout_10.addLayout(self.horizontalLayout_2) spacerItem6 = QtWidgets.QSpacerItem(20, 231, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_10.addItem(spacerItem6) self.detail_view_widget.addWidget(self.page_sleep) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_11.setObjectName("verticalLayout_11") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.spinBoxCounterStep = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStep.setMinimum(1) self.spinBoxCounterStep.setMaximum(999999) self.spinBoxCounterStep.setObjectName("spinBoxCounterStep") self.gridLayout_2.addWidget(self.spinBoxCounterStep, 2, 1, 1, 1) self.label_15 = QtWidgets.QLabel(self.page) self.label_15.setObjectName("label_15") self.gridLayout_2.addWidget(self.label_15, 1, 0, 1, 1) self.label_16 = QtWidgets.QLabel(self.page) self.label_16.setObjectName("label_16") self.gridLayout_2.addWidget(self.label_16, 2, 0, 1, 1) self.spinBoxCounterStart = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStart.setMaximum(999999) self.spinBoxCounterStart.setObjectName("spinBoxCounterStart") self.gridLayout_2.addWidget(self.spinBoxCounterStart, 1, 1, 1, 1) self.verticalLayout_11.addLayout(self.gridLayout_2) self.label_17 = QtWidgets.QLabel(self.page) self.label_17.setWordWrap(True) self.label_17.setObjectName("label_17") self.verticalLayout_11.addWidget(self.label_17) spacerItem7 = QtWidgets.QSpacerItem(20, 36, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_11.addItem(spacerItem7) self.detail_view_widget.addWidget(self.page) self.verticalLayout_4.addWidget(self.detail_view_widget) self.verticalLayout_5.addWidget(self.splitterLeftRight) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_8.addWidget(self.scrollArea) self.retranslateUi(SimulatorTab) self.tabWidget.setCurrentIndex(0) self.detail_view_widget.setCurrentIndex(2)
class Ui_SimulatorTab(object): def setupUi(self, SimulatorTab): SimulatorTab.setObjectName("SimulatorTab") SimulatorTab.resize(842, 689) self.verticalLayout_8 = QtWidgets.QVBoxLayout(SimulatorTab) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName("verticalLayout_8") self.scrollArea = QtWidgets.QScrollArea(SimulatorTab) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 842, 689)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_5.setObjectName("verticalLayout_5") self.splitterLeftRight = QtWidgets.QSplitter(self.scrollAreaWidgetContents) self.splitterLeftRight.setStyleSheet("QSplitter::handle:horizontal {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_vertical.svg);\n" "}") self.splitterLeftRight.setOrientation(QtCore.Qt.Horizontal) self.splitterLeftRight.setHandleWidth(6) self.splitterLeftRight.setObjectName("splitterLeftRight") self.layoutWidget = QtWidgets.QWidget(self.splitterLeftRight) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.verticalLayout_3.addWidget(self.label) self.treeProtocols = GeneratorTreeView(self.layoutWidget) self.treeProtocols.setObjectName("treeProtocols") self.verticalLayout_3.addWidget(self.treeProtocols) self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.verticalLayout_3.addWidget(self.label_6) self.listViewSimulate = QtWidgets.QListView(self.layoutWidget) self.listViewSimulate.setAlternatingRowColors(True) self.listViewSimulate.setObjectName("listViewSimulate") self.verticalLayout_3.addWidget(self.listViewSimulate) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.spinBoxNRepeat = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxNRepeat.sizePolicy().hasHeightForWidth()) self.spinBoxNRepeat.setSizePolicy(sizePolicy) self.spinBoxNRepeat.setMaximum(9999999) self.spinBoxNRepeat.setObjectName("spinBoxNRepeat") self.gridLayout.addWidget(self.spinBoxNRepeat, 0, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.spinBoxTimeout = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxTimeout.sizePolicy().hasHeightForWidth()) self.spinBoxTimeout.setSizePolicy(sizePolicy) self.spinBoxTimeout.setMinimum(1) self.spinBoxTimeout.setMaximum(9999999) self.spinBoxTimeout.setObjectName("spinBoxTimeout") self.gridLayout.addWidget(self.spinBoxTimeout, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1) self.comboBoxError = QtWidgets.QComboBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBoxError.sizePolicy().hasHeightForWidth()) self.comboBoxError.setSizePolicy(sizePolicy) self.comboBoxError.setObjectName("comboBoxError") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.gridLayout.addWidget(self.comboBoxError, 2, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) self.spinBoxRetries = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxRetries.setMinimum(1) self.spinBoxRetries.setMaximum(9999999) self.spinBoxRetries.setProperty("value", 10) self.spinBoxRetries.setObjectName("spinBoxRetries") self.gridLayout.addWidget(self.spinBoxRetries, 3, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.btnStartSim = QtWidgets.QPushButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnStartSim.setIcon(icon) self.btnStartSim.setObjectName("btnStartSim") self.verticalLayout_3.addWidget(self.btnStartSim) self.splitter = QtWidgets.QSplitter(self.splitterLeftRight) self.splitter.setStyleSheet("QSplitter::handle:vertical {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_horizontal.svg);\n" "}") self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setObjectName("splitter") self.layoutWidget_2 = QtWidgets.QWidget(self.splitter) self.layoutWidget_2.setObjectName("layoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2) self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setStyleSheet("QTabWidget::pane { border: 0; }") self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout = QtWidgets.QVBoxLayout(self.tab) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(7) self.verticalLayout.setObjectName("verticalLayout") self.gvSimulator = SimulatorGraphicsView(self.tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSimulator.sizePolicy().hasHeightForWidth()) self.gvSimulator.setSizePolicy(sizePolicy) self.gvSimulator.setObjectName("gvSimulator") self.verticalLayout.addWidget(self.gvSimulator) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tblViewMessage = SimulatorMessageTableView(self.tab_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tblViewMessage.sizePolicy().hasHeightForWidth()) self.tblViewMessage.setSizePolicy(sizePolicy) self.tblViewMessage.setAlternatingRowColors(True) self.tblViewMessage.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setShowGrid(False) self.tblViewMessage.setObjectName("tblViewMessage") self.tblViewMessage.horizontalHeader().setHighlightSections(False) self.tblViewMessage.verticalHeader().setHighlightSections(False) self.verticalLayout_6.addWidget(self.tblViewMessage) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lNumSelectedColumns = QtWidgets.QLabel(self.tab_2) self.lNumSelectedColumns.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lNumSelectedColumns.setObjectName("lNumSelectedColumns") self.horizontalLayout_3.addWidget(self.lNumSelectedColumns) self.lColumnsSelectedText = QtWidgets.QLabel(self.tab_2) self.lColumnsSelectedText.setObjectName("lColumnsSelectedText") self.horizontalLayout_3.addWidget(self.lColumnsSelectedText) spacerItem = QtWidgets.QSpacerItem(138, 33, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.horizontalLayout_3.addWidget(self.label_5) self.cbViewType = QtWidgets.QComboBox(self.tab_2) self.cbViewType.setObjectName("cbViewType") self.cbViewType.addItem("") self.cbViewType.addItem("") self.cbViewType.addItem("") self.horizontalLayout_3.addWidget(self.cbViewType) self.verticalLayout_6.addLayout(self.horizontalLayout_3) self.tabWidget.addTab(self.tab_2, "") self.tabParticipants = QtWidgets.QWidget() self.tabParticipants.setObjectName("tabParticipants") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabParticipants) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tableViewParticipants = ParticipantTableView(self.tabParticipants) self.tableViewParticipants.setObjectName("tableViewParticipants") self.horizontalLayout.addWidget(self.tableViewParticipants) self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.btnAddParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-add") self.btnAddParticipant.setIcon(icon) self.btnAddParticipant.setObjectName("btnAddParticipant") self.verticalLayout_9.addWidget(self.btnAddParticipant) self.btnRemoveParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-remove") self.btnRemoveParticipant.setIcon(icon) self.btnRemoveParticipant.setObjectName("btnRemoveParticipant") self.verticalLayout_9.addWidget(self.btnRemoveParticipant) self.btnUp = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-up") self.btnUp.setIcon(icon) self.btnUp.setObjectName("btnUp") self.verticalLayout_9.addWidget(self.btnUp) self.btnDown = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-down") self.btnDown.setIcon(icon) self.btnDown.setObjectName("btnDown") self.verticalLayout_9.addWidget(self.btnDown) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tabParticipants, "") self.verticalLayout_2.addWidget(self.tabWidget) self.layoutWidget_3 = QtWidgets.QWidget(self.splitter) self.layoutWidget_3.setObjectName("layoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout_4.setContentsMargins(11, 11, 11, 11) self.verticalLayout_4.setObjectName("verticalLayout_4") self.lblMsgFieldsValues = QtWidgets.QLabel(self.layoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lblMsgFieldsValues.sizePolicy().hasHeightForWidth()) self.lblMsgFieldsValues.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.lblMsgFieldsValues.setFont(font) self.lblMsgFieldsValues.setAlignment(QtCore.Qt.AlignCenter) self.lblMsgFieldsValues.setObjectName("lblMsgFieldsValues") self.verticalLayout_4.addWidget(self.lblMsgFieldsValues) self.detail_view_widget = QtWidgets.QStackedWidget(self.layoutWidget_3) self.detail_view_widget.setObjectName("detail_view_widget") self.page_empty = QtWidgets.QWidget() self.page_empty.setObjectName("page_empty") self.detail_view_widget.addWidget(self.page_empty) self.page_goto_action = QtWidgets.QWidget() self.page_goto_action.setObjectName("page_goto_action") self.verticalLayout_7 = QtWidgets.QGridLayout(self.page_goto_action) self.verticalLayout_7.setObjectName("verticalLayout_7") self.label_9 = QtWidgets.QLabel(self.page_goto_action) self.label_9.setObjectName("label_9") self.verticalLayout_7.addWidget(self.label_9, 0, 0, 1, 1) self.goto_combobox = QtWidgets.QComboBox(self.page_goto_action) self.goto_combobox.setObjectName("goto_combobox") self.verticalLayout_7.addWidget(self.goto_combobox, 0, 1, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_7.addItem(spacerItem2, 0, 2, 1, 1) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem3, 1, 0, 1, 3) self.detail_view_widget.addWidget(self.page_goto_action) self.page_message = QtWidgets.QWidget() self.page_message.setObjectName("page_message") self.gridLayout_6 = QtWidgets.QGridLayout(self.page_message) self.gridLayout_6.setObjectName("gridLayout_6") self.label_10 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.gridLayout_6.addWidget(self.label_10, 1, 0, 1, 1) self.tblViewFieldValues = SimulatorLabelTableView(self.page_message) self.tblViewFieldValues.setAlternatingRowColors(True) self.tblViewFieldValues.setShowGrid(False) self.tblViewFieldValues.setObjectName("tblViewFieldValues") self.tblViewFieldValues.horizontalHeader().setDefaultSectionSize(150) self.tblViewFieldValues.horizontalHeader().setStretchLastSection(True) self.tblViewFieldValues.verticalHeader().setVisible(False) self.gridLayout_6.addWidget(self.tblViewFieldValues, 2, 2, 1, 1) self.label_11 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.label_11.setObjectName("label_11") self.gridLayout_6.addWidget(self.label_11, 2, 0, 1, 1) self.spinBoxRepeat = QtWidgets.QSpinBox(self.page_message) self.spinBoxRepeat.setMinimum(1) self.spinBoxRepeat.setObjectName("spinBoxRepeat") self.gridLayout_6.addWidget(self.spinBoxRepeat, 1, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.page_message) self.label_2.setObjectName("label_2") self.gridLayout_6.addWidget(self.label_2, 0, 0, 1, 1) self.lblEncodingDecoding = QtWidgets.QLabel(self.page_message) self.lblEncodingDecoding.setObjectName("lblEncodingDecoding") self.gridLayout_6.addWidget(self.lblEncodingDecoding, 0, 2, 1, 1) self.detail_view_widget.addWidget(self.page_message) self.page_rule = QtWidgets.QWidget() self.page_rule.setObjectName("page_rule") self.gridLayout_3 = QtWidgets.QGridLayout(self.page_rule) self.gridLayout_3.setObjectName("gridLayout_3") self.label_12 = QtWidgets.QLabel(self.page_rule) self.label_12.setObjectName("label_12") self.gridLayout_3.addWidget(self.label_12, 0, 0, 1, 1) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem4, 1, 0, 1, 2) self.ruleCondLineEdit = ExpressionLineEdit(self.page_rule) self.ruleCondLineEdit.setObjectName("ruleCondLineEdit") self.gridLayout_3.addWidget(self.ruleCondLineEdit, 0, 1, 1, 1) self.detail_view_widget.addWidget(self.page_rule) self.page_ext_prog_action = QtWidgets.QWidget() self.page_ext_prog_action.setObjectName("page_ext_prog_action") self.gridLayout_9 = QtWidgets.QGridLayout(self.page_ext_prog_action) self.gridLayout_9.setObjectName("gridLayout_9") self.checkBoxPassTranscriptSTDIN = QtWidgets.QCheckBox(self.page_ext_prog_action) self.checkBoxPassTranscriptSTDIN.setObjectName("checkBoxPassTranscriptSTDIN") self.gridLayout_9.addWidget(self.checkBoxPassTranscriptSTDIN, 2, 0, 1, 4) self.label_14 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_14.setObjectName("label_14") self.gridLayout_9.addWidget(self.label_14, 1, 0, 1, 1) self.lineEditTriggerCommand = QtWidgets.QLineEdit(self.page_ext_prog_action) self.lineEditTriggerCommand.setReadOnly(False) self.lineEditTriggerCommand.setObjectName("lineEditTriggerCommand") self.gridLayout_9.addWidget(self.lineEditTriggerCommand, 1, 1, 1, 1) self.btnChooseCommand = QtWidgets.QToolButton(self.page_ext_prog_action) self.btnChooseCommand.setObjectName("btnChooseCommand") self.gridLayout_9.addWidget(self.btnChooseCommand, 1, 2, 1, 2) spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_9.addItem(spacerItem5, 4, 0, 1, 4) self.label_18 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_18.setWordWrap(True) self.label_18.setObjectName("label_18") self.gridLayout_9.addWidget(self.label_18, 3, 0, 1, 4) self.detail_view_widget.addWidget(self.page_ext_prog_action) self.page_sleep = QtWidgets.QWidget() self.page_sleep.setObjectName("page_sleep") self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.page_sleep) self.verticalLayout_10.setObjectName("verticalLayout_10") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_13 = QtWidgets.QLabel(self.page_sleep) self.label_13.setObjectName("label_13") self.horizontalLayout_2.addWidget(self.label_13) self.doubleSpinBoxSleep = QtWidgets.QDoubleSpinBox(self.page_sleep) self.doubleSpinBoxSleep.setDecimals(6) self.doubleSpinBoxSleep.setMaximum(10000.0) self.doubleSpinBoxSleep.setProperty("value", 1.0) self.doubleSpinBoxSleep.setObjectName("doubleSpinBoxSleep") self.horizontalLayout_2.addWidget(self.doubleSpinBoxSleep) self.verticalLayout_10.addLayout(self.horizontalLayout_2) spacerItem6 = QtWidgets.QSpacerItem(20, 231, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_10.addItem(spacerItem6) self.detail_view_widget.addWidget(self.page_sleep) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_11.setObjectName("verticalLayout_11") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.spinBoxCounterStep = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStep.setMinimum(1) self.spinBoxCounterStep.setMaximum(999999) self.spinBoxCounterStep.setObjectName("spinBoxCounterStep") self.gridLayout_2.addWidget(self.spinBoxCounterStep, 2, 1, 1, 1) self.label_15 = QtWidgets.QLabel(self.page) self.label_15.setObjectName("label_15") self.gridLayout_2.addWidget(self.label_15, 1, 0, 1, 1) self.label_16 = QtWidgets.QLabel(self.page) self.label_16.setObjectName("label_16") self.gridLayout_2.addWidget(self.label_16, 2, 0, 1, 1) self.spinBoxCounterStart = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStart.setMaximum(999999) self.spinBoxCounterStart.setObjectName("spinBoxCounterStart") self.gridLayout_2.addWidget(self.spinBoxCounterStart, 1, 1, 1, 1) self.verticalLayout_11.addLayout(self.gridLayout_2) self.label_17 = QtWidgets.QLabel(self.page) self.label_17.setWordWrap(True) self.label_17.setObjectName("label_17") self.verticalLayout_11.addWidget(self.label_17) spacerItem7 = QtWidgets.QSpacerItem(20, 36, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_11.addItem(spacerItem7) self.detail_view_widget.addWidget(self.page) self.verticalLayout_4.addWidget(self.detail_view_widget) self.verticalLayout_5.addWidget(self.splitterLeftRight) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_8.addWidget(self.scrollArea) self.retranslateUi(SimulatorTab) self.tabWidget.setCurrentIndex(0) self.detail_view_widget.setCurrentIndex(2) def retranslateUi(self, SimulatorTab): _translate = QtCore.QCoreApplication.translate SimulatorTab.setWindowTitle(_translate("SimulatorTab", "Form")) self.label.setText(_translate("SimulatorTab", "Protocols (Drag&Drop to Flow Graph):")) self.label_6.setText(_translate("SimulatorTab", "Simulate these participants:")) self.label_4.setText(_translate("SimulatorTab", "Repeat simulation this often:")) self.spinBoxNRepeat.setSpecialValueText(_translate("SimulatorTab", "Infinite")) self.label_3.setText(_translate("SimulatorTab", "Timeout:")) self.spinBoxTimeout.setSuffix(_translate("SimulatorTab", "ms")) self.label_7.setText(_translate("SimulatorTab", "In case of an overdue response:")) self.comboBoxError.setItemText(0, _translate("SimulatorTab", "Resend last message")) self.comboBoxError.setItemText(1, _translate("SimulatorTab", "Stop simulation")) self.comboBoxError.setItemText(2, _translate("SimulatorTab", "Restart simulation")) self.label_8.setText(_translate("SimulatorTab", "Maximum retries:")) self.btnStartSim.setText(_translate("SimulatorTab", "Simulate...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("SimulatorTab", "Flow Graph")) self.lNumSelectedColumns.setText(_translate("SimulatorTab", "0")) self.lColumnsSelectedText.setText(_translate("SimulatorTab", "column(s) selected")) self.label_5.setText(_translate("SimulatorTab", "Viewtype:")) self.cbViewType.setItemText(0, _translate("SimulatorTab", "Bit")) self.cbViewType.setItemText(1, _translate("SimulatorTab", "Hex")) self.cbViewType.setItemText(2, _translate("SimulatorTab", "ASCII")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("SimulatorTab", "Messages")) self.btnAddParticipant.setToolTip(_translate("SimulatorTab", "Add participant")) self.btnAddParticipant.setText(_translate("SimulatorTab", "Add")) self.btnRemoveParticipant.setToolTip(_translate("SimulatorTab", "Remove participant")) self.btnRemoveParticipant.setText(_translate("SimulatorTab", "Remove")) self.btnUp.setToolTip(_translate("SimulatorTab", "Move selected participants up")) self.btnUp.setText(_translate("SimulatorTab", "...")) self.btnDown.setToolTip(_translate("SimulatorTab", "Move selected participants down")) self.btnDown.setText(_translate("SimulatorTab", "...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParticipants), _translate("SimulatorTab", "Participants")) self.lblMsgFieldsValues.setText(_translate("SimulatorTab", "Detail view for item")) self.label_9.setText(_translate("SimulatorTab", "Goto:")) self.label_10.setText(_translate("SimulatorTab", "Copies:")) self.label_11.setText(_translate("SimulatorTab", "Labels:")) self.label_2.setText(_translate("SimulatorTab", "Coding:")) self.lblEncodingDecoding.setText(_translate("SimulatorTab", "-")) self.label_12.setText(_translate("SimulatorTab", "Condition:")) self.ruleCondLineEdit.setPlaceholderText(_translate("SimulatorTab", "not (item1.crc == 0b1010 and item2.length >=3)")) self.checkBoxPassTranscriptSTDIN.setText(_translate("SimulatorTab", "Pass transcript to STDIN")) self.label_14.setText(_translate("SimulatorTab", "Command:")) self.lineEditTriggerCommand.setPlaceholderText(_translate("SimulatorTab", "Path [+arguments] to external command e.g. mail or sendsms")) self.btnChooseCommand.setText(_translate("SimulatorTab", "...")) self.label_18.setText(_translate("SimulatorTab", "<html><head/><body><p>You can access the return code of this item in formulas and rules using the item identifier followed by <span style=\" font-style:italic;\">.rc</span> e.g.<span style=\" font-style:italic;\"> item5.rc</span>.</p></body></html>")) self.label_13.setText(_translate("SimulatorTab", "Sleep for:")) self.doubleSpinBoxSleep.setSuffix(_translate("SimulatorTab", "s")) self.label_15.setText(_translate("SimulatorTab", "Start:")) self.label_16.setText(_translate("SimulatorTab", "Step:")) self.label_17.setText(_translate("SimulatorTab", "<html><head/><body><p>This counter will increase by <span style=\" font-weight:600;\">step</span> each time it gets hit during simulation. It will preserve it\'s value during simulation repeats and retries. To reset all counters stop the simulation and start it again.</p><p>Access the value of this counter using item<Number>.counter_value in <span style=\" font-weight:600;\">Formulas</span> or as parameter in <span style=\" font-weight:600;\">external programs</span> e.g. <span style=\" font-style:italic;\">external_py -c item5.counter_value</span>. The value of this counter will be inserted during simulation time.</p></body></html>"))
def setupUi(self, SimulatorTab): SimulatorTab.setObjectName("SimulatorTab") SimulatorTab.resize(842, 689) self.verticalLayout_8 = QtWidgets.QVBoxLayout(SimulatorTab) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName("verticalLayout_8") self.scrollArea = QtWidgets.QScrollArea(SimulatorTab) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 842, 689)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_5.setObjectName("verticalLayout_5") self.splitterLeftRight = QtWidgets.QSplitter(self.scrollAreaWidgetContents) self.splitterLeftRight.setStyleSheet("QSplitter::handle:horizontal {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_vertical.svg);\n" "}") self.splitterLeftRight.setOrientation(QtCore.Qt.Horizontal) self.splitterLeftRight.setHandleWidth(6) self.splitterLeftRight.setObjectName("splitterLeftRight") self.layoutWidget = QtWidgets.QWidget(self.splitterLeftRight) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.verticalLayout_3.addWidget(self.label) self.treeProtocols = GeneratorTreeView(self.layoutWidget) self.treeProtocols.setObjectName("treeProtocols") self.verticalLayout_3.addWidget(self.treeProtocols) self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.verticalLayout_3.addWidget(self.label_6) self.listViewSimulate = QtWidgets.QListView(self.layoutWidget) self.listViewSimulate.setAlternatingRowColors(True) self.listViewSimulate.setObjectName("listViewSimulate") self.verticalLayout_3.addWidget(self.listViewSimulate) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.spinBoxNRepeat = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxNRepeat.sizePolicy().hasHeightForWidth()) self.spinBoxNRepeat.setSizePolicy(sizePolicy) self.spinBoxNRepeat.setMaximum(9999999) self.spinBoxNRepeat.setObjectName("spinBoxNRepeat") self.gridLayout.addWidget(self.spinBoxNRepeat, 0, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.spinBoxTimeout = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxTimeout.sizePolicy().hasHeightForWidth()) self.spinBoxTimeout.setSizePolicy(sizePolicy) self.spinBoxTimeout.setMinimum(1) self.spinBoxTimeout.setMaximum(9999999) self.spinBoxTimeout.setObjectName("spinBoxTimeout") self.gridLayout.addWidget(self.spinBoxTimeout, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1) self.comboBoxError = QtWidgets.QComboBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBoxError.sizePolicy().hasHeightForWidth()) self.comboBoxError.setSizePolicy(sizePolicy) self.comboBoxError.setObjectName("comboBoxError") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.gridLayout.addWidget(self.comboBoxError, 2, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) self.spinBoxRetries = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxRetries.setMinimum(1) self.spinBoxRetries.setMaximum(9999999) self.spinBoxRetries.setProperty("value", 10) self.spinBoxRetries.setObjectName("spinBoxRetries") self.gridLayout.addWidget(self.spinBoxRetries, 3, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.btnStartSim = QtWidgets.QPushButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnStartSim.setIcon(icon) self.btnStartSim.setObjectName("btnStartSim") self.verticalLayout_3.addWidget(self.btnStartSim) self.splitter = QtWidgets.QSplitter(self.splitterLeftRight) self.splitter.setStyleSheet("QSplitter::handle:vertical {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_horizontal.svg);\n" "}") self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setObjectName("splitter") self.layoutWidget_2 = QtWidgets.QWidget(self.splitter) self.layoutWidget_2.setObjectName("layoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2) self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setStyleSheet("QTabWidget::pane { border: 0; }") self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout = QtWidgets.QVBoxLayout(self.tab) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(7) self.verticalLayout.setObjectName("verticalLayout") self.gvSimulator = SimulatorGraphicsView(self.tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSimulator.sizePolicy().hasHeightForWidth()) self.gvSimulator.setSizePolicy(sizePolicy) self.gvSimulator.setObjectName("gvSimulator") self.verticalLayout.addWidget(self.gvSimulator) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tblViewMessage = SimulatorMessageTableView(self.tab_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tblViewMessage.sizePolicy().hasHeightForWidth()) self.tblViewMessage.setSizePolicy(sizePolicy) self.tblViewMessage.setAlternatingRowColors(True) self.tblViewMessage.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setShowGrid(False) self.tblViewMessage.setObjectName("tblViewMessage") self.tblViewMessage.horizontalHeader().setHighlightSections(False) self.tblViewMessage.verticalHeader().setHighlightSections(False) self.verticalLayout_6.addWidget(self.tblViewMessage) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lNumSelectedColumns = QtWidgets.QLabel(self.tab_2) self.lNumSelectedColumns.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lNumSelectedColumns.setObjectName("lNumSelectedColumns") self.horizontalLayout_3.addWidget(self.lNumSelectedColumns) self.lColumnsSelectedText = QtWidgets.QLabel(self.tab_2) self.lColumnsSelectedText.setObjectName("lColumnsSelectedText") self.horizontalLayout_3.addWidget(self.lColumnsSelectedText) spacerItem = QtWidgets.QSpacerItem(138, 33, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.horizontalLayout_3.addWidget(self.label_5) self.cbViewType = QtWidgets.QComboBox(self.tab_2) self.cbViewType.setObjectName("cbViewType") self.cbViewType.addItem("") self.cbViewType.addItem("") self.cbViewType.addItem("") self.horizontalLayout_3.addWidget(self.cbViewType) self.verticalLayout_6.addLayout(self.horizontalLayout_3) self.tabWidget.addTab(self.tab_2, "") self.tabParticipants = QtWidgets.QWidget() self.tabParticipants.setObjectName("tabParticipants") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabParticipants) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tableViewParticipants = ParticipantTableView(self.tabParticipants) self.tableViewParticipants.setObjectName("tableViewParticipants") self.horizontalLayout.addWidget(self.tableViewParticipants) self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.btnAddParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-add") self.btnAddParticipant.setIcon(icon) self.btnAddParticipant.setObjectName("btnAddParticipant") self.verticalLayout_9.addWidget(self.btnAddParticipant) self.btnRemoveParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-remove") self.btnRemoveParticipant.setIcon(icon) self.btnRemoveParticipant.setObjectName("btnRemoveParticipant") self.verticalLayout_9.addWidget(self.btnRemoveParticipant) self.btnUp = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-up") self.btnUp.setIcon(icon) self.btnUp.setObjectName("btnUp") self.verticalLayout_9.addWidget(self.btnUp) self.btnDown = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-down") self.btnDown.setIcon(icon) self.btnDown.setObjectName("btnDown") self.verticalLayout_9.addWidget(self.btnDown) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tabParticipants, "") self.verticalLayout_2.addWidget(self.tabWidget) self.layoutWidget_3 = QtWidgets.QWidget(self.splitter) self.layoutWidget_3.setObjectName("layoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout_4.setContentsMargins(11, 11, 11, 11) self.verticalLayout_4.setObjectName("verticalLayout_4") self.lblMsgFieldsValues = QtWidgets.QLabel(self.layoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lblMsgFieldsValues.sizePolicy().hasHeightForWidth()) self.lblMsgFieldsValues.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.lblMsgFieldsValues.setFont(font) self.lblMsgFieldsValues.setAlignment(QtCore.Qt.AlignCenter) self.lblMsgFieldsValues.setObjectName("lblMsgFieldsValues") self.verticalLayout_4.addWidget(self.lblMsgFieldsValues) self.detail_view_widget = QtWidgets.QStackedWidget(self.layoutWidget_3) self.detail_view_widget.setObjectName("detail_view_widget") self.page_empty = QtWidgets.QWidget() self.page_empty.setObjectName("page_empty") self.detail_view_widget.addWidget(self.page_empty) self.page_goto_action = QtWidgets.QWidget() self.page_goto_action.setObjectName("page_goto_action") self.verticalLayout_7 = QtWidgets.QGridLayout(self.page_goto_action) self.verticalLayout_7.setObjectName("verticalLayout_7") self.label_9 = QtWidgets.QLabel(self.page_goto_action) self.label_9.setObjectName("label_9") self.verticalLayout_7.addWidget(self.label_9, 0, 0, 1, 1) self.goto_combobox = QtWidgets.QComboBox(self.page_goto_action) self.goto_combobox.setObjectName("goto_combobox") self.verticalLayout_7.addWidget(self.goto_combobox, 0, 1, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_7.addItem(spacerItem2, 0, 2, 1, 1) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem3, 1, 0, 1, 3) self.detail_view_widget.addWidget(self.page_goto_action) self.page_message = QtWidgets.QWidget() self.page_message.setObjectName("page_message") self.gridLayout_6 = QtWidgets.QGridLayout(self.page_message) self.gridLayout_6.setObjectName("gridLayout_6") self.label_10 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.gridLayout_6.addWidget(self.label_10, 1, 0, 1, 1) self.tblViewFieldValues = SimulatorLabelTableView(self.page_message) self.tblViewFieldValues.setAlternatingRowColors(True) self.tblViewFieldValues.setShowGrid(False) self.tblViewFieldValues.setObjectName("tblViewFieldValues") self.tblViewFieldValues.horizontalHeader().setDefaultSectionSize(150) self.tblViewFieldValues.horizontalHeader().setStretchLastSection(True) self.tblViewFieldValues.verticalHeader().setVisible(False) self.gridLayout_6.addWidget(self.tblViewFieldValues, 2, 2, 1, 1) self.label_11 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.label_11.setObjectName("label_11") self.gridLayout_6.addWidget(self.label_11, 2, 0, 1, 1) self.spinBoxRepeat = QtWidgets.QSpinBox(self.page_message) self.spinBoxRepeat.setMinimum(1) self.spinBoxRepeat.setObjectName("spinBoxRepeat") self.gridLayout_6.addWidget(self.spinBoxRepeat, 1, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.page_message) self.label_2.setObjectName("label_2") self.gridLayout_6.addWidget(self.label_2, 0, 0, 1, 1) self.lblEncodingDecoding = QtWidgets.QLabel(self.page_message) self.lblEncodingDecoding.setObjectName("lblEncodingDecoding") self.gridLayout_6.addWidget(self.lblEncodingDecoding, 0, 2, 1, 1) self.detail_view_widget.addWidget(self.page_message) self.page_rule = QtWidgets.QWidget() self.page_rule.setObjectName("page_rule") self.gridLayout_3 = QtWidgets.QGridLayout(self.page_rule) self.gridLayout_3.setObjectName("gridLayout_3") self.label_12 = QtWidgets.QLabel(self.page_rule) self.label_12.setObjectName("label_12") self.gridLayout_3.addWidget(self.label_12, 0, 0, 1, 1) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem4, 1, 0, 1, 2) self.ruleCondLineEdit = ExpressionLineEdit(self.page_rule) self.ruleCondLineEdit.setObjectName("ruleCondLineEdit") self.gridLayout_3.addWidget(self.ruleCondLineEdit, 0, 1, 1, 1) self.detail_view_widget.addWidget(self.page_rule) self.page_ext_prog_action = QtWidgets.QWidget() self.page_ext_prog_action.setObjectName("page_ext_prog_action") self.gridLayout_9 = QtWidgets.QGridLayout(self.page_ext_prog_action) self.gridLayout_9.setObjectName("gridLayout_9") self.checkBoxPassTranscriptSTDIN = QtWidgets.QCheckBox(self.page_ext_prog_action) self.checkBoxPassTranscriptSTDIN.setObjectName("checkBoxPassTranscriptSTDIN") self.gridLayout_9.addWidget(self.checkBoxPassTranscriptSTDIN, 2, 0, 1, 4) self.label_14 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_14.setObjectName("label_14") self.gridLayout_9.addWidget(self.label_14, 1, 0, 1, 1) self.lineEditTriggerCommand = QtWidgets.QLineEdit(self.page_ext_prog_action) self.lineEditTriggerCommand.setReadOnly(False) self.lineEditTriggerCommand.setObjectName("lineEditTriggerCommand") self.gridLayout_9.addWidget(self.lineEditTriggerCommand, 1, 1, 1, 1) self.btnChooseCommand = QtWidgets.QToolButton(self.page_ext_prog_action) self.btnChooseCommand.setObjectName("btnChooseCommand") self.gridLayout_9.addWidget(self.btnChooseCommand, 1, 2, 1, 2) spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_9.addItem(spacerItem5, 4, 0, 1, 4) self.label_18 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_18.setWordWrap(True) self.label_18.setObjectName("label_18") self.gridLayout_9.addWidget(self.label_18, 3, 0, 1, 4) self.detail_view_widget.addWidget(self.page_ext_prog_action) self.page_sleep = QtWidgets.QWidget() self.page_sleep.setObjectName("page_sleep") self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.page_sleep) self.verticalLayout_10.setObjectName("verticalLayout_10") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_13 = QtWidgets.QLabel(self.page_sleep) self.label_13.setObjectName("label_13") self.horizontalLayout_2.addWidget(self.label_13) self.doubleSpinBoxSleep = QtWidgets.QDoubleSpinBox(self.page_sleep) self.doubleSpinBoxSleep.setDecimals(6) self.doubleSpinBoxSleep.setMaximum(10000.0) self.doubleSpinBoxSleep.setProperty("value", 1.0) self.doubleSpinBoxSleep.setObjectName("doubleSpinBoxSleep") self.horizontalLayout_2.addWidget(self.doubleSpinBoxSleep) self.verticalLayout_10.addLayout(self.horizontalLayout_2) spacerItem6 = QtWidgets.QSpacerItem(20, 231, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_10.addItem(spacerItem6) self.detail_view_widget.addWidget(self.page_sleep) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_11.setObjectName("verticalLayout_11") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.spinBoxCounterStep = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStep.setMinimum(1) self.spinBoxCounterStep.setMaximum(999999) self.spinBoxCounterStep.setObjectName("spinBoxCounterStep") self.gridLayout_2.addWidget(self.spinBoxCounterStep, 2, 1, 1, 1) self.label_15 = QtWidgets.QLabel(self.page) self.label_15.setObjectName("label_15") self.gridLayout_2.addWidget(self.label_15, 1, 0, 1, 1) self.label_16 = QtWidgets.QLabel(self.page) self.label_16.setObjectName("label_16") self.gridLayout_2.addWidget(self.label_16, 2, 0, 1, 1) self.spinBoxCounterStart = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStart.setMaximum(999999) self.spinBoxCounterStart.setObjectName("spinBoxCounterStart") self.gridLayout_2.addWidget(self.spinBoxCounterStart, 1, 1, 1, 1) self.verticalLayout_11.addLayout(self.gridLayout_2) self.label_17 = QtWidgets.QLabel(self.page) self.label_17.setWordWrap(True) self.label_17.setObjectName("label_17") self.verticalLayout_11.addWidget(self.label_17) spacerItem7 = QtWidgets.QSpacerItem(20, 36, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_11.addItem(spacerItem7) self.detail_view_widget.addWidget(self.page) self.verticalLayout_4.addWidget(self.detail_view_widget) self.verticalLayout_5.addWidget(self.splitterLeftRight) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_8.addWidget(self.scrollArea) self.retranslateUi(SimulatorTab) self.tabWidget.setCurrentIndex(0) self.detail_view_widget.setCurrentIndex(2)
class Ui_SimulatorTab(object): def setupUi(self, SimulatorTab): SimulatorTab.setObjectName("SimulatorTab") SimulatorTab.resize(842, 689) self.verticalLayout_8 = QtWidgets.QVBoxLayout(SimulatorTab) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName("verticalLayout_8") self.scrollArea = QtWidgets.QScrollArea(SimulatorTab) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 842, 689)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_5.setObjectName("verticalLayout_5") self.splitterLeftRight = QtWidgets.QSplitter(self.scrollAreaWidgetContents) self.splitterLeftRight.setStyleSheet("QSplitter::handle:horizontal {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_vertical.svg);\n" "}") self.splitterLeftRight.setOrientation(QtCore.Qt.Horizontal) self.splitterLeftRight.setHandleWidth(6) self.splitterLeftRight.setObjectName("splitterLeftRight") self.layoutWidget = QtWidgets.QWidget(self.splitterLeftRight) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.verticalLayout_3.addWidget(self.label) self.treeProtocols = GeneratorTreeView(self.layoutWidget) self.treeProtocols.setObjectName("treeProtocols") self.verticalLayout_3.addWidget(self.treeProtocols) self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.verticalLayout_3.addWidget(self.label_6) self.listViewSimulate = QtWidgets.QListView(self.layoutWidget) self.listViewSimulate.setAlternatingRowColors(True) self.listViewSimulate.setObjectName("listViewSimulate") self.verticalLayout_3.addWidget(self.listViewSimulate) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.spinBoxNRepeat = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxNRepeat.sizePolicy().hasHeightForWidth()) self.spinBoxNRepeat.setSizePolicy(sizePolicy) self.spinBoxNRepeat.setMaximum(9999999) self.spinBoxNRepeat.setObjectName("spinBoxNRepeat") self.gridLayout.addWidget(self.spinBoxNRepeat, 0, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.spinBoxTimeout = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.spinBoxTimeout.sizePolicy().hasHeightForWidth()) self.spinBoxTimeout.setSizePolicy(sizePolicy) self.spinBoxTimeout.setMinimum(1) self.spinBoxTimeout.setMaximum(9999999) self.spinBoxTimeout.setObjectName("spinBoxTimeout") self.gridLayout.addWidget(self.spinBoxTimeout, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1) self.comboBoxError = QtWidgets.QComboBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.comboBoxError.sizePolicy().hasHeightForWidth()) self.comboBoxError.setSizePolicy(sizePolicy) self.comboBoxError.setObjectName("comboBoxError") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.gridLayout.addWidget(self.comboBoxError, 2, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) self.spinBoxRetries = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxRetries.setMinimum(1) self.spinBoxRetries.setMaximum(9999999) self.spinBoxRetries.setProperty("value", 10) self.spinBoxRetries.setObjectName("spinBoxRetries") self.gridLayout.addWidget(self.spinBoxRetries, 3, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.btnStartSim = QtWidgets.QPushButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnStartSim.setIcon(icon) self.btnStartSim.setObjectName("btnStartSim") self.verticalLayout_3.addWidget(self.btnStartSim) self.splitter = QtWidgets.QSplitter(self.splitterLeftRight) self.splitter.setStyleSheet("QSplitter::handle:vertical {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_horizontal.svg);\n" "}") self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setObjectName("splitter") self.layoutWidget_2 = QtWidgets.QWidget(self.splitter) self.layoutWidget_2.setObjectName("layoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2) self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setStyleSheet("QTabWidget::pane { border: 0; }") self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout = QtWidgets.QVBoxLayout(self.tab) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(7) self.verticalLayout.setObjectName("verticalLayout") self.gvSimulator = SimulatorGraphicsView(self.tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSimulator.sizePolicy().hasHeightForWidth()) self.gvSimulator.setSizePolicy(sizePolicy) self.gvSimulator.setObjectName("gvSimulator") self.verticalLayout.addWidget(self.gvSimulator) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tblViewMessage = SimulatorMessageTableView(self.tab_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.tblViewMessage.sizePolicy().hasHeightForWidth()) self.tblViewMessage.setSizePolicy(sizePolicy) self.tblViewMessage.setAlternatingRowColors(True) self.tblViewMessage.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setShowGrid(False) self.tblViewMessage.setObjectName("tblViewMessage") self.tblViewMessage.horizontalHeader().setHighlightSections(False) self.tblViewMessage.verticalHeader().setHighlightSections(False) self.verticalLayout_6.addWidget(self.tblViewMessage) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lNumSelectedColumns = QtWidgets.QLabel(self.tab_2) self.lNumSelectedColumns.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lNumSelectedColumns.setObjectName("lNumSelectedColumns") self.horizontalLayout_3.addWidget(self.lNumSelectedColumns) self.lColumnsSelectedText = QtWidgets.QLabel(self.tab_2) self.lColumnsSelectedText.setObjectName("lColumnsSelectedText") self.horizontalLayout_3.addWidget(self.lColumnsSelectedText) spacerItem = QtWidgets.QSpacerItem(138, 33, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.horizontalLayout_3.addWidget(self.label_5) self.cbViewType = QtWidgets.QComboBox(self.tab_2) self.cbViewType.setObjectName("cbViewType") self.cbViewType.addItem("") self.cbViewType.addItem("") self.cbViewType.addItem("") self.horizontalLayout_3.addWidget(self.cbViewType) self.verticalLayout_6.addLayout(self.horizontalLayout_3) self.tabWidget.addTab(self.tab_2, "") self.tabParticipants = QtWidgets.QWidget() self.tabParticipants.setObjectName("tabParticipants") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabParticipants) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tableViewParticipants = ParticipantTableView(self.tabParticipants) self.tableViewParticipants.setObjectName("tableViewParticipants") self.horizontalLayout.addWidget(self.tableViewParticipants) self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.btnAddParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-add") self.btnAddParticipant.setIcon(icon) self.btnAddParticipant.setObjectName("btnAddParticipant") self.verticalLayout_9.addWidget(self.btnAddParticipant) self.btnRemoveParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-remove") self.btnRemoveParticipant.setIcon(icon) self.btnRemoveParticipant.setObjectName("btnRemoveParticipant") self.verticalLayout_9.addWidget(self.btnRemoveParticipant) self.btnUp = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-up") self.btnUp.setIcon(icon) self.btnUp.setObjectName("btnUp") self.verticalLayout_9.addWidget(self.btnUp) self.btnDown = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-down") self.btnDown.setIcon(icon) self.btnDown.setObjectName("btnDown") self.verticalLayout_9.addWidget(self.btnDown) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tabParticipants, "") self.verticalLayout_2.addWidget(self.tabWidget) self.layoutWidget_3 = QtWidgets.QWidget(self.splitter) self.layoutWidget_3.setObjectName("layoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout_4.setContentsMargins(11, 11, 11, 11) self.verticalLayout_4.setObjectName("verticalLayout_4") self.lblMsgFieldsValues = QtWidgets.QLabel(self.layoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lblMsgFieldsValues.sizePolicy().hasHeightForWidth()) self.lblMsgFieldsValues.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.lblMsgFieldsValues.setFont(font) self.lblMsgFieldsValues.setAlignment(QtCore.Qt.AlignCenter) self.lblMsgFieldsValues.setObjectName("lblMsgFieldsValues") self.verticalLayout_4.addWidget(self.lblMsgFieldsValues) self.detail_view_widget = QtWidgets.QStackedWidget(self.layoutWidget_3) self.detail_view_widget.setObjectName("detail_view_widget") self.page_empty = QtWidgets.QWidget() self.page_empty.setObjectName("page_empty") self.detail_view_widget.addWidget(self.page_empty) self.page_goto_action = QtWidgets.QWidget() self.page_goto_action.setObjectName("page_goto_action") self.verticalLayout_7 = QtWidgets.QGridLayout(self.page_goto_action) self.verticalLayout_7.setObjectName("verticalLayout_7") self.label_9 = QtWidgets.QLabel(self.page_goto_action) self.label_9.setObjectName("label_9") self.verticalLayout_7.addWidget(self.label_9, 0, 0, 1, 1) self.goto_combobox = QtWidgets.QComboBox(self.page_goto_action) self.goto_combobox.setObjectName("goto_combobox") self.verticalLayout_7.addWidget(self.goto_combobox, 0, 1, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_7.addItem(spacerItem2, 0, 2, 1, 1) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem3, 1, 0, 1, 3) self.detail_view_widget.addWidget(self.page_goto_action) self.page_message = QtWidgets.QWidget() self.page_message.setObjectName("page_message") self.gridLayout_6 = QtWidgets.QGridLayout(self.page_message) self.gridLayout_6.setObjectName("gridLayout_6") self.label_10 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.gridLayout_6.addWidget(self.label_10, 1, 0, 1, 1) self.tblViewFieldValues = SimulatorLabelTableView(self.page_message) self.tblViewFieldValues.setAlternatingRowColors(True) self.tblViewFieldValues.setShowGrid(False) self.tblViewFieldValues.setObjectName("tblViewFieldValues") self.tblViewFieldValues.horizontalHeader().setDefaultSectionSize(150) self.tblViewFieldValues.horizontalHeader().setStretchLastSection(True) self.tblViewFieldValues.verticalHeader().setVisible(False) self.gridLayout_6.addWidget(self.tblViewFieldValues, 2, 2, 1, 1) self.label_11 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.label_11.setObjectName("label_11") self.gridLayout_6.addWidget(self.label_11, 2, 0, 1, 1) self.spinBoxRepeat = QtWidgets.QSpinBox(self.page_message) self.spinBoxRepeat.setMinimum(1) self.spinBoxRepeat.setObjectName("spinBoxRepeat") self.gridLayout_6.addWidget(self.spinBoxRepeat, 1, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.page_message) self.label_2.setObjectName("label_2") self.gridLayout_6.addWidget(self.label_2, 0, 0, 1, 1) self.lblEncodingDecoding = QtWidgets.QLabel(self.page_message) self.lblEncodingDecoding.setObjectName("lblEncodingDecoding") self.gridLayout_6.addWidget(self.lblEncodingDecoding, 0, 2, 1, 1) self.detail_view_widget.addWidget(self.page_message) self.page_rule = QtWidgets.QWidget() self.page_rule.setObjectName("page_rule") self.gridLayout_3 = QtWidgets.QGridLayout(self.page_rule) self.gridLayout_3.setObjectName("gridLayout_3") self.label_12 = QtWidgets.QLabel(self.page_rule) self.label_12.setObjectName("label_12") self.gridLayout_3.addWidget(self.label_12, 0, 0, 1, 1) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem4, 1, 0, 1, 2) self.ruleCondLineEdit = ExpressionLineEdit(self.page_rule) self.ruleCondLineEdit.setObjectName("ruleCondLineEdit") self.gridLayout_3.addWidget(self.ruleCondLineEdit, 0, 1, 1, 1) self.detail_view_widget.addWidget(self.page_rule) self.page_ext_prog_action = QtWidgets.QWidget() self.page_ext_prog_action.setObjectName("page_ext_prog_action") self.gridLayout_9 = QtWidgets.QGridLayout(self.page_ext_prog_action) self.gridLayout_9.setObjectName("gridLayout_9") self.checkBoxPassTranscriptSTDIN = QtWidgets.QCheckBox(self.page_ext_prog_action) self.checkBoxPassTranscriptSTDIN.setObjectName("checkBoxPassTranscriptSTDIN") self.gridLayout_9.addWidget(self.checkBoxPassTranscriptSTDIN, 2, 0, 1, 4) self.label_14 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_14.setObjectName("label_14") self.gridLayout_9.addWidget(self.label_14, 1, 0, 1, 1) self.lineEditTriggerCommand = QtWidgets.QLineEdit(self.page_ext_prog_action) self.lineEditTriggerCommand.setReadOnly(False) self.lineEditTriggerCommand.setObjectName("lineEditTriggerCommand") self.gridLayout_9.addWidget(self.lineEditTriggerCommand, 1, 1, 1, 1) self.btnChooseCommand = QtWidgets.QToolButton(self.page_ext_prog_action) self.btnChooseCommand.setObjectName("btnChooseCommand") self.gridLayout_9.addWidget(self.btnChooseCommand, 1, 2, 1, 2) spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_9.addItem(spacerItem5, 4, 0, 1, 4) self.label_18 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_18.setWordWrap(True) self.label_18.setObjectName("label_18") self.gridLayout_9.addWidget(self.label_18, 3, 0, 1, 4) self.detail_view_widget.addWidget(self.page_ext_prog_action) self.page_sleep = QtWidgets.QWidget() self.page_sleep.setObjectName("page_sleep") self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.page_sleep) self.verticalLayout_10.setObjectName("verticalLayout_10") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_13 = QtWidgets.QLabel(self.page_sleep) self.label_13.setObjectName("label_13") self.horizontalLayout_2.addWidget(self.label_13) self.doubleSpinBoxSleep = QtWidgets.QDoubleSpinBox(self.page_sleep) self.doubleSpinBoxSleep.setDecimals(6) self.doubleSpinBoxSleep.setMaximum(10000.0) self.doubleSpinBoxSleep.setProperty("value", 1.0) self.doubleSpinBoxSleep.setObjectName("doubleSpinBoxSleep") self.horizontalLayout_2.addWidget(self.doubleSpinBoxSleep) self.verticalLayout_10.addLayout(self.horizontalLayout_2) spacerItem6 = QtWidgets.QSpacerItem(20, 231, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_10.addItem(spacerItem6) self.detail_view_widget.addWidget(self.page_sleep) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_11.setObjectName("verticalLayout_11") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.spinBoxCounterStep = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStep.setMinimum(1) self.spinBoxCounterStep.setMaximum(999999) self.spinBoxCounterStep.setObjectName("spinBoxCounterStep") self.gridLayout_2.addWidget(self.spinBoxCounterStep, 2, 1, 1, 1) self.label_15 = QtWidgets.QLabel(self.page) self.label_15.setObjectName("label_15") self.gridLayout_2.addWidget(self.label_15, 1, 0, 1, 1) self.label_16 = QtWidgets.QLabel(self.page) self.label_16.setObjectName("label_16") self.gridLayout_2.addWidget(self.label_16, 2, 0, 1, 1) self.spinBoxCounterStart = QtWidgets.QSpinBox(self.page) self.spinBoxCounterStart.setMaximum(999999) self.spinBoxCounterStart.setObjectName("spinBoxCounterStart") self.gridLayout_2.addWidget(self.spinBoxCounterStart, 1, 1, 1, 1) self.verticalLayout_11.addLayout(self.gridLayout_2) self.label_17 = QtWidgets.QLabel(self.page) self.label_17.setWordWrap(True) self.label_17.setObjectName("label_17") self.verticalLayout_11.addWidget(self.label_17) spacerItem7 = QtWidgets.QSpacerItem(20, 36, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_11.addItem(spacerItem7) self.detail_view_widget.addWidget(self.page) self.verticalLayout_4.addWidget(self.detail_view_widget) self.verticalLayout_5.addWidget(self.splitterLeftRight) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_8.addWidget(self.scrollArea) self.retranslateUi(SimulatorTab) self.tabWidget.setCurrentIndex(0) self.detail_view_widget.setCurrentIndex(2) def retranslateUi(self, SimulatorTab): _translate = QtCore.QCoreApplication.translate SimulatorTab.setWindowTitle(_translate("SimulatorTab", "Form")) self.label.setText(_translate("SimulatorTab", "Protocols (Drag&Drop to Flow Graph):")) self.label_6.setText(_translate("SimulatorTab", "Simulate these participants:")) self.label_4.setText(_translate("SimulatorTab", "Repeat simulation this often:")) self.spinBoxNRepeat.setSpecialValueText(_translate("SimulatorTab", "Infinite")) self.label_3.setText(_translate("SimulatorTab", "Timeout:")) self.spinBoxTimeout.setSuffix(_translate("SimulatorTab", "ms")) self.label_7.setText(_translate("SimulatorTab", "In case of an overdue response:")) self.comboBoxError.setItemText(0, _translate("SimulatorTab", "Resend last message")) self.comboBoxError.setItemText(1, _translate("SimulatorTab", "Stop simulation")) self.comboBoxError.setItemText(2, _translate("SimulatorTab", "Restart simulation")) self.label_8.setText(_translate("SimulatorTab", "Maximum retries:")) self.btnStartSim.setText(_translate("SimulatorTab", "Simulate...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("SimulatorTab", "Flow Graph")) self.lNumSelectedColumns.setText(_translate("SimulatorTab", "0")) self.lColumnsSelectedText.setText(_translate("SimulatorTab", "column(s) selected")) self.label_5.setText(_translate("SimulatorTab", "Viewtype:")) self.cbViewType.setItemText(0, _translate("SimulatorTab", "Bit")) self.cbViewType.setItemText(1, _translate("SimulatorTab", "Hex")) self.cbViewType.setItemText(2, _translate("SimulatorTab", "ASCII")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("SimulatorTab", "Messages")) self.btnAddParticipant.setToolTip(_translate("SimulatorTab", "Add participant")) self.btnAddParticipant.setText(_translate("SimulatorTab", "Add")) self.btnRemoveParticipant.setToolTip(_translate("SimulatorTab", "Remove participant")) self.btnRemoveParticipant.setText(_translate("SimulatorTab", "Remove")) self.btnUp.setToolTip(_translate("SimulatorTab", "Move selected participants up")) self.btnUp.setText(_translate("SimulatorTab", "...")) self.btnDown.setToolTip(_translate("SimulatorTab", "Move selected participants down")) self.btnDown.setText(_translate("SimulatorTab", "...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParticipants), _translate("SimulatorTab", "Participants")) self.lblMsgFieldsValues.setText(_translate("SimulatorTab", "Detail view for item")) self.label_9.setText(_translate("SimulatorTab", "Goto:")) self.label_10.setText(_translate("SimulatorTab", "Copies:")) self.label_11.setText(_translate("SimulatorTab", "Labels:")) self.label_2.setText(_translate("SimulatorTab", "Coding:")) self.lblEncodingDecoding.setText(_translate("SimulatorTab", "-")) self.label_12.setText(_translate("SimulatorTab", "Condition:")) self.ruleCondLineEdit.setPlaceholderText(_translate("SimulatorTab", "not (item1.crc == 0b1010 and item2.length >=3)")) self.checkBoxPassTranscriptSTDIN.setText(_translate("SimulatorTab", "Pass transcript to STDIN")) self.label_14.setText(_translate("SimulatorTab", "Command:")) self.lineEditTriggerCommand.setPlaceholderText(_translate("SimulatorTab", "Path [+arguments] to external command e.g. mail or sendsms")) self.btnChooseCommand.setText(_translate("SimulatorTab", "...")) self.label_18.setText(_translate("SimulatorTab", "<html><head/><body><p>You can access the return code of this item in formulas and rules using the item identifier followed by <span style=\" font-style:italic;\">.rc</span> e.g.<span style=\" font-style:italic;\"> item5.rc</span>.</p></body></html>")) self.label_13.setText(_translate("SimulatorTab", "Sleep for:")) self.doubleSpinBoxSleep.setSuffix(_translate("SimulatorTab", "s")) self.label_15.setText(_translate("SimulatorTab", "Start:")) self.label_16.setText(_translate("SimulatorTab", "Step:")) self.label_17.setText(_translate("SimulatorTab", "<html><head/><body><p>This counter will increase by <span style=\" font-weight:600;\">step</span> each time it gets hit during simulation. It will preserve it\'s value during simulation repeats and retries. To reset all counters stop the simulation and start it again.</p><p>Access the value of this counter using item<Number>.counter_value in <span style=\" font-weight:600;\">Formulas</span> or as parameter in <span style=\" font-weight:600;\">external programs</span> e.g. <span style=\" font-style:italic;\">external_py -c item5.counter_value</span>. The value of this counter will be inserted during simulation time.</p></body></html>"))
class Ui_SimulatorTab(object): def setupUi(self, SimulatorTab): SimulatorTab.setObjectName("SimulatorTab") SimulatorTab.resize(842, 689) self.verticalLayout_8 = QtWidgets.QVBoxLayout(SimulatorTab) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName("verticalLayout_8") self.scrollArea = QtWidgets.QScrollArea(SimulatorTab) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 842, 689)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_5 = QtWidgets.QVBoxLayout( self.scrollAreaWidgetContents) self.verticalLayout_5.setObjectName("verticalLayout_5") self.splitterLeftRight = QtWidgets.QSplitter( self.scrollAreaWidgetContents) self.splitterLeftRight.setStyleSheet( "QSplitter::handle:horizontal {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_vertical.svg);\n" "}") self.splitterLeftRight.setOrientation(QtCore.Qt.Horizontal) self.splitterLeftRight.setObjectName("splitterLeftRight") self.layoutWidget = QtWidgets.QWidget(self.splitterLeftRight) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.verticalLayout_3.addWidget(self.label) self.treeProtocols = GeneratorTreeView(self.layoutWidget) self.treeProtocols.setObjectName("treeProtocols") self.verticalLayout_3.addWidget(self.treeProtocols) self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.verticalLayout_3.addWidget(self.label_6) self.listViewSimulate = QtWidgets.QListView(self.layoutWidget) self.listViewSimulate.setAlternatingRowColors(True) self.listViewSimulate.setObjectName("listViewSimulate") self.verticalLayout_3.addWidget(self.listViewSimulate) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.spinBoxNRepeat = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBoxNRepeat.sizePolicy().hasHeightForWidth()) self.spinBoxNRepeat.setSizePolicy(sizePolicy) self.spinBoxNRepeat.setObjectName("spinBoxNRepeat") self.gridLayout.addWidget(self.spinBoxNRepeat, 0, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.spinBoxTimeout = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBoxTimeout.sizePolicy().hasHeightForWidth()) self.spinBoxTimeout.setSizePolicy(sizePolicy) self.spinBoxTimeout.setObjectName("spinBoxTimeout") self.gridLayout.addWidget(self.spinBoxTimeout, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 2, 0, 1, 1) self.comboBoxError = QtWidgets.QComboBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.comboBoxError.sizePolicy().hasHeightForWidth()) self.comboBoxError.setSizePolicy(sizePolicy) self.comboBoxError.setObjectName("comboBoxError") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.comboBoxError.addItem("") self.gridLayout.addWidget(self.comboBoxError, 2, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 3, 0, 1, 1) self.spinBoxRetries = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxRetries.setMinimum(1) self.spinBoxRetries.setProperty("value", 10) self.spinBoxRetries.setObjectName("spinBoxRetries") self.gridLayout.addWidget(self.spinBoxRetries, 3, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.btnStartSim = QtWidgets.QPushButton(self.layoutWidget) self.btnStartSim.setObjectName("btnStartSim") self.verticalLayout_3.addWidget(self.btnStartSim) self.splitter = QtWidgets.QSplitter(self.splitterLeftRight) self.splitter.setStyleSheet( "QSplitter::handle:vertical {\n" "margin: 4px 0px;\n" " background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n" "stop:0 rgba(255, 255, 255, 0), \n" "stop:0.5 rgba(100, 100, 100, 100), \n" "stop:1 rgba(255, 255, 255, 0));\n" "image: url(:/icons/icons/splitter_handle_horizontal.svg);\n" "}") self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setObjectName("splitter") self.layoutWidget_2 = QtWidgets.QWidget(self.splitter) self.layoutWidget_2.setObjectName("layoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_2) self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setStyleSheet("QTabWidget::pane { border: 0; }") self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.verticalLayout = QtWidgets.QVBoxLayout(self.tab) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(7) self.verticalLayout.setObjectName("verticalLayout") self.gvSimulator = SimulatorGraphicsView(self.tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gvSimulator.sizePolicy().hasHeightForWidth()) self.gvSimulator.setSizePolicy(sizePolicy) self.gvSimulator.setObjectName("gvSimulator") self.verticalLayout.addWidget(self.gvSimulator) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_2) self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tblViewMessage = SimulatorMessageTableView(self.tab_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tblViewMessage.sizePolicy().hasHeightForWidth()) self.tblViewMessage.setSizePolicy(sizePolicy) self.tblViewMessage.setAlternatingRowColors(True) self.tblViewMessage.setVerticalScrollMode( QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setHorizontalScrollMode( QtWidgets.QAbstractItemView.ScrollPerPixel) self.tblViewMessage.setShowGrid(False) self.tblViewMessage.setObjectName("tblViewMessage") self.tblViewMessage.horizontalHeader().setHighlightSections(False) self.tblViewMessage.verticalHeader().setHighlightSections(False) self.verticalLayout_6.addWidget(self.tblViewMessage) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lNumSelectedColumns = QtWidgets.QLabel(self.tab_2) self.lNumSelectedColumns.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.lNumSelectedColumns.setObjectName("lNumSelectedColumns") self.horizontalLayout_3.addWidget(self.lNumSelectedColumns) self.lColumnsSelectedText = QtWidgets.QLabel(self.tab_2) self.lColumnsSelectedText.setObjectName("lColumnsSelectedText") self.horizontalLayout_3.addWidget(self.lColumnsSelectedText) spacerItem = QtWidgets.QSpacerItem(138, 33, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.label_5 = QtWidgets.QLabel(self.tab_2) self.label_5.setObjectName("label_5") self.horizontalLayout_3.addWidget(self.label_5) self.cbViewType = QtWidgets.QComboBox(self.tab_2) self.cbViewType.setObjectName("cbViewType") self.cbViewType.addItem("") self.cbViewType.addItem("") self.cbViewType.addItem("") self.horizontalLayout_3.addWidget(self.cbViewType) self.verticalLayout_6.addLayout(self.horizontalLayout_3) self.tabWidget.addTab(self.tab_2, "") self.tabParticipants = QtWidgets.QWidget() self.tabParticipants.setObjectName("tabParticipants") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabParticipants) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tableViewParticipants = ParticipantTableView(self.tabParticipants) self.tableViewParticipants.setObjectName("tableViewParticipants") self.horizontalLayout.addWidget(self.tableViewParticipants) self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.btnAddParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-add") self.btnAddParticipant.setIcon(icon) self.btnAddParticipant.setObjectName("btnAddParticipant") self.verticalLayout_9.addWidget(self.btnAddParticipant) self.btnRemoveParticipant = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("list-remove") self.btnRemoveParticipant.setIcon(icon) self.btnRemoveParticipant.setObjectName("btnRemoveParticipant") self.verticalLayout_9.addWidget(self.btnRemoveParticipant) self.btnUp = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-up") self.btnUp.setIcon(icon) self.btnUp.setObjectName("btnUp") self.verticalLayout_9.addWidget(self.btnUp) self.btnDown = QtWidgets.QToolButton(self.tabParticipants) icon = QtGui.QIcon.fromTheme("go-down") self.btnDown.setIcon(icon) self.btnDown.setObjectName("btnDown") self.verticalLayout_9.addWidget(self.btnDown) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tabParticipants, "") self.verticalLayout_2.addWidget(self.tabWidget) self.layoutWidget_3 = QtWidgets.QWidget(self.splitter) self.layoutWidget_3.setObjectName("layoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout_4.setContentsMargins(11, 11, 11, 11) self.verticalLayout_4.setObjectName("verticalLayout_4") self.lblMsgFieldsValues = QtWidgets.QLabel(self.layoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lblMsgFieldsValues.sizePolicy().hasHeightForWidth()) self.lblMsgFieldsValues.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.lblMsgFieldsValues.setFont(font) self.lblMsgFieldsValues.setAlignment(QtCore.Qt.AlignCenter) self.lblMsgFieldsValues.setObjectName("lblMsgFieldsValues") self.verticalLayout_4.addWidget(self.lblMsgFieldsValues) self.detail_view_widget = QtWidgets.QStackedWidget(self.layoutWidget_3) self.detail_view_widget.setObjectName("detail_view_widget") self.page_empty = QtWidgets.QWidget() self.page_empty.setObjectName("page_empty") self.detail_view_widget.addWidget(self.page_empty) self.page_goto_action = QtWidgets.QWidget() self.page_goto_action.setObjectName("page_goto_action") self.verticalLayout_7 = QtWidgets.QGridLayout(self.page_goto_action) self.verticalLayout_7.setObjectName("verticalLayout_7") self.label_9 = QtWidgets.QLabel(self.page_goto_action) self.label_9.setObjectName("label_9") self.verticalLayout_7.addWidget(self.label_9, 0, 0, 1, 1) self.goto_combobox = QtWidgets.QComboBox(self.page_goto_action) self.goto_combobox.setObjectName("goto_combobox") self.verticalLayout_7.addWidget(self.goto_combobox, 0, 1, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_7.addItem(spacerItem2, 0, 2, 1, 1) spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem3, 1, 0, 1, 3) self.detail_view_widget.addWidget(self.page_goto_action) self.page_message = QtWidgets.QWidget() self.page_message.setObjectName("page_message") self.gridLayout_6 = QtWidgets.QGridLayout(self.page_message) self.gridLayout_6.setObjectName("gridLayout_6") self.label_10 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.gridLayout_6.addWidget(self.label_10, 1, 0, 1, 1) self.tblViewFieldValues = SimulatorLabelTableView(self.page_message) self.tblViewFieldValues.setAlternatingRowColors(True) self.tblViewFieldValues.setShowGrid(False) self.tblViewFieldValues.setObjectName("tblViewFieldValues") self.tblViewFieldValues.horizontalHeader().setDefaultSectionSize(150) self.tblViewFieldValues.horizontalHeader().setStretchLastSection(True) self.tblViewFieldValues.verticalHeader().setVisible(False) self.gridLayout_6.addWidget(self.tblViewFieldValues, 2, 2, 1, 1) self.label_11 = QtWidgets.QLabel(self.page_message) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.label_11.setObjectName("label_11") self.gridLayout_6.addWidget(self.label_11, 2, 0, 1, 1) self.spinBoxRepeat = QtWidgets.QSpinBox(self.page_message) self.spinBoxRepeat.setMinimum(1) self.spinBoxRepeat.setObjectName("spinBoxRepeat") self.gridLayout_6.addWidget(self.spinBoxRepeat, 1, 2, 1, 1) self.label_2 = QtWidgets.QLabel(self.page_message) self.label_2.setObjectName("label_2") self.gridLayout_6.addWidget(self.label_2, 0, 0, 1, 1) self.lblEncodingDecoding = QtWidgets.QLabel(self.page_message) self.lblEncodingDecoding.setObjectName("lblEncodingDecoding") self.gridLayout_6.addWidget(self.lblEncodingDecoding, 0, 2, 1, 1) self.detail_view_widget.addWidget(self.page_message) self.page_rule = QtWidgets.QWidget() self.page_rule.setObjectName("page_rule") self.gridLayout_3 = QtWidgets.QGridLayout(self.page_rule) self.gridLayout_3.setObjectName("gridLayout_3") self.label_12 = QtWidgets.QLabel(self.page_rule) self.label_12.setObjectName("label_12") self.gridLayout_3.addWidget(self.label_12, 0, 0, 1, 1) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem4, 1, 0, 1, 2) self.ruleCondLineEdit = ExpressionLineEdit(self.page_rule) self.ruleCondLineEdit.setObjectName("ruleCondLineEdit") self.gridLayout_3.addWidget(self.ruleCondLineEdit, 0, 1, 1, 1) self.detail_view_widget.addWidget(self.page_rule) self.page_ext_prog_action = QtWidgets.QWidget() self.page_ext_prog_action.setObjectName("page_ext_prog_action") self.gridLayout_9 = QtWidgets.QGridLayout(self.page_ext_prog_action) self.gridLayout_9.setObjectName("gridLayout_9") self.label_13 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_13.setObjectName("label_13") self.gridLayout_9.addWidget(self.label_13, 3, 0, 1, 1) self.label_14 = QtWidgets.QLabel(self.page_ext_prog_action) self.label_14.setObjectName("label_14") self.gridLayout_9.addWidget(self.label_14, 1, 0, 1, 1) self.extProgramLineEdit = QtWidgets.QLineEdit( self.page_ext_prog_action) self.extProgramLineEdit.setReadOnly(True) self.extProgramLineEdit.setObjectName("extProgramLineEdit") self.gridLayout_9.addWidget(self.extProgramLineEdit, 1, 1, 1, 1) self.cmdLineArgsLineEdit = QtWidgets.QLineEdit( self.page_ext_prog_action) self.cmdLineArgsLineEdit.setObjectName("cmdLineArgsLineEdit") self.gridLayout_9.addWidget(self.cmdLineArgsLineEdit, 3, 1, 1, 4) self.btnChooseExtProg = QtWidgets.QToolButton( self.page_ext_prog_action) self.btnChooseExtProg.setObjectName("btnChooseExtProg") self.gridLayout_9.addWidget(self.btnChooseExtProg, 1, 3, 1, 2) spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_9.addItem(spacerItem5, 4, 0, 1, 5) self.detail_view_widget.addWidget(self.page_ext_prog_action) self.verticalLayout_4.addWidget(self.detail_view_widget) self.verticalLayout_5.addWidget(self.splitterLeftRight) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_8.addWidget(self.scrollArea) self.retranslateUi(SimulatorTab) self.tabWidget.setCurrentIndex(0) self.detail_view_widget.setCurrentIndex(2) QtCore.QMetaObject.connectSlotsByName(SimulatorTab) def retranslateUi(self, SimulatorTab): _translate = QtCore.QCoreApplication.translate SimulatorTab.setWindowTitle(_translate("SimulatorTab", "Form")) self.label.setText( _translate("SimulatorTab", "Protocols (drag&drop to Flow Graph):")) self.label_6.setText( _translate("SimulatorTab", "Simulate these participants:")) self.label_4.setText( _translate("SimulatorTab", "Repeat simulation this often:")) self.spinBoxNRepeat.setSpecialValueText( _translate("SimulatorTab", "Infinite")) self.label_3.setText( _translate("SimulatorTab", "Timeout (in seconds):")) self.label_7.setText( _translate("SimulatorTab", "In case of an overdue response:")) self.comboBoxError.setItemText( 0, _translate("SimulatorTab", "Resend last message")) self.comboBoxError.setItemText( 1, _translate("SimulatorTab", "Stop simulation")) self.comboBoxError.setItemText( 2, _translate("SimulatorTab", "Restart simulation")) self.label_8.setText(_translate("SimulatorTab", "Maximum retries:")) self.btnStartSim.setText(_translate("SimulatorTab", "Simulate...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("SimulatorTab", "Flow Graph")) self.lNumSelectedColumns.setText(_translate("SimulatorTab", "0")) self.lColumnsSelectedText.setText( _translate("SimulatorTab", "column(s) selected")) self.label_5.setText(_translate("SimulatorTab", "Viewtype:")) self.cbViewType.setItemText(0, _translate("SimulatorTab", "Bit")) self.cbViewType.setItemText(1, _translate("SimulatorTab", "Hex")) self.cbViewType.setItemText(2, _translate("SimulatorTab", "ASCII")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("SimulatorTab", "Messages")) self.btnAddParticipant.setToolTip( _translate("SimulatorTab", "Add participant")) self.btnAddParticipant.setText(_translate("SimulatorTab", "Add")) self.btnRemoveParticipant.setToolTip( _translate("SimulatorTab", "Remove participant")) self.btnRemoveParticipant.setText(_translate("SimulatorTab", "Remove")) self.btnUp.setToolTip( _translate("SimulatorTab", "Move selected participants up")) self.btnUp.setText(_translate("SimulatorTab", "...")) self.btnDown.setToolTip( _translate("SimulatorTab", "Move selected participants down")) self.btnDown.setText(_translate("SimulatorTab", "...")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParticipants), _translate("SimulatorTab", "Participants")) self.lblMsgFieldsValues.setText( _translate("SimulatorTab", "Detail view for item")) self.label_9.setText(_translate("SimulatorTab", "Goto:")) self.label_10.setText(_translate("SimulatorTab", "Repeat:")) self.label_11.setText(_translate("SimulatorTab", "Labels:")) self.label_2.setText(_translate("SimulatorTab", "Coding:")) self.lblEncodingDecoding.setText(_translate("SimulatorTab", "-")) self.label_12.setText(_translate("SimulatorTab", "Condition:")) self.ruleCondLineEdit.setPlaceholderText( _translate("SimulatorTab", "not (item1.crc == 0b1010 and item2.length >=3)")) self.label_13.setText( _translate("SimulatorTab", "Command line arguments:")) self.label_14.setText(_translate("SimulatorTab", "External program:")) self.btnChooseExtProg.setText(_translate("SimulatorTab", "..."))