Esempio n. 1
0
class Ui_GeneratorTab(object):
    def setupUi(self, GeneratorTab):
        GeneratorTab.setObjectName("GeneratorTab")
        GeneratorTab.resize(1081, 699)
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(GeneratorTab)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setSpacing(0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.scrollArea = QtWidgets.QScrollArea(GeneratorTab)
        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, 1159, 686))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(
            self.scrollAreaWidgetContents)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.splitter = QtWidgets.QSplitter(self.scrollAreaWidgetContents)
        self.splitter.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.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setHandleWidth(6)
        self.splitter.setObjectName("splitter")
        self.layoutWidget_2 = QtWidgets.QWidget(self.splitter)
        self.layoutWidget_2.setObjectName("layoutWidget_2")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget_2)
        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
        self.verticalLayout.setObjectName("verticalLayout")
        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_proto = QtWidgets.QWidget()
        self.tab_proto.setObjectName("tab_proto")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_proto)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.treeProtocols = GeneratorTreeView(self.tab_proto)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.treeProtocols.sizePolicy().hasHeightForWidth())
        self.treeProtocols.setSizePolicy(sizePolicy)
        self.treeProtocols.setObjectName("treeProtocols")
        self.treeProtocols.header().setDefaultSectionSize(0)
        self.verticalLayout_4.addWidget(self.treeProtocols)
        self.tabWidget.addTab(self.tab_proto, "")
        self.tab_pauses = QtWidgets.QWidget()
        self.tab_pauses.setObjectName("tab_pauses")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.tab_pauses)
        self.gridLayout_5.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.lWPauses = GeneratorListWidget(self.tab_pauses)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lWPauses.sizePolicy().hasHeightForWidth())
        self.lWPauses.setSizePolicy(sizePolicy)
        self.lWPauses.setEditTriggers(
            QtWidgets.QAbstractItemView.DoubleClicked
            | QtWidgets.QAbstractItemView.EditKeyPressed)
        self.lWPauses.setProperty("showDropIndicator", False)
        self.lWPauses.setDragDropMode(QtWidgets.QAbstractItemView.NoDragDrop)
        self.lWPauses.setObjectName("lWPauses")
        self.gridLayout_5.addWidget(self.lWPauses, 0, 0, 1, 2)
        self.tabWidget.addTab(self.tab_pauses, "")
        self.tab_fuzzing = QtWidgets.QWidget()
        self.tab_fuzzing.setObjectName("tab_fuzzing")
        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.tab_fuzzing)
        self.verticalLayout_9.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_9.setSpacing(6)
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.listViewProtoLabels = GeneratorListView(self.tab_fuzzing)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.listViewProtoLabels.sizePolicy().hasHeightForWidth())
        self.listViewProtoLabels.setSizePolicy(sizePolicy)
        self.listViewProtoLabels.setEditTriggers(
            QtWidgets.QAbstractItemView.EditKeyPressed)
        self.listViewProtoLabels.setObjectName("listViewProtoLabels")
        self.verticalLayout_9.addWidget(self.listViewProtoLabels)
        self.groupBox = QtWidgets.QGroupBox(self.tab_fuzzing)
        self.groupBox.setObjectName("groupBox")
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.stackedWidgetFuzzing = QtWidgets.QStackedWidget(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.stackedWidgetFuzzing.sizePolicy().hasHeightForWidth())
        self.stackedWidgetFuzzing.setSizePolicy(sizePolicy)
        self.stackedWidgetFuzzing.setObjectName("stackedWidgetFuzzing")
        self.pageFuzzingUI = QtWidgets.QWidget()
        self.pageFuzzingUI.setObjectName("pageFuzzingUI")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageFuzzingUI)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.btnFuzz = QtWidgets.QPushButton(self.pageFuzzingUI)
        self.btnFuzz.setObjectName("btnFuzz")
        self.horizontalLayout_4.addWidget(self.btnFuzz)
        self.rBSuccessive = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rBSuccessive.setChecked(True)
        self.rBSuccessive.setObjectName("rBSuccessive")
        self.horizontalLayout_4.addWidget(self.rBSuccessive)
        self.rbConcurrent = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rbConcurrent.setObjectName("rbConcurrent")
        self.horizontalLayout_4.addWidget(self.rbConcurrent)
        self.rBExhaustive = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rBExhaustive.setObjectName("rBExhaustive")
        self.horizontalLayout_4.addWidget(self.rBExhaustive)
        self.stackedWidgetFuzzing.addWidget(self.pageFuzzingUI)
        self.pageFuzzingProgressBar = QtWidgets.QWidget()
        self.pageFuzzingProgressBar.setObjectName("pageFuzzingProgressBar")
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(
            self.pageFuzzingProgressBar)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.progressBarFuzzing = QtWidgets.QProgressBar(
            self.pageFuzzingProgressBar)
        self.progressBarFuzzing.setProperty("value", 24)
        self.progressBarFuzzing.setObjectName("progressBarFuzzing")
        self.horizontalLayout_7.addWidget(self.progressBarFuzzing)
        self.stackedWidgetFuzzing.addWidget(self.pageFuzzingProgressBar)
        self.horizontalLayout_6.addWidget(self.stackedWidgetFuzzing)
        self.verticalLayout_9.addWidget(self.groupBox)
        self.tabWidget.addTab(self.tab_fuzzing, "")
        self.verticalLayout.addWidget(self.tabWidget)
        self.line_2 = QtWidgets.QFrame(self.layoutWidget_2)
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.verticalLayout.addWidget(self.line_2)
        self.gridLayout_6 = QtWidgets.QGridLayout()
        self.gridLayout_6.setContentsMargins(0, -1, 0, -1)
        self.gridLayout_6.setObjectName("gridLayout_6")
        self.cBoxModulations = QtWidgets.QComboBox(self.layoutWidget_2)
        self.cBoxModulations.setObjectName("cBoxModulations")
        self.cBoxModulations.addItem("")
        self.gridLayout_6.addWidget(self.cBoxModulations, 2, 1, 1, 1)
        self.modulationLayout_2 = QtWidgets.QGridLayout()
        self.modulationLayout_2.setObjectName("modulationLayout_2")
        self.lCarrierFreqValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierFreqValue.setObjectName("lCarrierFreqValue")
        self.modulationLayout_2.addWidget(self.lCarrierFreqValue, 1, 1, 1, 1)
        self.lModType = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModType.setObjectName("lModType")
        self.modulationLayout_2.addWidget(self.lModType, 1, 2, 1, 1)
        self.lModTypeValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModTypeValue.setObjectName("lModTypeValue")
        self.modulationLayout_2.addWidget(self.lModTypeValue, 1, 3, 1, 1)
        self.label_carrier_phase = QtWidgets.QLabel(self.layoutWidget_2)
        self.label_carrier_phase.setObjectName("label_carrier_phase")
        self.modulationLayout_2.addWidget(self.label_carrier_phase, 2, 0, 1, 1)
        self.lCarrierPhaseValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierPhaseValue.setObjectName("lCarrierPhaseValue")
        self.modulationLayout_2.addWidget(self.lCarrierPhaseValue, 2, 1, 1, 1)
        self.lParamForZero = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForZero.setObjectName("lParamForZero")
        self.modulationLayout_2.addWidget(self.lParamForZero, 2, 2, 1, 1)
        self.lParamForZeroValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForZeroValue.setObjectName("lParamForZeroValue")
        self.modulationLayout_2.addWidget(self.lParamForZeroValue, 2, 3, 1, 1)
        self.lBitLength = QtWidgets.QLabel(self.layoutWidget_2)
        self.lBitLength.setObjectName("lBitLength")
        self.modulationLayout_2.addWidget(self.lBitLength, 3, 0, 1, 1)
        self.lBitLenValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lBitLenValue.setObjectName("lBitLenValue")
        self.modulationLayout_2.addWidget(self.lBitLenValue, 3, 1, 1, 1)
        self.lParamForOne = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForOne.setObjectName("lParamForOne")
        self.modulationLayout_2.addWidget(self.lParamForOne, 3, 2, 1, 1)
        self.lParamForOneValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForOneValue.setObjectName("lParamForOneValue")
        self.modulationLayout_2.addWidget(self.lParamForOneValue, 3, 3, 1, 1)
        self.lEncoding = QtWidgets.QLabel(self.layoutWidget_2)
        self.lEncoding.setObjectName("lEncoding")
        self.modulationLayout_2.addWidget(self.lEncoding, 0, 0, 1, 1)
        self.lEncodingValue = QtWidgets.QLabel(self.layoutWidget_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lEncodingValue.sizePolicy().hasHeightForWidth())
        self.lEncodingValue.setSizePolicy(sizePolicy)
        self.lEncodingValue.setObjectName("lEncodingValue")
        self.modulationLayout_2.addWidget(self.lEncodingValue, 0, 1, 1, 1)
        self.lSampleRate = QtWidgets.QLabel(self.layoutWidget_2)
        self.lSampleRate.setObjectName("lSampleRate")
        self.modulationLayout_2.addWidget(self.lSampleRate, 0, 2, 1, 1)
        self.lSampleRateValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lSampleRateValue.setObjectName("lSampleRateValue")
        self.modulationLayout_2.addWidget(self.lSampleRateValue, 0, 3, 1, 1)
        self.lCarrierFrequency = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierFrequency.setObjectName("lCarrierFrequency")
        self.modulationLayout_2.addWidget(self.lCarrierFrequency, 1, 0, 1, 1)
        self.gridLayout_6.addLayout(self.modulationLayout_2, 0, 0, 1, 3)
        self.lModulation = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModulation.setObjectName("lModulation")
        self.gridLayout_6.addWidget(self.lModulation, 2, 0, 1, 1)
        self.btnSend = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnSend.setEnabled(False)
        icon = QtGui.QIcon.fromTheme("media-playback-start")
        self.btnSend.setIcon(icon)
        self.btnSend.setObjectName("btnSend")
        self.gridLayout_6.addWidget(self.btnSend, 5, 2, 1, 1)
        self.line = QtWidgets.QFrame(self.layoutWidget_2)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_6.addWidget(self.line, 1, 0, 1, 3)
        self.btnEditModulation = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnEditModulation.setObjectName("btnEditModulation")
        self.gridLayout_6.addWidget(self.btnEditModulation, 2, 2, 1, 1)
        self.prBarGeneration = QtWidgets.QProgressBar(self.layoutWidget_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.prBarGeneration.sizePolicy().hasHeightForWidth())
        self.prBarGeneration.setSizePolicy(sizePolicy)
        self.prBarGeneration.setProperty("value", 0)
        self.prBarGeneration.setObjectName("prBarGeneration")
        self.gridLayout_6.addWidget(self.prBarGeneration, 5, 0, 1, 1)
        self.btnGenerate = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnGenerate.setEnabled(False)
        icon = QtGui.QIcon.fromTheme("document-new")
        self.btnGenerate.setIcon(icon)
        self.btnGenerate.setObjectName("btnGenerate")
        self.gridLayout_6.addWidget(self.btnGenerate, 5, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout_6)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget)
        self.gridLayout_2.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.cbViewType = QtWidgets.QComboBox(self.layoutWidget)
        self.cbViewType.setObjectName("cbViewType")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.gridLayout_2.addWidget(self.cbViewType, 2, 6, 1, 1)
        self.lViewType = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lViewType.sizePolicy().hasHeightForWidth())
        self.lViewType.setSizePolicy(sizePolicy)
        self.lViewType.setObjectName("lViewType")
        self.gridLayout_2.addWidget(self.lViewType, 2, 5, 1, 1)
        self.tableMessages = GeneratorTableView(self.layoutWidget)
        self.tableMessages.setAcceptDrops(True)
        self.tableMessages.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tableMessages.setDragEnabled(False)
        self.tableMessages.setDragDropOverwriteMode(False)
        self.tableMessages.setDragDropMode(
            QtWidgets.QAbstractItemView.DropOnly)
        self.tableMessages.setDefaultDropAction(QtCore.Qt.CopyAction)
        self.tableMessages.setAlternatingRowColors(True)
        self.tableMessages.setSelectionBehavior(
            QtWidgets.QAbstractItemView.SelectItems)
        self.tableMessages.setVerticalScrollMode(
            QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableMessages.setHorizontalScrollMode(
            QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableMessages.setShowGrid(False)
        self.tableMessages.setObjectName("tableMessages")
        self.tableMessages.horizontalHeader().setHighlightSections(False)
        self.tableMessages.verticalHeader().setHighlightSections(False)
        self.gridLayout_2.addWidget(self.tableMessages, 1, 0, 1, 7)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, 0, -1, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.labelGeneratedData = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.labelGeneratedData.sizePolicy().hasHeightForWidth())
        self.labelGeneratedData.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelGeneratedData.setFont(font)
        self.labelGeneratedData.setAlignment(QtCore.Qt.AlignCenter)
        self.labelGeneratedData.setObjectName("labelGeneratedData")
        self.horizontalLayout.addWidget(self.labelGeneratedData)
        self.btnSave = QtWidgets.QToolButton(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.btnSave.sizePolicy().hasHeightForWidth())
        self.btnSave.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.gridLayout_2.addLayout(self.horizontalLayout, 0, 0, 1, 7)
        self.btnNetworkSDRSend = QtWidgets.QPushButton(self.layoutWidget)
        icon = QtGui.QIcon.fromTheme("network-wired")
        self.btnNetworkSDRSend.setIcon(icon)
        self.btnNetworkSDRSend.setCheckable(True)
        self.btnNetworkSDRSend.setObjectName("btnNetworkSDRSend")
        self.gridLayout_2.addWidget(self.btnNetworkSDRSend, 2, 0, 1, 1)
        self.btnRfCatSend = QtWidgets.QPushButton(self.layoutWidget)
        icon = QtGui.QIcon.fromTheme("network-wireless")
        self.btnRfCatSend.setIcon(icon)
        self.btnRfCatSend.setObjectName("btnRfCatSend")
        self.gridLayout_2.addWidget(self.btnRfCatSend, 2, 1, 1, 1)
        self.lEstimatedTime = QtWidgets.QLabel(self.layoutWidget)
        self.lEstimatedTime.setObjectName("lEstimatedTime")
        self.gridLayout_2.addWidget(self.lEstimatedTime, 2, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(38, 22,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem, 2, 3, 1, 2)
        self.verticalLayout_2.addWidget(self.splitter)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.verticalLayout_3.addWidget(self.scrollArea)

        self.retranslateUi(GeneratorTab)
        self.tabWidget.setCurrentIndex(0)
        self.stackedWidgetFuzzing.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(GeneratorTab)

    def retranslateUi(self, GeneratorTab):
        _translate = QtCore.QCoreApplication.translate
        GeneratorTab.setWindowTitle(_translate("GeneratorTab", "Form"))
        self.treeProtocols.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>Drag&amp;Drop Protocols to the table on the right to fill the generation table.</p></body></html>"
            ))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_proto),
                                  _translate("GeneratorTab", "Protocols"))
        self.lWPauses.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>The pauses will be added automatically when you drag a protocol from the tree above to the table on the right.<br/></p><p>You can see the <span style=\" font-weight:600;\">position</span> of each pause by <span style=\" font-weight:600;\">selecting it</span>. There will be drawn a line in the table indiciating the position of the pause.<br/></p><p>Use context menu or double click to <span style=\" font-weight:600;\">edit a pauses\' length</span>.</p></body></html>"
            ))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_pauses),
                                  _translate("GeneratorTab", "Pauses"))
        self.groupBox.setTitle(
            _translate("GeneratorTab", "Add fuzzing values to generated data"))
        self.btnFuzz.setText(_translate("GeneratorTab", "Fuzz"))
        self.rBSuccessive.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per message the fuzzed values are inserted <span style=\" font-weight:600;\">one-by-one</span>.</p></body></html>"
            ))
        self.rBSuccessive.setText(_translate("GeneratorTab", "S&uccessive"))
        self.rbConcurrent.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per message the labels are fuzzed <span style=\" font-weight:600;\">at the same time</span>.</p></body></html>"
            ))
        self.rbConcurrent.setText(_translate("GeneratorTab", "&Concurrent"))
        self.rBExhaustive.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per message the fuzzed values are inserted in <span style=\" font-weight:600;\">all possible combinations</span>.</p></body></html>"
            ))
        self.rBExhaustive.setText(_translate("GeneratorTab", "E&xhaustive"))
        self.progressBarFuzzing.setFormat(_translate("GeneratorTab", "%v/%m"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_fuzzing),
                                  _translate("GeneratorTab", "Fuzzing"))
        self.cBoxModulations.setItemText(
            0, _translate("GeneratorTab", "MyModulation"))
        self.lCarrierFreqValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lModType.setText(_translate("GeneratorTab", "Modulation Type:"))
        self.lModTypeValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.label_carrier_phase.setText(
            _translate("GeneratorTab", "Carrier Phase:"))
        self.lCarrierPhaseValue.setText(_translate("GeneratorTab",
                                                   "TextLabel"))
        self.lParamForZero.setText(
            _translate("GeneratorTab", "Amplitude for 0:"))
        self.lParamForZeroValue.setText(_translate("GeneratorTab",
                                                   "TextLabel"))
        self.lBitLength.setText(_translate("GeneratorTab", "Bit Length:"))
        self.lBitLenValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lParamForOne.setText(
            _translate("GeneratorTab", "Amplitude for 1:"))
        self.lParamForOneValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lEncoding.setText(_translate("GeneratorTab", "Encoding:"))
        self.lEncodingValue.setText(_translate("GeneratorTab", "-"))
        self.lSampleRate.setText(_translate("GeneratorTab", "Sample Rate:"))
        self.lSampleRateValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lCarrierFrequency.setText(
            _translate("GeneratorTab", "Carrier Frequency:"))
        self.lModulation.setText(_translate("GeneratorTab", "Modulation:"))
        self.btnSend.setText(_translate("GeneratorTab", "Send data..."))
        self.btnEditModulation.setText(_translate("GeneratorTab", "Edit ..."))
        self.prBarGeneration.setFormat(
            _translate("GeneratorTab", "Modulating %p%"))
        self.btnGenerate.setToolTip(
            _translate(
                "GeneratorTab",
                "Generate the complex file of the modulated signal, after tuning all parameters above."
            ))
        self.btnGenerate.setText(_translate("GeneratorTab",
                                            "Generate file..."))
        self.cbViewType.setItemText(0, _translate("GeneratorTab", "Bit"))
        self.cbViewType.setItemText(1, _translate("GeneratorTab", "Hex"))
        self.cbViewType.setItemText(2, _translate("GeneratorTab", "ASCII"))
        self.lViewType.setText(_translate("GeneratorTab", "Viewtype:"))
        self.labelGeneratedData.setText(
            _translate("GeneratorTab", "Generated data"))
        self.btnSave.setText(_translate("GeneratorTab", "..."))
        self.btnNetworkSDRSend.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p><span style=\" font-weight:600;\">Send encoded data to your external application via TCP.</span></p></body></html>"
            ))
        self.btnNetworkSDRSend.setText(
            _translate("GeneratorTab", "Send via Network"))
        self.btnRfCatSend.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p><span style=\" font-weight:600;\">Send encoded data via RfCat. </span></p><p><span style=\" font-style:italic;\">Hit again for stopping the sending process. Note that you can set the number of repetitions (from 1 to infinite) in:</span></p><p><span style=\" font-style:italic;\">Edit-&gt;Options-&gt;Device-&gt;\'Device sending repetitions\'</span></p></body></html>"
            ))
        self.btnRfCatSend.setText(_translate("GeneratorTab", "Send via RfCat"))
        self.lEstimatedTime.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>The estimated average time is based on the average number of bits per message and average sample rate, you set for the modulations.</p></body></html>"
            ))
        self.lEstimatedTime.setText(
            _translate("GeneratorTab", "Estimated Time: "))
Esempio n. 2
0
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&lt;Number&gt;.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>"))
Esempio n. 3
0
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&lt;Number&gt;.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>"))
Esempio n. 4
0
class Ui_GeneratorTab(object):
    def setupUi(self, GeneratorTab):
        GeneratorTab.setObjectName("GeneratorTab")
        GeneratorTab.resize(1287, 774)
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(GeneratorTab)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setSpacing(0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.scrollArea = QtWidgets.QScrollArea(GeneratorTab)
        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, 1287, 774))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.splitter = QtWidgets.QSplitter(self.scrollAreaWidgetContents)
        self.splitter.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.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setHandleWidth(6)
        self.splitter.setObjectName("splitter")
        self.layoutWidget_2 = QtWidgets.QWidget(self.splitter)
        self.layoutWidget_2.setObjectName("layoutWidget_2")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget_2)
        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
        self.verticalLayout.setObjectName("verticalLayout")
        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_proto = QtWidgets.QWidget()
        self.tab_proto.setObjectName("tab_proto")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_proto)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.treeProtocols = GeneratorTreeView(self.tab_proto)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.treeProtocols.sizePolicy().hasHeightForWidth())
        self.treeProtocols.setSizePolicy(sizePolicy)
        self.treeProtocols.setObjectName("treeProtocols")
        self.treeProtocols.header().setDefaultSectionSize(0)
        self.verticalLayout_4.addWidget(self.treeProtocols)
        self.tabWidget.addTab(self.tab_proto, "")
        self.tab_pauses = QtWidgets.QWidget()
        self.tab_pauses.setObjectName("tab_pauses")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.tab_pauses)
        self.gridLayout_5.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.lWPauses = GeneratorListWidget(self.tab_pauses)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lWPauses.sizePolicy().hasHeightForWidth())
        self.lWPauses.setSizePolicy(sizePolicy)
        self.lWPauses.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
        self.lWPauses.setProperty("showDropIndicator", False)
        self.lWPauses.setDragDropMode(QtWidgets.QAbstractItemView.NoDragDrop)
        self.lWPauses.setObjectName("lWPauses")
        self.gridLayout_5.addWidget(self.lWPauses, 0, 0, 1, 2)
        self.tabWidget.addTab(self.tab_pauses, "")
        self.tab_fuzzing = QtWidgets.QWidget()
        self.tab_fuzzing.setObjectName("tab_fuzzing")
        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.tab_fuzzing)
        self.verticalLayout_9.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_9.setSpacing(6)
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.listViewProtoLabels = GeneratorListView(self.tab_fuzzing)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.listViewProtoLabels.sizePolicy().hasHeightForWidth())
        self.listViewProtoLabels.setSizePolicy(sizePolicy)
        self.listViewProtoLabels.setEditTriggers(QtWidgets.QAbstractItemView.EditKeyPressed)
        self.listViewProtoLabels.setObjectName("listViewProtoLabels")
        self.verticalLayout_9.addWidget(self.listViewProtoLabels)
        self.groupBox = QtWidgets.QGroupBox(self.tab_fuzzing)
        self.groupBox.setObjectName("groupBox")
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.stackedWidgetFuzzing = QtWidgets.QStackedWidget(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.stackedWidgetFuzzing.sizePolicy().hasHeightForWidth())
        self.stackedWidgetFuzzing.setSizePolicy(sizePolicy)
        self.stackedWidgetFuzzing.setObjectName("stackedWidgetFuzzing")
        self.pageFuzzingUI = QtWidgets.QWidget()
        self.pageFuzzingUI.setObjectName("pageFuzzingUI")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageFuzzingUI)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.btnFuzz = QtWidgets.QPushButton(self.pageFuzzingUI)
        self.btnFuzz.setObjectName("btnFuzz")
        self.horizontalLayout_4.addWidget(self.btnFuzz)
        self.rBSuccessive = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rBSuccessive.setChecked(True)
        self.rBSuccessive.setObjectName("rBSuccessive")
        self.horizontalLayout_4.addWidget(self.rBSuccessive)
        self.rbConcurrent = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rbConcurrent.setObjectName("rbConcurrent")
        self.horizontalLayout_4.addWidget(self.rbConcurrent)
        self.rBExhaustive = QtWidgets.QRadioButton(self.pageFuzzingUI)
        self.rBExhaustive.setObjectName("rBExhaustive")
        self.horizontalLayout_4.addWidget(self.rBExhaustive)
        self.stackedWidgetFuzzing.addWidget(self.pageFuzzingUI)
        self.pageFuzzingProgressBar = QtWidgets.QWidget()
        self.pageFuzzingProgressBar.setObjectName("pageFuzzingProgressBar")
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.pageFuzzingProgressBar)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.progressBarFuzzing = QtWidgets.QProgressBar(self.pageFuzzingProgressBar)
        self.progressBarFuzzing.setProperty("value", 24)
        self.progressBarFuzzing.setObjectName("progressBarFuzzing")
        self.horizontalLayout_7.addWidget(self.progressBarFuzzing)
        self.stackedWidgetFuzzing.addWidget(self.pageFuzzingProgressBar)
        self.horizontalLayout_6.addWidget(self.stackedWidgetFuzzing)
        self.verticalLayout_9.addWidget(self.groupBox)
        self.tabWidget.addTab(self.tab_fuzzing, "")
        self.verticalLayout.addWidget(self.tabWidget)
        self.line_2 = QtWidgets.QFrame(self.layoutWidget_2)
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.verticalLayout.addWidget(self.line_2)
        self.gridLayout_6 = QtWidgets.QGridLayout()
        self.gridLayout_6.setContentsMargins(0, -1, 0, -1)
        self.gridLayout_6.setObjectName("gridLayout_6")
        self.cBoxModulations = QtWidgets.QComboBox(self.layoutWidget_2)
        self.cBoxModulations.setObjectName("cBoxModulations")
        self.cBoxModulations.addItem("")
        self.gridLayout_6.addWidget(self.cBoxModulations, 2, 1, 1, 1)
        self.modulationLayout_2 = QtWidgets.QGridLayout()
        self.modulationLayout_2.setObjectName("modulationLayout_2")
        self.lCarrierFreqValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierFreqValue.setObjectName("lCarrierFreqValue")
        self.modulationLayout_2.addWidget(self.lCarrierFreqValue, 1, 1, 1, 1)
        self.lModType = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModType.setObjectName("lModType")
        self.modulationLayout_2.addWidget(self.lModType, 1, 2, 1, 1)
        self.lModTypeValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModTypeValue.setObjectName("lModTypeValue")
        self.modulationLayout_2.addWidget(self.lModTypeValue, 1, 3, 1, 1)
        self.label_carrier_phase = QtWidgets.QLabel(self.layoutWidget_2)
        self.label_carrier_phase.setObjectName("label_carrier_phase")
        self.modulationLayout_2.addWidget(self.label_carrier_phase, 2, 0, 1, 1)
        self.lCarrierPhaseValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierPhaseValue.setObjectName("lCarrierPhaseValue")
        self.modulationLayout_2.addWidget(self.lCarrierPhaseValue, 2, 1, 1, 1)
        self.lParamForZero = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForZero.setObjectName("lParamForZero")
        self.modulationLayout_2.addWidget(self.lParamForZero, 2, 2, 1, 1)
        self.lParamForZeroValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForZeroValue.setObjectName("lParamForZeroValue")
        self.modulationLayout_2.addWidget(self.lParamForZeroValue, 2, 3, 1, 1)
        self.lBitLength = QtWidgets.QLabel(self.layoutWidget_2)
        self.lBitLength.setObjectName("lBitLength")
        self.modulationLayout_2.addWidget(self.lBitLength, 3, 0, 1, 1)
        self.lBitLenValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lBitLenValue.setObjectName("lBitLenValue")
        self.modulationLayout_2.addWidget(self.lBitLenValue, 3, 1, 1, 1)
        self.lParamForOne = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForOne.setObjectName("lParamForOne")
        self.modulationLayout_2.addWidget(self.lParamForOne, 3, 2, 1, 1)
        self.lParamForOneValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lParamForOneValue.setObjectName("lParamForOneValue")
        self.modulationLayout_2.addWidget(self.lParamForOneValue, 3, 3, 1, 1)
        self.lEncoding = QtWidgets.QLabel(self.layoutWidget_2)
        self.lEncoding.setObjectName("lEncoding")
        self.modulationLayout_2.addWidget(self.lEncoding, 0, 0, 1, 1)
        self.lEncodingValue = QtWidgets.QLabel(self.layoutWidget_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lEncodingValue.sizePolicy().hasHeightForWidth())
        self.lEncodingValue.setSizePolicy(sizePolicy)
        self.lEncodingValue.setObjectName("lEncodingValue")
        self.modulationLayout_2.addWidget(self.lEncodingValue, 0, 1, 1, 1)
        self.lSampleRate = QtWidgets.QLabel(self.layoutWidget_2)
        self.lSampleRate.setObjectName("lSampleRate")
        self.modulationLayout_2.addWidget(self.lSampleRate, 0, 2, 1, 1)
        self.lSampleRateValue = QtWidgets.QLabel(self.layoutWidget_2)
        self.lSampleRateValue.setObjectName("lSampleRateValue")
        self.modulationLayout_2.addWidget(self.lSampleRateValue, 0, 3, 1, 1)
        self.lCarrierFrequency = QtWidgets.QLabel(self.layoutWidget_2)
        self.lCarrierFrequency.setObjectName("lCarrierFrequency")
        self.modulationLayout_2.addWidget(self.lCarrierFrequency, 1, 0, 1, 1)
        self.gridLayout_6.addLayout(self.modulationLayout_2, 0, 0, 1, 3)
        self.lModulation = QtWidgets.QLabel(self.layoutWidget_2)
        self.lModulation.setObjectName("lModulation")
        self.gridLayout_6.addWidget(self.lModulation, 2, 0, 1, 1)
        self.btnSend = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnSend.setEnabled(False)
        icon = QtGui.QIcon.fromTheme("media-playback-start")
        self.btnSend.setIcon(icon)
        self.btnSend.setObjectName("btnSend")
        self.gridLayout_6.addWidget(self.btnSend, 5, 2, 1, 1)
        self.line = QtWidgets.QFrame(self.layoutWidget_2)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_6.addWidget(self.line, 1, 0, 1, 3)
        self.btnEditModulation = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnEditModulation.setObjectName("btnEditModulation")
        self.gridLayout_6.addWidget(self.btnEditModulation, 2, 2, 1, 1)
        self.prBarGeneration = QtWidgets.QProgressBar(self.layoutWidget_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.prBarGeneration.sizePolicy().hasHeightForWidth())
        self.prBarGeneration.setSizePolicy(sizePolicy)
        self.prBarGeneration.setProperty("value", 0)
        self.prBarGeneration.setObjectName("prBarGeneration")
        self.gridLayout_6.addWidget(self.prBarGeneration, 5, 0, 1, 1)
        self.btnGenerate = QtWidgets.QPushButton(self.layoutWidget_2)
        self.btnGenerate.setEnabled(False)
        icon = QtGui.QIcon.fromTheme("document-new")
        self.btnGenerate.setIcon(icon)
        self.btnGenerate.setObjectName("btnGenerate")
        self.gridLayout_6.addWidget(self.btnGenerate, 5, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout_6)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget)
        self.gridLayout_2.setContentsMargins(11, 11, 11, 11)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.cbViewType = QtWidgets.QComboBox(self.layoutWidget)
        self.cbViewType.setObjectName("cbViewType")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.gridLayout_2.addWidget(self.cbViewType, 2, 6, 1, 1)
        self.lViewType = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lViewType.sizePolicy().hasHeightForWidth())
        self.lViewType.setSizePolicy(sizePolicy)
        self.lViewType.setObjectName("lViewType")
        self.gridLayout_2.addWidget(self.lViewType, 2, 5, 1, 1)
        self.tableMessages = GeneratorTableView(self.layoutWidget)
        self.tableMessages.setAcceptDrops(True)
        self.tableMessages.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tableMessages.setDragEnabled(False)
        self.tableMessages.setDragDropOverwriteMode(False)
        self.tableMessages.setDragDropMode(QtWidgets.QAbstractItemView.DropOnly)
        self.tableMessages.setDefaultDropAction(QtCore.Qt.CopyAction)
        self.tableMessages.setAlternatingRowColors(True)
        self.tableMessages.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
        self.tableMessages.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableMessages.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableMessages.setShowGrid(False)
        self.tableMessages.setObjectName("tableMessages")
        self.tableMessages.horizontalHeader().setHighlightSections(False)
        self.tableMessages.verticalHeader().setHighlightSections(False)
        self.gridLayout_2.addWidget(self.tableMessages, 1, 0, 1, 7)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, 0, -1, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.labelGeneratedData = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.labelGeneratedData.sizePolicy().hasHeightForWidth())
        self.labelGeneratedData.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelGeneratedData.setFont(font)
        self.labelGeneratedData.setAlignment(QtCore.Qt.AlignCenter)
        self.labelGeneratedData.setObjectName("labelGeneratedData")
        self.horizontalLayout.addWidget(self.labelGeneratedData)
        self.btnSave = QtWidgets.QToolButton(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.btnSave.sizePolicy().hasHeightForWidth())
        self.btnSave.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnOpen = QtWidgets.QToolButton(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.btnOpen.sizePolicy().hasHeightForWidth())
        self.btnOpen.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon.fromTheme("document-open")
        self.btnOpen.setIcon(icon)
        self.btnOpen.setObjectName("btnOpen")
        self.horizontalLayout.addWidget(self.btnOpen)
        self.gridLayout_2.addLayout(self.horizontalLayout, 0, 0, 1, 7)
        self.btnNetworkSDRSend = QtWidgets.QPushButton(self.layoutWidget)
        icon = QtGui.QIcon.fromTheme("network-wired")
        self.btnNetworkSDRSend.setIcon(icon)
        self.btnNetworkSDRSend.setCheckable(True)
        self.btnNetworkSDRSend.setObjectName("btnNetworkSDRSend")
        self.gridLayout_2.addWidget(self.btnNetworkSDRSend, 2, 0, 1, 1)
        self.btnRfCatSend = QtWidgets.QPushButton(self.layoutWidget)
        icon = QtGui.QIcon.fromTheme("network-wireless")
        self.btnRfCatSend.setIcon(icon)
        self.btnRfCatSend.setObjectName("btnRfCatSend")
        self.gridLayout_2.addWidget(self.btnRfCatSend, 2, 1, 1, 1)
        self.lEstimatedTime = QtWidgets.QLabel(self.layoutWidget)
        self.lEstimatedTime.setObjectName("lEstimatedTime")
        self.gridLayout_2.addWidget(self.lEstimatedTime, 2, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(38, 22, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem, 2, 3, 1, 2)
        self.verticalLayout_2.addWidget(self.splitter)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.verticalLayout_3.addWidget(self.scrollArea)

        self.retranslateUi(GeneratorTab)
        self.tabWidget.setCurrentIndex(0)
        self.stackedWidgetFuzzing.setCurrentIndex(0)

    def retranslateUi(self, GeneratorTab):
        _translate = QtCore.QCoreApplication.translate
        GeneratorTab.setWindowTitle(_translate("GeneratorTab", "Form"))
        self.treeProtocols.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>Drag&amp;Drop Protocols to the table on the right to fill the generation table.</p></body></html>"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_proto), _translate("GeneratorTab", "Protocols"))
        self.lWPauses.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>The pauses will be added automatically when you drag a protocol from the tree above to the table on the right.<br/></p><p>You can see the <span style=\" font-weight:600;\">position</span> of each pause by <span style=\" font-weight:600;\">selecting it</span>. There will be drawn a line in the table indiciating the position of the pause.<br/></p><p>Use context menu or double click to <span style=\" font-weight:600;\">edit a pauses\' length</span>.</p></body></html>"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_pauses), _translate("GeneratorTab", "Pauses"))
        self.groupBox.setTitle(_translate("GeneratorTab", "Add fuzzing values to generated data"))
        self.btnFuzz.setText(_translate("GeneratorTab", "Fuzz"))
        self.rBSuccessive.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>For multiple labels per message the fuzzed values are inserted <span style=\" font-weight:600;\">one-by-one</span>.</p></body></html>"))
        self.rBSuccessive.setText(_translate("GeneratorTab", "S&uccessive"))
        self.rbConcurrent.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>For multiple labels per message the labels are fuzzed <span style=\" font-weight:600;\">at the same time</span>.</p></body></html>"))
        self.rbConcurrent.setText(_translate("GeneratorTab", "&Concurrent"))
        self.rBExhaustive.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>For multiple labels per message the fuzzed values are inserted in <span style=\" font-weight:600;\">all possible combinations</span>.</p></body></html>"))
        self.rBExhaustive.setText(_translate("GeneratorTab", "E&xhaustive"))
        self.progressBarFuzzing.setFormat(_translate("GeneratorTab", "%v/%m"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_fuzzing), _translate("GeneratorTab", "Fuzzing"))
        self.cBoxModulations.setItemText(0, _translate("GeneratorTab", "MyModulation"))
        self.lCarrierFreqValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lModType.setText(_translate("GeneratorTab", "Modulation Type:"))
        self.lModTypeValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.label_carrier_phase.setText(_translate("GeneratorTab", "Carrier Phase:"))
        self.lCarrierPhaseValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lParamForZero.setText(_translate("GeneratorTab", "Amplitude for 0:"))
        self.lParamForZeroValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lBitLength.setText(_translate("GeneratorTab", "Bit Length:"))
        self.lBitLenValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lParamForOne.setText(_translate("GeneratorTab", "Amplitude for 1:"))
        self.lParamForOneValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lEncoding.setText(_translate("GeneratorTab", "Encoding:"))
        self.lEncodingValue.setText(_translate("GeneratorTab", "-"))
        self.lSampleRate.setText(_translate("GeneratorTab", "Sample Rate:"))
        self.lSampleRateValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lCarrierFrequency.setText(_translate("GeneratorTab", "Carrier Frequency:"))
        self.lModulation.setText(_translate("GeneratorTab", "Modulation:"))
        self.btnSend.setText(_translate("GeneratorTab", "Send data..."))
        self.btnEditModulation.setText(_translate("GeneratorTab", "Edit ..."))
        self.prBarGeneration.setFormat(_translate("GeneratorTab", "Modulating %p%"))
        self.btnGenerate.setToolTip(_translate("GeneratorTab", "Generate the complex file of the modulated signal, after tuning all parameters above."))
        self.btnGenerate.setText(_translate("GeneratorTab", "Generate file..."))
        self.cbViewType.setItemText(0, _translate("GeneratorTab", "Bit"))
        self.cbViewType.setItemText(1, _translate("GeneratorTab", "Hex"))
        self.cbViewType.setItemText(2, _translate("GeneratorTab", "ASCII"))
        self.lViewType.setText(_translate("GeneratorTab", "Viewtype:"))
        self.labelGeneratedData.setText(_translate("GeneratorTab", "Generated Data"))
        self.btnSave.setToolTip(_translate("GeneratorTab", "Save current fuzz profile."))
        self.btnSave.setText(_translate("GeneratorTab", "..."))
        self.btnOpen.setToolTip(_translate("GeneratorTab", "Load a fuzz profile."))
        self.btnOpen.setText(_translate("GeneratorTab", "..."))
        self.btnNetworkSDRSend.setToolTip(_translate("GeneratorTab", "<html><head/><body><p><span style=\" font-weight:600;\">Send encoded data to your external application via TCP.</span></p></body></html>"))
        self.btnNetworkSDRSend.setText(_translate("GeneratorTab", "Send via Network"))
        self.btnRfCatSend.setToolTip(_translate("GeneratorTab", "<html><head/><body><p><span style=\" font-weight:600;\">Send encoded data via RfCat. </span></p><p><span style=\" font-style:italic;\">Hit again for stopping the sending process. Note that you can set the number of repetitions (from 1 to infinite) in:</span></p><p><span style=\" font-style:italic;\">Edit-&gt;Options-&gt;Device-&gt;\'Device sending repetitions\'</span></p></body></html>"))
        self.btnRfCatSend.setText(_translate("GeneratorTab", "Send via RfCat"))
        self.lEstimatedTime.setToolTip(_translate("GeneratorTab", "<html><head/><body><p>The estimated average time is based on the average number of bits per message and average sample rate, you set for the modulations.</p></body></html>"))
        self.lEstimatedTime.setText(_translate("GeneratorTab", "Estimated Time: "))
Esempio n. 5
0
class Ui_GeneratorTab(object):
    def setupUi(self, GeneratorTab):
        GeneratorTab.setObjectName("GeneratorTab")
        GeneratorTab.resize(1083, 995)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(GeneratorTab)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.splitter = QtWidgets.QSplitter(GeneratorTab)
        self.splitter.setStyleSheet("QSplitter::handle {\n"
                                    "    background-color: #AAAAAA;\n"
                                    "}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setHandleWidth(2)
        self.splitter.setObjectName("splitter")
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.tabWidget = QtWidgets.QTabWidget(self.layoutWidget)
        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.setObjectName("tabWidget")
        self.tab_proto = QtWidgets.QWidget()
        self.tab_proto.setObjectName("tab_proto")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab_proto)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.treeProtocols = GeneratorTreeView(self.tab_proto)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.treeProtocols.sizePolicy().hasHeightForWidth())
        self.treeProtocols.setSizePolicy(sizePolicy)
        self.treeProtocols.setObjectName("treeProtocols")
        self.treeProtocols.header().setDefaultSectionSize(0)
        self.horizontalLayout.addWidget(self.treeProtocols)
        self.tabWidget.addTab(self.tab_proto, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_4)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.lWPauses = GeneratorListWidget(self.tab_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lWPauses.sizePolicy().hasHeightForWidth())
        self.lWPauses.setSizePolicy(sizePolicy)
        self.lWPauses.setEditTriggers(
            QtWidgets.QAbstractItemView.DoubleClicked
            | QtWidgets.QAbstractItemView.EditKeyPressed)
        self.lWPauses.setProperty("showDropIndicator", False)
        self.lWPauses.setDragDropMode(QtWidgets.QAbstractItemView.NoDragDrop)
        self.lWPauses.setObjectName("lWPauses")
        self.gridLayout_4.addWidget(self.lWPauses, 0, 0, 1, 2)
        self.tabWidget.addTab(self.tab_4, "")
        self.tab_5 = QtWidgets.QWidget()
        self.tab_5.setObjectName("tab_5")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.tab_5)
        self.verticalLayout_8.setSpacing(6)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.listViewProtoLabels = GeneratorListView(self.tab_5)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.listViewProtoLabels.sizePolicy().hasHeightForWidth())
        self.listViewProtoLabels.setSizePolicy(sizePolicy)
        self.listViewProtoLabels.setEditTriggers(
            QtWidgets.QAbstractItemView.EditKeyPressed)
        self.listViewProtoLabels.setObjectName("listViewProtoLabels")
        self.verticalLayout_8.addWidget(self.listViewProtoLabels)
        self.groupBox = QtWidgets.QGroupBox(self.tab_5)
        self.groupBox.setObjectName("groupBox")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.btnFuzz = QtWidgets.QPushButton(self.groupBox)
        self.btnFuzz.setObjectName("btnFuzz")
        self.horizontalLayout_5.addWidget(self.btnFuzz)
        self.rBSuccessive = QtWidgets.QRadioButton(self.groupBox)
        self.rBSuccessive.setObjectName("rBSuccessive")
        self.horizontalLayout_5.addWidget(self.rBSuccessive)
        self.rbConcurrent = QtWidgets.QRadioButton(self.groupBox)
        self.rbConcurrent.setObjectName("rbConcurrent")
        self.horizontalLayout_5.addWidget(self.rbConcurrent)
        self.rBExhaustive = QtWidgets.QRadioButton(self.groupBox)
        self.rBExhaustive.setObjectName("rBExhaustive")
        self.horizontalLayout_5.addWidget(self.rBExhaustive)
        self.verticalLayout_8.addWidget(self.groupBox)
        self.tabWidget.addTab(self.tab_5, "")
        self.verticalLayout.addWidget(self.tabWidget)
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.cBoxModulations = QtWidgets.QComboBox(self.layoutWidget)
        self.cBoxModulations.setObjectName("cBoxModulations")
        self.cBoxModulations.addItem("")
        self.gridLayout_3.addWidget(self.cBoxModulations, 2, 1, 1, 1)
        self.modulationLayout = QtWidgets.QGridLayout()
        self.modulationLayout.setObjectName("modulationLayout")
        self.lEncoding = QtWidgets.QLabel(self.layoutWidget)
        self.lEncoding.setObjectName("lEncoding")
        self.modulationLayout.addWidget(self.lEncoding, 0, 0, 1, 1)
        self.lEncodingValue = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lEncodingValue.sizePolicy().hasHeightForWidth())
        self.lEncodingValue.setSizePolicy(sizePolicy)
        self.lEncodingValue.setMinimumSize(QtCore.QSize(0, 0))
        self.lEncodingValue.setObjectName("lEncodingValue")
        self.modulationLayout.addWidget(self.lEncodingValue, 0, 1, 1, 1)
        self.lSampleRate = QtWidgets.QLabel(self.layoutWidget)
        self.lSampleRate.setObjectName("lSampleRate")
        self.modulationLayout.addWidget(self.lSampleRate, 0, 2, 1, 1)
        self.lSampleRateValue = QtWidgets.QLabel(self.layoutWidget)
        self.lSampleRateValue.setObjectName("lSampleRateValue")
        self.modulationLayout.addWidget(self.lSampleRateValue, 0, 3, 1, 1)
        self.lCarrierFrequency = QtWidgets.QLabel(self.layoutWidget)
        self.lCarrierFrequency.setObjectName("lCarrierFrequency")
        self.modulationLayout.addWidget(self.lCarrierFrequency, 1, 0, 1, 1)
        self.lCarrierFreqValue = QtWidgets.QLabel(self.layoutWidget)
        self.lCarrierFreqValue.setObjectName("lCarrierFreqValue")
        self.modulationLayout.addWidget(self.lCarrierFreqValue, 1, 1, 1, 1)
        self.lModType = QtWidgets.QLabel(self.layoutWidget)
        self.lModType.setObjectName("lModType")
        self.modulationLayout.addWidget(self.lModType, 1, 2, 1, 1)
        self.lModTypeValue = QtWidgets.QLabel(self.layoutWidget)
        self.lModTypeValue.setObjectName("lModTypeValue")
        self.modulationLayout.addWidget(self.lModTypeValue, 1, 3, 1, 1)
        self.label = QtWidgets.QLabel(self.layoutWidget)
        self.label.setObjectName("label")
        self.modulationLayout.addWidget(self.label, 2, 0, 1, 1)
        self.lCarrierPhaseValue = QtWidgets.QLabel(self.layoutWidget)
        self.lCarrierPhaseValue.setObjectName("lCarrierPhaseValue")
        self.modulationLayout.addWidget(self.lCarrierPhaseValue, 2, 1, 1, 1)
        self.lParamForZero = QtWidgets.QLabel(self.layoutWidget)
        self.lParamForZero.setObjectName("lParamForZero")
        self.modulationLayout.addWidget(self.lParamForZero, 2, 2, 1, 1)
        self.lParamForZeroValue = QtWidgets.QLabel(self.layoutWidget)
        self.lParamForZeroValue.setObjectName("lParamForZeroValue")
        self.modulationLayout.addWidget(self.lParamForZeroValue, 2, 3, 1, 1)
        self.lBitLength = QtWidgets.QLabel(self.layoutWidget)
        self.lBitLength.setObjectName("lBitLength")
        self.modulationLayout.addWidget(self.lBitLength, 3, 0, 1, 1)
        self.lBitLenValue = QtWidgets.QLabel(self.layoutWidget)
        self.lBitLenValue.setObjectName("lBitLenValue")
        self.modulationLayout.addWidget(self.lBitLenValue, 3, 1, 1, 1)
        self.lParamForOne = QtWidgets.QLabel(self.layoutWidget)
        self.lParamForOne.setObjectName("lParamForOne")
        self.modulationLayout.addWidget(self.lParamForOne, 3, 2, 1, 1)
        self.lParamForOneValue = QtWidgets.QLabel(self.layoutWidget)
        self.lParamForOneValue.setObjectName("lParamForOneValue")
        self.modulationLayout.addWidget(self.lParamForOneValue, 3, 3, 1, 1)
        self.gridLayout_3.addLayout(self.modulationLayout, 0, 0, 1, 3)
        self.lModulation = QtWidgets.QLabel(self.layoutWidget)
        self.lModulation.setObjectName("lModulation")
        self.gridLayout_3.addWidget(self.lModulation, 2, 0, 1, 1)
        self.btnSend = QtWidgets.QPushButton(self.layoutWidget)
        self.btnSend.setEnabled(False)
        self.btnSend.setObjectName("btnSend")
        self.gridLayout_3.addWidget(self.btnSend, 5, 2, 1, 1)
        self.line = QtWidgets.QFrame(self.layoutWidget)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_3.addWidget(self.line, 1, 0, 1, 3)
        self.btnEditModulation = QtWidgets.QPushButton(self.layoutWidget)
        self.btnEditModulation.setObjectName("btnEditModulation")
        self.gridLayout_3.addWidget(self.btnEditModulation, 2, 2, 1, 1)
        self.prBarGeneration = QtWidgets.QProgressBar(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.prBarGeneration.sizePolicy().hasHeightForWidth())
        self.prBarGeneration.setSizePolicy(sizePolicy)
        self.prBarGeneration.setProperty("value", 0)
        self.prBarGeneration.setObjectName("prBarGeneration")
        self.gridLayout_3.addWidget(self.prBarGeneration, 5, 0, 1, 1)
        self.btnGenerate = QtWidgets.QPushButton(self.layoutWidget)
        self.btnGenerate.setEnabled(False)
        self.btnGenerate.setObjectName("btnGenerate")
        self.gridLayout_3.addWidget(self.btnGenerate, 5, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout_3)
        self.layoutWidget1 = QtWidgets.QWidget(self.splitter)
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.tableBlocks = GeneratorTableView(self.layoutWidget1)
        self.tableBlocks.setAcceptDrops(True)
        self.tableBlocks.setDragEnabled(False)
        self.tableBlocks.setDragDropOverwriteMode(False)
        self.tableBlocks.setDragDropMode(QtWidgets.QAbstractItemView.DropOnly)
        self.tableBlocks.setDefaultDropAction(QtCore.Qt.CopyAction)
        self.tableBlocks.setAlternatingRowColors(True)
        self.tableBlocks.setSelectionBehavior(
            QtWidgets.QAbstractItemView.SelectItems)
        self.tableBlocks.setVerticalScrollMode(
            QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableBlocks.setHorizontalScrollMode(
            QtWidgets.QAbstractItemView.ScrollPerPixel)
        self.tableBlocks.setShowGrid(False)
        self.tableBlocks.setObjectName("tableBlocks")
        self.tableBlocks.horizontalHeader().setHighlightSections(False)
        self.tableBlocks.verticalHeader().setHighlightSections(False)
        self.gridLayout_2.addWidget(self.tableBlocks, 1, 0, 1, 4)
        self.lEstimatedTime = QtWidgets.QLabel(self.layoutWidget1)
        self.lEstimatedTime.setObjectName("lEstimatedTime")
        self.gridLayout_2.addWidget(self.lEstimatedTime, 2, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(38, 22,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem, 2, 1, 1, 1)
        self.lViewType = QtWidgets.QLabel(self.layoutWidget1)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lViewType.sizePolicy().hasHeightForWidth())
        self.lViewType.setSizePolicy(sizePolicy)
        self.lViewType.setObjectName("lViewType")
        self.gridLayout_2.addWidget(self.lViewType, 2, 2, 1, 1)
        self.cbViewType = QtWidgets.QComboBox(self.layoutWidget1)
        self.cbViewType.setObjectName("cbViewType")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.cbViewType.addItem("")
        self.gridLayout_2.addWidget(self.cbViewType, 2, 3, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.layoutWidget1)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label_3.setFont(font)
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.gridLayout_2.addWidget(self.label_3, 0, 0, 1, 4)
        self.horizontalLayout_2.addWidget(self.splitter)

        self.retranslateUi(GeneratorTab)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(GeneratorTab)

    def retranslateUi(self, GeneratorTab):
        _translate = QtCore.QCoreApplication.translate
        GeneratorTab.setWindowTitle(_translate("GeneratorTab", "Form"))
        self.treeProtocols.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>Drag&amp;Drop Protocols to the table on the right to fill the generation table.</p></body></html>"
            ))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_proto),
                                  _translate("GeneratorTab", "Protocols"))
        self.lWPauses.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>The pause blocks will be added automatically when you drag a protocol from the tree above to the table on the right.<br/></p><p>You can see the <span style=\" font-weight:600;\">position</span> of each pause by <span style=\" font-weight:600;\">selecting it</span>. There will be drawn a line in the table indiciating the position of the pause.<br/></p><p>Use context menu or double click to <span style=\" font-weight:600;\">edit a pauses\' length</span>.</p></body></html>"
            ))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4),
                                  _translate("GeneratorTab", "Pauses"))
        self.groupBox.setTitle(
            _translate("GeneratorTab", "Add fuzzing values to generated data"))
        self.btnFuzz.setText(_translate("GeneratorTab", "Fuzz"))
        self.rBSuccessive.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per block the fuzzed values are inserted <span style=\" font-weight:600;\">one-by-one</span>.</p></body></html>"
            ))
        self.rBSuccessive.setText(_translate("GeneratorTab", "S&uccessive"))
        self.rbConcurrent.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per block the labels are fuzzed <span style=\" font-weight:600;\">at the same time</span>.</p></body></html>"
            ))
        self.rbConcurrent.setText(_translate("GeneratorTab", "&Concurrent"))
        self.rBExhaustive.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>For multiple labels per block the fuzzed values are inserted in <span style=\" font-weight:600;\">all possible combinations</span>.</p></body></html>"
            ))
        self.rBExhaustive.setText(_translate("GeneratorTab", "E&xhaustive"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5),
                                  _translate("GeneratorTab", "Fuzzing"))
        self.cBoxModulations.setItemText(
            0, _translate("GeneratorTab", "MyModulation"))
        self.lEncoding.setText(_translate("GeneratorTab", "Encoding:"))
        self.lEncodingValue.setText(_translate("GeneratorTab", "-"))
        self.lSampleRate.setText(_translate("GeneratorTab", "Sample Rate:"))
        self.lSampleRateValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lCarrierFrequency.setText(
            _translate("GeneratorTab", "Carrier Frequency:"))
        self.lCarrierFreqValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lModType.setText(_translate("GeneratorTab", "Modulation Type:"))
        self.lModTypeValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.label.setText(_translate("GeneratorTab", "Carrier Phase:"))
        self.lCarrierPhaseValue.setText(_translate("GeneratorTab",
                                                   "TextLabel"))
        self.lParamForZero.setText(
            _translate("GeneratorTab", "Amplitude for 0:"))
        self.lParamForZeroValue.setText(_translate("GeneratorTab",
                                                   "TextLabel"))
        self.lBitLength.setText(_translate("GeneratorTab", "Bit Length:"))
        self.lBitLenValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lParamForOne.setText(
            _translate("GeneratorTab", "Amplitude for 1:"))
        self.lParamForOneValue.setText(_translate("GeneratorTab", "TextLabel"))
        self.lModulation.setText(_translate("GeneratorTab", "Modulation:"))
        self.btnSend.setText(_translate("GeneratorTab", "Send data..."))
        self.btnEditModulation.setText(_translate("GeneratorTab", "Edit ..."))
        self.prBarGeneration.setFormat(
            _translate("GeneratorTab", "Modulating %p%"))
        self.btnGenerate.setToolTip(
            _translate(
                "GeneratorTab",
                "Generate the complex file of the modulated signal, after tuning all parameters above."
            ))
        self.btnGenerate.setText(_translate("GeneratorTab",
                                            "Generate file..."))
        self.lEstimatedTime.setToolTip(
            _translate(
                "GeneratorTab",
                "<html><head/><body><p>The estimated average time is based on the average number of bits per block and average sample rate, you set for the modulations.</p></body></html>"
            ))
        self.lEstimatedTime.setText(
            _translate("GeneratorTab", "Estimated Time: "))
        self.lViewType.setText(_translate("GeneratorTab", "Viewtype:"))
        self.cbViewType.setItemText(0, _translate("GeneratorTab", "Bit"))
        self.cbViewType.setItemText(1, _translate("GeneratorTab", "Hex"))
        self.cbViewType.setItemText(2, _translate("GeneratorTab", "ASCII"))
        self.label_3.setText(_translate("GeneratorTab", "Generated data"))
Esempio n. 6
0
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", "..."))