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