def setupUi(self, SignalFrame): SignalFrame.setObjectName("SignalFrame") SignalFrame.resize(1057, 539) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(SignalFrame.sizePolicy().hasHeightForWidth()) SignalFrame.setSizePolicy(sizePolicy) SignalFrame.setMinimumSize(QtCore.QSize(0, 0)) SignalFrame.setMaximumSize(QtCore.QSize(16777215, 16777215)) SignalFrame.setSizeIncrement(QtCore.QSize(0, 0)) SignalFrame.setBaseSize(QtCore.QSize(0, 0)) SignalFrame.setMouseTracking(False) SignalFrame.setAcceptDrops(True) SignalFrame.setAutoFillBackground(False) SignalFrame.setStyleSheet("") SignalFrame.setFrameShape(QtWidgets.QFrame.NoFrame) SignalFrame.setFrameShadow(QtWidgets.QFrame.Raised) SignalFrame.setLineWidth(1) self.horizontalLayout = QtWidgets.QHBoxLayout(SignalFrame) self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.gridLayout_2.setObjectName("gridLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_2.addItem(spacerItem, 12, 0, 1, 1) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setSpacing(7) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.cbModulationType = QtWidgets.QComboBox(SignalFrame) self.cbModulationType.setObjectName("cbModulationType") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.horizontalLayout_5.addWidget(self.cbModulationType) self.btnAdvancedModulationSettings = QtWidgets.QToolButton(SignalFrame) icon = QtGui.QIcon.fromTheme("configure") self.btnAdvancedModulationSettings.setIcon(icon) self.btnAdvancedModulationSettings.setIconSize(QtCore.QSize(16, 16)) self.btnAdvancedModulationSettings.setObjectName("btnAdvancedModulationSettings") self.horizontalLayout_5.addWidget(self.btnAdvancedModulationSettings) self.gridLayout_2.addLayout(self.horizontalLayout_5, 9, 1, 1, 1) self.labelModulation = QtWidgets.QLabel(SignalFrame) self.labelModulation.setObjectName("labelModulation") self.gridLayout_2.addWidget(self.labelModulation, 9, 0, 1, 1) self.chkBoxSyncSelection = QtWidgets.QCheckBox(SignalFrame) self.chkBoxSyncSelection.setChecked(True) self.chkBoxSyncSelection.setObjectName("chkBoxSyncSelection") self.gridLayout_2.addWidget(self.chkBoxSyncSelection, 22, 0, 1, 1) self.sliderSpectrogramMin = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMin.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMin.setSizePolicy(sizePolicy) self.sliderSpectrogramMin.setMinimum(-150) self.sliderSpectrogramMin.setMaximum(10) self.sliderSpectrogramMin.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMin.setObjectName("sliderSpectrogramMin") self.gridLayout_2.addWidget(self.sliderSpectrogramMin, 19, 1, 1, 1) self.spinBoxNoiseTreshold = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxNoiseTreshold.setDecimals(4) self.spinBoxNoiseTreshold.setMaximum(1.0) self.spinBoxNoiseTreshold.setSingleStep(0.0001) self.spinBoxNoiseTreshold.setObjectName("spinBoxNoiseTreshold") self.gridLayout_2.addWidget(self.spinBoxNoiseTreshold, 2, 1, 1, 1) self.chkBoxShowProtocol = QtWidgets.QCheckBox(SignalFrame) self.chkBoxShowProtocol.setObjectName("chkBoxShowProtocol") self.gridLayout_2.addWidget(self.chkBoxShowProtocol, 21, 0, 1, 1) self.labelNoise = QtWidgets.QLabel(SignalFrame) self.labelNoise.setObjectName("labelNoise") self.gridLayout_2.addWidget(self.labelNoise, 2, 0, 1, 1) self.lineEditSignalName = QtWidgets.QLineEdit(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEditSignalName.sizePolicy().hasHeightForWidth()) self.lineEditSignalName.setSizePolicy(sizePolicy) self.lineEditSignalName.setMinimumSize(QtCore.QSize(214, 0)) self.lineEditSignalName.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lineEditSignalName.setAcceptDrops(False) self.lineEditSignalName.setObjectName("lineEditSignalName") self.gridLayout_2.addWidget(self.lineEditSignalName, 1, 0, 1, 2) self.cbProtoView = QtWidgets.QComboBox(SignalFrame) self.cbProtoView.setObjectName("cbProtoView") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.gridLayout_2.addWidget(self.cbProtoView, 21, 1, 1, 1) self.lInfoLenText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lInfoLenText.sizePolicy().hasHeightForWidth()) self.lInfoLenText.setSizePolicy(sizePolicy) self.lInfoLenText.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse) self.lInfoLenText.setObjectName("lInfoLenText") self.gridLayout_2.addWidget(self.lInfoLenText, 4, 0, 1, 1) self.spinBoxInfoLen = QtWidgets.QSpinBox(SignalFrame) self.spinBoxInfoLen.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxInfoLen.setMinimum(1) self.spinBoxInfoLen.setMaximum(999999999) self.spinBoxInfoLen.setObjectName("spinBoxInfoLen") self.gridLayout_2.addWidget(self.spinBoxInfoLen, 4, 1, 1, 1) self.spinBoxTolerance = QtWidgets.QSpinBox(SignalFrame) self.spinBoxTolerance.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxTolerance.setMaximum(9999) self.spinBoxTolerance.setObjectName("spinBoxTolerance") self.gridLayout_2.addWidget(self.spinBoxTolerance, 7, 1, 1, 1) self.lErrorTolerance = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lErrorTolerance.sizePolicy().hasHeightForWidth()) self.lErrorTolerance.setSizePolicy(sizePolicy) self.lErrorTolerance.setMinimumSize(QtCore.QSize(0, 0)) self.lErrorTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lErrorTolerance.setObjectName("lErrorTolerance") self.gridLayout_2.addWidget(self.lErrorTolerance, 7, 0, 1, 1) self.lSignalViewText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalViewText.sizePolicy().hasHeightForWidth()) self.lSignalViewText.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setUnderline(False) self.lSignalViewText.setFont(font) self.lSignalViewText.setObjectName("lSignalViewText") self.gridLayout_2.addWidget(self.lSignalViewText, 15, 0, 1, 1) self.line = QtWidgets.QFrame(SignalFrame) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.gridLayout_2.addWidget(self.line, 13, 0, 1, 2) self.lCenterOffset = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lCenterOffset.sizePolicy().hasHeightForWidth()) self.lCenterOffset.setSizePolicy(sizePolicy) self.lCenterOffset.setMinimumSize(QtCore.QSize(0, 0)) self.lCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lCenterOffset.setWhatsThis("") self.lCenterOffset.setObjectName("lCenterOffset") self.gridLayout_2.addWidget(self.lCenterOffset, 3, 0, 1, 1) self.spinBoxCenterOffset = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxCenterOffset.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxCenterOffset.setDecimals(4) self.spinBoxCenterOffset.setMinimum(-3.15) self.spinBoxCenterOffset.setMaximum(6.28) self.spinBoxCenterOffset.setSingleStep(0.0001) self.spinBoxCenterOffset.setObjectName("spinBoxCenterOffset") self.gridLayout_2.addWidget(self.spinBoxCenterOffset, 3, 1, 1, 1) self.cbSignalView = QtWidgets.QComboBox(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.cbSignalView.sizePolicy().hasHeightForWidth()) self.cbSignalView.setSizePolicy(sizePolicy) self.cbSignalView.setObjectName("cbSignalView") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.gridLayout_2.addWidget(self.cbSignalView, 15, 1, 1, 1) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.btnSaveSignal = QtWidgets.QToolButton(SignalFrame) self.btnSaveSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnSaveSignal.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("document-save") self.btnSaveSignal.setIcon(icon) self.btnSaveSignal.setObjectName("btnSaveSignal") self.gridLayout.addWidget(self.btnSaveSignal, 0, 3, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1) self.btnCloseSignal = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnCloseSignal.sizePolicy().hasHeightForWidth()) self.btnCloseSignal.setSizePolicy(sizePolicy) self.btnCloseSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setMaximumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setStyleSheet("color:red;") icon = QtGui.QIcon.fromTheme("window-close") self.btnCloseSignal.setIcon(icon) self.btnCloseSignal.setObjectName("btnCloseSignal") self.gridLayout.addWidget(self.btnCloseSignal, 0, 9, 1, 1) self.lSignalTyp = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalTyp.sizePolicy().hasHeightForWidth()) self.lSignalTyp.setSizePolicy(sizePolicy) self.lSignalTyp.setObjectName("lSignalTyp") self.gridLayout.addWidget(self.lSignalTyp, 0, 1, 1, 1) self.lSignalNr = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalNr.sizePolicy().hasHeightForWidth()) self.lSignalNr.setSizePolicy(sizePolicy) self.lSignalNr.setWordWrap(False) self.lSignalNr.setIndent(-1) self.lSignalNr.setObjectName("lSignalNr") self.gridLayout.addWidget(self.lSignalNr, 0, 0, 1, 1) self.btnInfo = QtWidgets.QToolButton(SignalFrame) self.btnInfo.setMinimumSize(QtCore.QSize(24, 24)) self.btnInfo.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("dialog-information") self.btnInfo.setIcon(icon) self.btnInfo.setObjectName("btnInfo") self.gridLayout.addWidget(self.btnInfo, 0, 6, 1, 1) self.btnReplay = QtWidgets.QToolButton(SignalFrame) self.btnReplay.setMinimumSize(QtCore.QSize(24, 24)) self.btnReplay.setMaximumSize(QtCore.QSize(24, 24)) self.btnReplay.setText("") icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnReplay.setIcon(icon) self.btnReplay.setObjectName("btnReplay") self.gridLayout.addWidget(self.btnReplay, 0, 5, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 2) self.labelFFTWindowSize = QtWidgets.QLabel(SignalFrame) self.labelFFTWindowSize.setObjectName("labelFFTWindowSize") self.gridLayout_2.addWidget(self.labelFFTWindowSize, 18, 0, 1, 1) self.sliderFFTWindowSize = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderFFTWindowSize.sizePolicy().hasHeightForWidth()) self.sliderFFTWindowSize.setSizePolicy(sizePolicy) self.sliderFFTWindowSize.setMinimum(6) self.sliderFFTWindowSize.setMaximum(15) self.sliderFFTWindowSize.setOrientation(QtCore.Qt.Horizontal) self.sliderFFTWindowSize.setObjectName("sliderFFTWindowSize") self.gridLayout_2.addWidget(self.sliderFFTWindowSize, 18, 1, 1, 1) self.sliderSpectrogramMax = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMax.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMax.setSizePolicy(sizePolicy) self.sliderSpectrogramMax.setMinimum(-150) self.sliderSpectrogramMax.setMaximum(10) self.sliderSpectrogramMax.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMax.setObjectName("sliderSpectrogramMax") self.gridLayout_2.addWidget(self.sliderSpectrogramMax, 20, 1, 1, 1) self.labelSpectrogramMin = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMin.setObjectName("labelSpectrogramMin") self.gridLayout_2.addWidget(self.labelSpectrogramMin, 19, 0, 1, 1) self.labelSpectrogramMax = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMax.setObjectName("labelSpectrogramMax") self.gridLayout_2.addWidget(self.labelSpectrogramMax, 20, 0, 1, 1) self.btnAutoDetect = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnAutoDetect.sizePolicy().hasHeightForWidth()) self.btnAutoDetect.setSizePolicy(sizePolicy) self.btnAutoDetect.setIconSize(QtCore.QSize(16, 16)) self.btnAutoDetect.setCheckable(False) self.btnAutoDetect.setChecked(False) self.btnAutoDetect.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnAutoDetect.setArrowType(QtCore.Qt.NoArrow) self.btnAutoDetect.setObjectName("btnAutoDetect") self.gridLayout_2.addWidget(self.btnAutoDetect, 11, 0, 1, 2) self.horizontalLayout.addLayout(self.gridLayout_2) self.splitter = QtWidgets.QSplitter(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth()) self.splitter.setSizePolicy(sizePolicy) 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.setFrameShape(QtWidgets.QFrame.NoFrame) self.splitter.setLineWidth(1) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setChildrenCollapsible(False) self.splitter.setObjectName("splitter") self.layoutWidget = QtWidgets.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget) self.stackedWidget.setLineWidth(0) self.stackedWidget.setObjectName("stackedWidget") self.pageSignal = QtWidgets.QWidget() self.pageSignal.setObjectName("pageSignal") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.pageSignal) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gvLegend = LegendGraphicView(self.pageSignal) self.gvLegend.setMinimumSize(QtCore.QSize(0, 150)) self.gvLegend.setMaximumSize(QtCore.QSize(30, 16777215)) self.gvLegend.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvLegend.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvLegend.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvLegend.setInteractive(False) self.gvLegend.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter) self.gvLegend.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvLegend.setOptimizationFlags(QtWidgets.QGraphicsView.DontSavePainterState) self.gvLegend.setObjectName("gvLegend") self.horizontalLayout_6.addWidget(self.gvLegend) self.gvSignal = EpicGraphicView(self.pageSignal) self.gvSignal.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSignal.sizePolicy().hasHeightForWidth()) self.gvSignal.setSizePolicy(sizePolicy) self.gvSignal.setMinimumSize(QtCore.QSize(0, 150)) self.gvSignal.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.gvSignal.setMouseTracking(True) self.gvSignal.setFocusPolicy(QtCore.Qt.WheelFocus) self.gvSignal.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.gvSignal.setAutoFillBackground(False) self.gvSignal.setStyleSheet("") self.gvSignal.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSignal.setFrameShadow(QtWidgets.QFrame.Raised) self.gvSignal.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvSignal.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvSignal.setInteractive(False) self.gvSignal.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing) self.gvSignal.setDragMode(QtWidgets.QGraphicsView.NoDrag) self.gvSignal.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSignal.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSignal.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvSignal.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSignal.setObjectName("gvSignal") self.horizontalLayout_6.addWidget(self.gvSignal) self.stackedWidget.addWidget(self.pageSignal) self.pageSpectrogram = QtWidgets.QWidget() self.pageSpectrogram.setObjectName("pageSpectrogram") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageSpectrogram) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gvSpectrogram = SpectrogramGraphicView(self.pageSpectrogram) self.gvSpectrogram.setMouseTracking(True) self.gvSpectrogram.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSpectrogram.setInteractive(False) self.gvSpectrogram.setRenderHints(QtGui.QPainter.TextAntialiasing) self.gvSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSpectrogram.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSpectrogram.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSpectrogram.setObjectName("gvSpectrogram") self.horizontalLayout_4.addWidget(self.gvSpectrogram) self.stackedWidget.addWidget(self.pageSpectrogram) self.pageLoading = QtWidgets.QWidget() self.pageLoading.setObjectName("pageLoading") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pageLoading) self.verticalLayout_2.setObjectName("verticalLayout_2") self.labelLoadingAutoInterpretation = QtWidgets.QLabel(self.pageLoading) font = QtGui.QFont() font.setPointSize(12) self.labelLoadingAutoInterpretation.setFont(font) self.labelLoadingAutoInterpretation.setWordWrap(True) self.labelLoadingAutoInterpretation.setObjectName("labelLoadingAutoInterpretation") self.verticalLayout_2.addWidget(self.labelLoadingAutoInterpretation) self.stackedWidget.addWidget(self.pageLoading) self.horizontalLayout_2.addWidget(self.stackedWidget) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.lYScale = QtWidgets.QLabel(self.layoutWidget) self.lYScale.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.lYScale.setObjectName("lYScale") self.verticalLayout_5.addWidget(self.lYScale) self.sliderYScale = QtWidgets.QSlider(self.layoutWidget) self.sliderYScale.setMinimum(1) self.sliderYScale.setMaximum(100) self.sliderYScale.setOrientation(QtCore.Qt.Vertical) self.sliderYScale.setTickPosition(QtWidgets.QSlider.TicksBelow) self.sliderYScale.setObjectName("sliderYScale") self.verticalLayout_5.addWidget(self.sliderYScale) self.horizontalLayout_2.addLayout(self.verticalLayout_5) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.btnShowHideStartEnd = QtWidgets.QToolButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnShowHideStartEnd.sizePolicy().hasHeightForWidth()) self.btnShowHideStartEnd.setSizePolicy(sizePolicy) self.btnShowHideStartEnd.setAutoFillBackground(False) self.btnShowHideStartEnd.setStyleSheet("") icon = QtGui.QIcon.fromTheme("arrow-down-double") self.btnShowHideStartEnd.setIcon(icon) self.btnShowHideStartEnd.setCheckable(True) self.btnShowHideStartEnd.setObjectName("btnShowHideStartEnd") self.horizontalLayout_3.addWidget(self.btnShowHideStartEnd) self.lNumSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lNumSelectedSamples.setObjectName("lNumSelectedSamples") self.horizontalLayout_3.addWidget(self.lNumSelectedSamples) self.lTextSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lTextSelectedSamples.setObjectName("lTextSelectedSamples") self.horizontalLayout_3.addWidget(self.lTextSelectedSamples) self.line_3 = QtWidgets.QFrame(self.layoutWidget) self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.horizontalLayout_3.addWidget(self.line_3) self.lDuration = QtWidgets.QLabel(self.layoutWidget) self.lDuration.setToolTip("") self.lDuration.setObjectName("lDuration") self.horizontalLayout_3.addWidget(self.lDuration) self.line_2 = QtWidgets.QFrame(self.layoutWidget) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_3.addWidget(self.line_2) self.labelRSSI = QtWidgets.QLabel(self.layoutWidget) self.labelRSSI.setObjectName("labelRSSI") self.horizontalLayout_3.addWidget(self.labelRSSI) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.btnFilter = QtWidgets.QToolButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("view-filter") self.btnFilter.setIcon(icon) self.btnFilter.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnFilter.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.btnFilter.setArrowType(QtCore.Qt.NoArrow) self.btnFilter.setObjectName("btnFilter") self.horizontalLayout_3.addWidget(self.btnFilter) self.verticalLayout.addLayout(self.horizontalLayout_3) self.additionalInfos = QtWidgets.QHBoxLayout() self.additionalInfos.setSpacing(6) self.additionalInfos.setObjectName("additionalInfos") self.lStart = QtWidgets.QLabel(self.layoutWidget) self.lStart.setObjectName("lStart") self.additionalInfos.addWidget(self.lStart) self.spinBoxSelectionStart = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionStart.setReadOnly(False) self.spinBoxSelectionStart.setMaximum(99999999) self.spinBoxSelectionStart.setObjectName("spinBoxSelectionStart") self.additionalInfos.addWidget(self.spinBoxSelectionStart) self.lEnd = QtWidgets.QLabel(self.layoutWidget) self.lEnd.setObjectName("lEnd") self.additionalInfos.addWidget(self.lEnd) self.spinBoxSelectionEnd = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionEnd.setMaximum(99999999) self.spinBoxSelectionEnd.setObjectName("spinBoxSelectionEnd") self.additionalInfos.addWidget(self.spinBoxSelectionEnd) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem3) self.lZoomText = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lZoomText.sizePolicy().hasHeightForWidth()) self.lZoomText.setSizePolicy(sizePolicy) self.lZoomText.setMinimumSize(QtCore.QSize(0, 0)) self.lZoomText.setMaximumSize(QtCore.QSize(16777215, 16777215)) font = QtGui.QFont() font.setItalic(False) font.setUnderline(False) self.lZoomText.setFont(font) self.lZoomText.setTextFormat(QtCore.Qt.PlainText) self.lZoomText.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lZoomText.setObjectName("lZoomText") self.additionalInfos.addWidget(self.lZoomText) self.spinBoxXZoom = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxXZoom.setMinimum(100) self.spinBoxXZoom.setMaximum(999999999) self.spinBoxXZoom.setObjectName("spinBoxXZoom") self.additionalInfos.addWidget(self.spinBoxXZoom) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem4) self.lSamplesInView = QtWidgets.QLabel(self.layoutWidget) self.lSamplesInView.setObjectName("lSamplesInView") self.additionalInfos.addWidget(self.lSamplesInView) self.lStrich = QtWidgets.QLabel(self.layoutWidget) self.lStrich.setObjectName("lStrich") self.additionalInfos.addWidget(self.lStrich) self.lSamplesTotal = QtWidgets.QLabel(self.layoutWidget) self.lSamplesTotal.setObjectName("lSamplesTotal") self.additionalInfos.addWidget(self.lSamplesTotal) self.lSamplesViewText = QtWidgets.QLabel(self.layoutWidget) self.lSamplesViewText.setObjectName("lSamplesViewText") self.additionalInfos.addWidget(self.lSamplesViewText) self.verticalLayout.addLayout(self.additionalInfos) self.txtEdProto = TextEditProtocolView(self.splitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.txtEdProto.sizePolicy().hasHeightForWidth()) self.txtEdProto.setSizePolicy(sizePolicy) self.txtEdProto.setMinimumSize(QtCore.QSize(0, 80)) self.txtEdProto.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.txtEdProto.setBaseSize(QtCore.QSize(0, 0)) self.txtEdProto.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.txtEdProto.setAcceptDrops(False) self.txtEdProto.setObjectName("txtEdProto") self.horizontalLayout.addWidget(self.splitter) self.retranslateUi(SignalFrame) self.stackedWidget.setCurrentIndex(0) SignalFrame.setTabOrder(self.btnSaveSignal, self.btnInfo) SignalFrame.setTabOrder(self.btnInfo, self.btnCloseSignal) SignalFrame.setTabOrder(self.btnCloseSignal, self.lineEditSignalName) SignalFrame.setTabOrder(self.lineEditSignalName, self.spinBoxNoiseTreshold) SignalFrame.setTabOrder(self.spinBoxNoiseTreshold, self.spinBoxCenterOffset) SignalFrame.setTabOrder(self.spinBoxCenterOffset, self.spinBoxInfoLen) SignalFrame.setTabOrder(self.spinBoxInfoLen, self.spinBoxTolerance) SignalFrame.setTabOrder(self.spinBoxTolerance, self.chkBoxShowProtocol) SignalFrame.setTabOrder(self.chkBoxShowProtocol, self.cbProtoView) SignalFrame.setTabOrder(self.cbProtoView, self.chkBoxSyncSelection) SignalFrame.setTabOrder(self.chkBoxSyncSelection, self.txtEdProto) SignalFrame.setTabOrder(self.txtEdProto, self.btnShowHideStartEnd) SignalFrame.setTabOrder(self.btnShowHideStartEnd, self.spinBoxSelectionStart) SignalFrame.setTabOrder(self.spinBoxSelectionStart, self.spinBoxSelectionEnd)
def setupUi(self, SignalFrame): SignalFrame.setObjectName("SignalFrame") SignalFrame.resize(1057, 539) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(SignalFrame.sizePolicy().hasHeightForWidth()) SignalFrame.setSizePolicy(sizePolicy) SignalFrame.setMinimumSize(QtCore.QSize(0, 0)) SignalFrame.setMaximumSize(QtCore.QSize(16777215, 16777215)) SignalFrame.setSizeIncrement(QtCore.QSize(0, 0)) SignalFrame.setBaseSize(QtCore.QSize(0, 0)) SignalFrame.setMouseTracking(False) SignalFrame.setAcceptDrops(True) SignalFrame.setAutoFillBackground(False) SignalFrame.setStyleSheet("") SignalFrame.setFrameShape(QtWidgets.QFrame.NoFrame) SignalFrame.setFrameShadow(QtWidgets.QFrame.Raised) SignalFrame.setLineWidth(1) self.horizontalLayout = QtWidgets.QHBoxLayout(SignalFrame) self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.gridLayout_2.setObjectName("gridLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_2.addItem(spacerItem, 12, 0, 1, 1) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setSpacing(7) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.cbModulationType = QtWidgets.QComboBox(SignalFrame) self.cbModulationType.setObjectName("cbModulationType") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.horizontalLayout_5.addWidget(self.cbModulationType) self.btnAdvancedModulationSettings = QtWidgets.QToolButton(SignalFrame) icon = QtGui.QIcon.fromTheme("configure") self.btnAdvancedModulationSettings.setIcon(icon) self.btnAdvancedModulationSettings.setIconSize(QtCore.QSize(16, 16)) self.btnAdvancedModulationSettings.setObjectName("btnAdvancedModulationSettings") self.horizontalLayout_5.addWidget(self.btnAdvancedModulationSettings) self.gridLayout_2.addLayout(self.horizontalLayout_5, 9, 1, 1, 1) self.labelModulation = QtWidgets.QLabel(SignalFrame) self.labelModulation.setObjectName("labelModulation") self.gridLayout_2.addWidget(self.labelModulation, 9, 0, 1, 1) self.chkBoxSyncSelection = QtWidgets.QCheckBox(SignalFrame) self.chkBoxSyncSelection.setChecked(True) self.chkBoxSyncSelection.setObjectName("chkBoxSyncSelection") self.gridLayout_2.addWidget(self.chkBoxSyncSelection, 22, 0, 1, 1) self.sliderSpectrogramMin = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMin.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMin.setSizePolicy(sizePolicy) self.sliderSpectrogramMin.setMinimum(-150) self.sliderSpectrogramMin.setMaximum(10) self.sliderSpectrogramMin.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMin.setObjectName("sliderSpectrogramMin") self.gridLayout_2.addWidget(self.sliderSpectrogramMin, 19, 1, 1, 1) self.spinBoxNoiseTreshold = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxNoiseTreshold.setDecimals(4) self.spinBoxNoiseTreshold.setMaximum(1.0) self.spinBoxNoiseTreshold.setSingleStep(0.0001) self.spinBoxNoiseTreshold.setObjectName("spinBoxNoiseTreshold") self.gridLayout_2.addWidget(self.spinBoxNoiseTreshold, 2, 1, 1, 1) self.chkBoxShowProtocol = QtWidgets.QCheckBox(SignalFrame) self.chkBoxShowProtocol.setObjectName("chkBoxShowProtocol") self.gridLayout_2.addWidget(self.chkBoxShowProtocol, 21, 0, 1, 1) self.labelNoise = QtWidgets.QLabel(SignalFrame) self.labelNoise.setObjectName("labelNoise") self.gridLayout_2.addWidget(self.labelNoise, 2, 0, 1, 1) self.lineEditSignalName = QtWidgets.QLineEdit(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEditSignalName.sizePolicy().hasHeightForWidth()) self.lineEditSignalName.setSizePolicy(sizePolicy) self.lineEditSignalName.setMinimumSize(QtCore.QSize(214, 0)) self.lineEditSignalName.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lineEditSignalName.setAcceptDrops(False) self.lineEditSignalName.setObjectName("lineEditSignalName") self.gridLayout_2.addWidget(self.lineEditSignalName, 1, 0, 1, 2) self.cbProtoView = QtWidgets.QComboBox(SignalFrame) self.cbProtoView.setObjectName("cbProtoView") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.gridLayout_2.addWidget(self.cbProtoView, 21, 1, 1, 1) self.lInfoLenText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lInfoLenText.sizePolicy().hasHeightForWidth()) self.lInfoLenText.setSizePolicy(sizePolicy) self.lInfoLenText.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse) self.lInfoLenText.setObjectName("lInfoLenText") self.gridLayout_2.addWidget(self.lInfoLenText, 4, 0, 1, 1) self.spinBoxInfoLen = QtWidgets.QSpinBox(SignalFrame) self.spinBoxInfoLen.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxInfoLen.setMinimum(1) self.spinBoxInfoLen.setMaximum(999999999) self.spinBoxInfoLen.setObjectName("spinBoxInfoLen") self.gridLayout_2.addWidget(self.spinBoxInfoLen, 4, 1, 1, 1) self.spinBoxTolerance = QtWidgets.QSpinBox(SignalFrame) self.spinBoxTolerance.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxTolerance.setMaximum(9999) self.spinBoxTolerance.setObjectName("spinBoxTolerance") self.gridLayout_2.addWidget(self.spinBoxTolerance, 7, 1, 1, 1) self.lErrorTolerance = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lErrorTolerance.sizePolicy().hasHeightForWidth()) self.lErrorTolerance.setSizePolicy(sizePolicy) self.lErrorTolerance.setMinimumSize(QtCore.QSize(0, 0)) self.lErrorTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lErrorTolerance.setObjectName("lErrorTolerance") self.gridLayout_2.addWidget(self.lErrorTolerance, 7, 0, 1, 1) self.lSignalViewText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalViewText.sizePolicy().hasHeightForWidth()) self.lSignalViewText.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setUnderline(False) self.lSignalViewText.setFont(font) self.lSignalViewText.setObjectName("lSignalViewText") self.gridLayout_2.addWidget(self.lSignalViewText, 15, 0, 1, 1) self.line = QtWidgets.QFrame(SignalFrame) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.gridLayout_2.addWidget(self.line, 13, 0, 1, 2) self.lCenterOffset = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lCenterOffset.sizePolicy().hasHeightForWidth()) self.lCenterOffset.setSizePolicy(sizePolicy) self.lCenterOffset.setMinimumSize(QtCore.QSize(0, 0)) self.lCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lCenterOffset.setWhatsThis("") self.lCenterOffset.setObjectName("lCenterOffset") self.gridLayout_2.addWidget(self.lCenterOffset, 3, 0, 1, 1) self.spinBoxCenterOffset = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxCenterOffset.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxCenterOffset.setDecimals(4) self.spinBoxCenterOffset.setMinimum(-3.15) self.spinBoxCenterOffset.setMaximum(6.28) self.spinBoxCenterOffset.setSingleStep(0.0001) self.spinBoxCenterOffset.setObjectName("spinBoxCenterOffset") self.gridLayout_2.addWidget(self.spinBoxCenterOffset, 3, 1, 1, 1) self.cbSignalView = QtWidgets.QComboBox(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.cbSignalView.sizePolicy().hasHeightForWidth()) self.cbSignalView.setSizePolicy(sizePolicy) self.cbSignalView.setObjectName("cbSignalView") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.gridLayout_2.addWidget(self.cbSignalView, 15, 1, 1, 1) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.btnSaveSignal = QtWidgets.QToolButton(SignalFrame) self.btnSaveSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnSaveSignal.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("document-save") self.btnSaveSignal.setIcon(icon) self.btnSaveSignal.setObjectName("btnSaveSignal") self.gridLayout.addWidget(self.btnSaveSignal, 0, 3, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1) self.btnCloseSignal = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnCloseSignal.sizePolicy().hasHeightForWidth()) self.btnCloseSignal.setSizePolicy(sizePolicy) self.btnCloseSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setMaximumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setStyleSheet("color:red;") icon = QtGui.QIcon.fromTheme("window-close") self.btnCloseSignal.setIcon(icon) self.btnCloseSignal.setObjectName("btnCloseSignal") self.gridLayout.addWidget(self.btnCloseSignal, 0, 9, 1, 1) self.lSignalTyp = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalTyp.sizePolicy().hasHeightForWidth()) self.lSignalTyp.setSizePolicy(sizePolicy) self.lSignalTyp.setObjectName("lSignalTyp") self.gridLayout.addWidget(self.lSignalTyp, 0, 1, 1, 1) self.lSignalNr = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalNr.sizePolicy().hasHeightForWidth()) self.lSignalNr.setSizePolicy(sizePolicy) self.lSignalNr.setWordWrap(False) self.lSignalNr.setIndent(-1) self.lSignalNr.setObjectName("lSignalNr") self.gridLayout.addWidget(self.lSignalNr, 0, 0, 1, 1) self.btnInfo = QtWidgets.QToolButton(SignalFrame) self.btnInfo.setMinimumSize(QtCore.QSize(24, 24)) self.btnInfo.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("dialog-information") self.btnInfo.setIcon(icon) self.btnInfo.setObjectName("btnInfo") self.gridLayout.addWidget(self.btnInfo, 0, 6, 1, 1) self.btnReplay = QtWidgets.QToolButton(SignalFrame) self.btnReplay.setMinimumSize(QtCore.QSize(24, 24)) self.btnReplay.setMaximumSize(QtCore.QSize(24, 24)) self.btnReplay.setText("") icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnReplay.setIcon(icon) self.btnReplay.setObjectName("btnReplay") self.gridLayout.addWidget(self.btnReplay, 0, 5, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 2) self.labelFFTWindowSize = QtWidgets.QLabel(SignalFrame) self.labelFFTWindowSize.setObjectName("labelFFTWindowSize") self.gridLayout_2.addWidget(self.labelFFTWindowSize, 18, 0, 1, 1) self.sliderFFTWindowSize = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderFFTWindowSize.sizePolicy().hasHeightForWidth()) self.sliderFFTWindowSize.setSizePolicy(sizePolicy) self.sliderFFTWindowSize.setMinimum(6) self.sliderFFTWindowSize.setMaximum(15) self.sliderFFTWindowSize.setOrientation(QtCore.Qt.Horizontal) self.sliderFFTWindowSize.setObjectName("sliderFFTWindowSize") self.gridLayout_2.addWidget(self.sliderFFTWindowSize, 18, 1, 1, 1) self.sliderSpectrogramMax = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMax.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMax.setSizePolicy(sizePolicy) self.sliderSpectrogramMax.setMinimum(-150) self.sliderSpectrogramMax.setMaximum(10) self.sliderSpectrogramMax.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMax.setObjectName("sliderSpectrogramMax") self.gridLayout_2.addWidget(self.sliderSpectrogramMax, 20, 1, 1, 1) self.labelSpectrogramMin = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMin.setObjectName("labelSpectrogramMin") self.gridLayout_2.addWidget(self.labelSpectrogramMin, 19, 0, 1, 1) self.labelSpectrogramMax = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMax.setObjectName("labelSpectrogramMax") self.gridLayout_2.addWidget(self.labelSpectrogramMax, 20, 0, 1, 1) self.btnAutoDetect = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnAutoDetect.sizePolicy().hasHeightForWidth()) self.btnAutoDetect.setSizePolicy(sizePolicy) self.btnAutoDetect.setIconSize(QtCore.QSize(16, 16)) self.btnAutoDetect.setCheckable(False) self.btnAutoDetect.setChecked(False) self.btnAutoDetect.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnAutoDetect.setArrowType(QtCore.Qt.NoArrow) self.btnAutoDetect.setObjectName("btnAutoDetect") self.gridLayout_2.addWidget(self.btnAutoDetect, 11, 0, 1, 2) self.horizontalLayout.addLayout(self.gridLayout_2) self.splitter = QtWidgets.QSplitter(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth()) self.splitter.setSizePolicy(sizePolicy) 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.setFrameShape(QtWidgets.QFrame.NoFrame) self.splitter.setLineWidth(1) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setChildrenCollapsible(False) self.splitter.setObjectName("splitter") self.layoutWidget = QtWidgets.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget) self.stackedWidget.setLineWidth(0) self.stackedWidget.setObjectName("stackedWidget") self.pageSignal = QtWidgets.QWidget() self.pageSignal.setObjectName("pageSignal") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.pageSignal) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gvLegend = LegendGraphicView(self.pageSignal) self.gvLegend.setMinimumSize(QtCore.QSize(0, 150)) self.gvLegend.setMaximumSize(QtCore.QSize(30, 16777215)) self.gvLegend.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvLegend.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvLegend.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvLegend.setInteractive(False) self.gvLegend.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter) self.gvLegend.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvLegend.setOptimizationFlags(QtWidgets.QGraphicsView.DontSavePainterState) self.gvLegend.setObjectName("gvLegend") self.horizontalLayout_6.addWidget(self.gvLegend) self.gvSignal = EpicGraphicView(self.pageSignal) self.gvSignal.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSignal.sizePolicy().hasHeightForWidth()) self.gvSignal.setSizePolicy(sizePolicy) self.gvSignal.setMinimumSize(QtCore.QSize(0, 150)) self.gvSignal.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.gvSignal.setMouseTracking(True) self.gvSignal.setFocusPolicy(QtCore.Qt.WheelFocus) self.gvSignal.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.gvSignal.setAutoFillBackground(False) self.gvSignal.setStyleSheet("") self.gvSignal.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSignal.setFrameShadow(QtWidgets.QFrame.Raised) self.gvSignal.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvSignal.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvSignal.setInteractive(False) self.gvSignal.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing) self.gvSignal.setDragMode(QtWidgets.QGraphicsView.NoDrag) self.gvSignal.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSignal.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSignal.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvSignal.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSignal.setObjectName("gvSignal") self.horizontalLayout_6.addWidget(self.gvSignal) self.stackedWidget.addWidget(self.pageSignal) self.pageSpectrogram = QtWidgets.QWidget() self.pageSpectrogram.setObjectName("pageSpectrogram") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageSpectrogram) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gvSpectrogram = SpectrogramGraphicView(self.pageSpectrogram) self.gvSpectrogram.setMouseTracking(True) self.gvSpectrogram.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSpectrogram.setInteractive(False) self.gvSpectrogram.setRenderHints(QtGui.QPainter.TextAntialiasing) self.gvSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSpectrogram.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSpectrogram.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSpectrogram.setObjectName("gvSpectrogram") self.horizontalLayout_4.addWidget(self.gvSpectrogram) self.stackedWidget.addWidget(self.pageSpectrogram) self.pageLoading = QtWidgets.QWidget() self.pageLoading.setObjectName("pageLoading") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pageLoading) self.verticalLayout_2.setObjectName("verticalLayout_2") self.labelLoadingAutoInterpretation = QtWidgets.QLabel(self.pageLoading) font = QtGui.QFont() font.setPointSize(12) self.labelLoadingAutoInterpretation.setFont(font) self.labelLoadingAutoInterpretation.setWordWrap(True) self.labelLoadingAutoInterpretation.setObjectName("labelLoadingAutoInterpretation") self.verticalLayout_2.addWidget(self.labelLoadingAutoInterpretation) self.stackedWidget.addWidget(self.pageLoading) self.horizontalLayout_2.addWidget(self.stackedWidget) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.lYScale = QtWidgets.QLabel(self.layoutWidget) self.lYScale.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.lYScale.setObjectName("lYScale") self.verticalLayout_5.addWidget(self.lYScale) self.sliderYScale = QtWidgets.QSlider(self.layoutWidget) self.sliderYScale.setMinimum(1) self.sliderYScale.setMaximum(100) self.sliderYScale.setOrientation(QtCore.Qt.Vertical) self.sliderYScale.setTickPosition(QtWidgets.QSlider.TicksBelow) self.sliderYScale.setObjectName("sliderYScale") self.verticalLayout_5.addWidget(self.sliderYScale) self.horizontalLayout_2.addLayout(self.verticalLayout_5) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.btnShowHideStartEnd = QtWidgets.QToolButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnShowHideStartEnd.sizePolicy().hasHeightForWidth()) self.btnShowHideStartEnd.setSizePolicy(sizePolicy) self.btnShowHideStartEnd.setAutoFillBackground(False) self.btnShowHideStartEnd.setStyleSheet("") icon = QtGui.QIcon.fromTheme("arrow-down-double") self.btnShowHideStartEnd.setIcon(icon) self.btnShowHideStartEnd.setCheckable(True) self.btnShowHideStartEnd.setObjectName("btnShowHideStartEnd") self.horizontalLayout_3.addWidget(self.btnShowHideStartEnd) self.lNumSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lNumSelectedSamples.setObjectName("lNumSelectedSamples") self.horizontalLayout_3.addWidget(self.lNumSelectedSamples) self.lTextSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lTextSelectedSamples.setObjectName("lTextSelectedSamples") self.horizontalLayout_3.addWidget(self.lTextSelectedSamples) self.line_3 = QtWidgets.QFrame(self.layoutWidget) self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.horizontalLayout_3.addWidget(self.line_3) self.lDuration = QtWidgets.QLabel(self.layoutWidget) self.lDuration.setToolTip("") self.lDuration.setObjectName("lDuration") self.horizontalLayout_3.addWidget(self.lDuration) self.line_2 = QtWidgets.QFrame(self.layoutWidget) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_3.addWidget(self.line_2) self.labelRSSI = QtWidgets.QLabel(self.layoutWidget) self.labelRSSI.setObjectName("labelRSSI") self.horizontalLayout_3.addWidget(self.labelRSSI) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.btnFilter = QtWidgets.QToolButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("view-filter") self.btnFilter.setIcon(icon) self.btnFilter.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnFilter.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.btnFilter.setArrowType(QtCore.Qt.NoArrow) self.btnFilter.setObjectName("btnFilter") self.horizontalLayout_3.addWidget(self.btnFilter) self.verticalLayout.addLayout(self.horizontalLayout_3) self.additionalInfos = QtWidgets.QHBoxLayout() self.additionalInfos.setSpacing(6) self.additionalInfos.setObjectName("additionalInfos") self.lStart = QtWidgets.QLabel(self.layoutWidget) self.lStart.setObjectName("lStart") self.additionalInfos.addWidget(self.lStart) self.spinBoxSelectionStart = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionStart.setReadOnly(False) self.spinBoxSelectionStart.setMaximum(99999999) self.spinBoxSelectionStart.setObjectName("spinBoxSelectionStart") self.additionalInfos.addWidget(self.spinBoxSelectionStart) self.lEnd = QtWidgets.QLabel(self.layoutWidget) self.lEnd.setObjectName("lEnd") self.additionalInfos.addWidget(self.lEnd) self.spinBoxSelectionEnd = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionEnd.setMaximum(99999999) self.spinBoxSelectionEnd.setObjectName("spinBoxSelectionEnd") self.additionalInfos.addWidget(self.spinBoxSelectionEnd) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem3) self.lZoomText = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lZoomText.sizePolicy().hasHeightForWidth()) self.lZoomText.setSizePolicy(sizePolicy) self.lZoomText.setMinimumSize(QtCore.QSize(0, 0)) self.lZoomText.setMaximumSize(QtCore.QSize(16777215, 16777215)) font = QtGui.QFont() font.setItalic(False) font.setUnderline(False) self.lZoomText.setFont(font) self.lZoomText.setTextFormat(QtCore.Qt.PlainText) self.lZoomText.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lZoomText.setObjectName("lZoomText") self.additionalInfos.addWidget(self.lZoomText) self.spinBoxXZoom = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxXZoom.setMinimum(100) self.spinBoxXZoom.setMaximum(999999999) self.spinBoxXZoom.setObjectName("spinBoxXZoom") self.additionalInfos.addWidget(self.spinBoxXZoom) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem4) self.lSamplesInView = QtWidgets.QLabel(self.layoutWidget) self.lSamplesInView.setObjectName("lSamplesInView") self.additionalInfos.addWidget(self.lSamplesInView) self.lStrich = QtWidgets.QLabel(self.layoutWidget) self.lStrich.setObjectName("lStrich") self.additionalInfos.addWidget(self.lStrich) self.lSamplesTotal = QtWidgets.QLabel(self.layoutWidget) self.lSamplesTotal.setObjectName("lSamplesTotal") self.additionalInfos.addWidget(self.lSamplesTotal) self.lSamplesViewText = QtWidgets.QLabel(self.layoutWidget) self.lSamplesViewText.setObjectName("lSamplesViewText") self.additionalInfos.addWidget(self.lSamplesViewText) self.verticalLayout.addLayout(self.additionalInfos) self.txtEdProto = TextEditProtocolView(self.splitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.txtEdProto.sizePolicy().hasHeightForWidth()) self.txtEdProto.setSizePolicy(sizePolicy) self.txtEdProto.setMinimumSize(QtCore.QSize(0, 80)) self.txtEdProto.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.txtEdProto.setBaseSize(QtCore.QSize(0, 0)) self.txtEdProto.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.txtEdProto.setAcceptDrops(False) self.txtEdProto.setObjectName("txtEdProto") self.horizontalLayout.addWidget(self.splitter) self.retranslateUi(SignalFrame) self.stackedWidget.setCurrentIndex(0) SignalFrame.setTabOrder(self.btnSaveSignal, self.btnInfo) SignalFrame.setTabOrder(self.btnInfo, self.btnCloseSignal) SignalFrame.setTabOrder(self.btnCloseSignal, self.lineEditSignalName) SignalFrame.setTabOrder(self.lineEditSignalName, self.spinBoxNoiseTreshold) SignalFrame.setTabOrder(self.spinBoxNoiseTreshold, self.spinBoxCenterOffset) SignalFrame.setTabOrder(self.spinBoxCenterOffset, self.spinBoxInfoLen) SignalFrame.setTabOrder(self.spinBoxInfoLen, self.spinBoxTolerance) SignalFrame.setTabOrder(self.spinBoxTolerance, self.chkBoxShowProtocol) SignalFrame.setTabOrder(self.chkBoxShowProtocol, self.cbProtoView) SignalFrame.setTabOrder(self.cbProtoView, self.chkBoxSyncSelection) SignalFrame.setTabOrder(self.chkBoxSyncSelection, self.txtEdProto) SignalFrame.setTabOrder(self.txtEdProto, self.btnShowHideStartEnd) SignalFrame.setTabOrder(self.btnShowHideStartEnd, self.spinBoxSelectionStart) SignalFrame.setTabOrder(self.spinBoxSelectionStart, self.spinBoxSelectionEnd)
class Ui_SignalFrame(object): def setupUi(self, SignalFrame): SignalFrame.setObjectName("SignalFrame") SignalFrame.resize(1057, 539) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(SignalFrame.sizePolicy().hasHeightForWidth()) SignalFrame.setSizePolicy(sizePolicy) SignalFrame.setMinimumSize(QtCore.QSize(0, 0)) SignalFrame.setMaximumSize(QtCore.QSize(16777215, 16777215)) SignalFrame.setSizeIncrement(QtCore.QSize(0, 0)) SignalFrame.setBaseSize(QtCore.QSize(0, 0)) SignalFrame.setMouseTracking(False) SignalFrame.setAcceptDrops(True) SignalFrame.setAutoFillBackground(False) SignalFrame.setStyleSheet("") SignalFrame.setFrameShape(QtWidgets.QFrame.NoFrame) SignalFrame.setFrameShadow(QtWidgets.QFrame.Raised) SignalFrame.setLineWidth(1) self.horizontalLayout = QtWidgets.QHBoxLayout(SignalFrame) self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.gridLayout_2.setObjectName("gridLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_2.addItem(spacerItem, 12, 0, 1, 1) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setSpacing(7) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.cbModulationType = QtWidgets.QComboBox(SignalFrame) self.cbModulationType.setObjectName("cbModulationType") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.horizontalLayout_5.addWidget(self.cbModulationType) self.btnAdvancedModulationSettings = QtWidgets.QToolButton(SignalFrame) icon = QtGui.QIcon.fromTheme("configure") self.btnAdvancedModulationSettings.setIcon(icon) self.btnAdvancedModulationSettings.setIconSize(QtCore.QSize(16, 16)) self.btnAdvancedModulationSettings.setObjectName("btnAdvancedModulationSettings") self.horizontalLayout_5.addWidget(self.btnAdvancedModulationSettings) self.gridLayout_2.addLayout(self.horizontalLayout_5, 9, 1, 1, 1) self.labelModulation = QtWidgets.QLabel(SignalFrame) self.labelModulation.setObjectName("labelModulation") self.gridLayout_2.addWidget(self.labelModulation, 9, 0, 1, 1) self.chkBoxSyncSelection = QtWidgets.QCheckBox(SignalFrame) self.chkBoxSyncSelection.setChecked(True) self.chkBoxSyncSelection.setObjectName("chkBoxSyncSelection") self.gridLayout_2.addWidget(self.chkBoxSyncSelection, 22, 0, 1, 1) self.sliderSpectrogramMin = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMin.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMin.setSizePolicy(sizePolicy) self.sliderSpectrogramMin.setMinimum(-150) self.sliderSpectrogramMin.setMaximum(10) self.sliderSpectrogramMin.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMin.setObjectName("sliderSpectrogramMin") self.gridLayout_2.addWidget(self.sliderSpectrogramMin, 19, 1, 1, 1) self.spinBoxNoiseTreshold = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxNoiseTreshold.setDecimals(4) self.spinBoxNoiseTreshold.setMaximum(1.0) self.spinBoxNoiseTreshold.setSingleStep(0.0001) self.spinBoxNoiseTreshold.setObjectName("spinBoxNoiseTreshold") self.gridLayout_2.addWidget(self.spinBoxNoiseTreshold, 2, 1, 1, 1) self.chkBoxShowProtocol = QtWidgets.QCheckBox(SignalFrame) self.chkBoxShowProtocol.setObjectName("chkBoxShowProtocol") self.gridLayout_2.addWidget(self.chkBoxShowProtocol, 21, 0, 1, 1) self.labelNoise = QtWidgets.QLabel(SignalFrame) self.labelNoise.setObjectName("labelNoise") self.gridLayout_2.addWidget(self.labelNoise, 2, 0, 1, 1) self.lineEditSignalName = QtWidgets.QLineEdit(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEditSignalName.sizePolicy().hasHeightForWidth()) self.lineEditSignalName.setSizePolicy(sizePolicy) self.lineEditSignalName.setMinimumSize(QtCore.QSize(214, 0)) self.lineEditSignalName.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lineEditSignalName.setAcceptDrops(False) self.lineEditSignalName.setObjectName("lineEditSignalName") self.gridLayout_2.addWidget(self.lineEditSignalName, 1, 0, 1, 2) self.cbProtoView = QtWidgets.QComboBox(SignalFrame) self.cbProtoView.setObjectName("cbProtoView") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.gridLayout_2.addWidget(self.cbProtoView, 21, 1, 1, 1) self.lInfoLenText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lInfoLenText.sizePolicy().hasHeightForWidth()) self.lInfoLenText.setSizePolicy(sizePolicy) self.lInfoLenText.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse) self.lInfoLenText.setObjectName("lInfoLenText") self.gridLayout_2.addWidget(self.lInfoLenText, 4, 0, 1, 1) self.spinBoxInfoLen = QtWidgets.QSpinBox(SignalFrame) self.spinBoxInfoLen.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxInfoLen.setMinimum(1) self.spinBoxInfoLen.setMaximum(999999999) self.spinBoxInfoLen.setObjectName("spinBoxInfoLen") self.gridLayout_2.addWidget(self.spinBoxInfoLen, 4, 1, 1, 1) self.spinBoxTolerance = QtWidgets.QSpinBox(SignalFrame) self.spinBoxTolerance.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxTolerance.setMaximum(9999) self.spinBoxTolerance.setObjectName("spinBoxTolerance") self.gridLayout_2.addWidget(self.spinBoxTolerance, 7, 1, 1, 1) self.lErrorTolerance = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lErrorTolerance.sizePolicy().hasHeightForWidth()) self.lErrorTolerance.setSizePolicy(sizePolicy) self.lErrorTolerance.setMinimumSize(QtCore.QSize(0, 0)) self.lErrorTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lErrorTolerance.setObjectName("lErrorTolerance") self.gridLayout_2.addWidget(self.lErrorTolerance, 7, 0, 1, 1) self.lSignalViewText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalViewText.sizePolicy().hasHeightForWidth()) self.lSignalViewText.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setUnderline(False) self.lSignalViewText.setFont(font) self.lSignalViewText.setObjectName("lSignalViewText") self.gridLayout_2.addWidget(self.lSignalViewText, 15, 0, 1, 1) self.line = QtWidgets.QFrame(SignalFrame) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.gridLayout_2.addWidget(self.line, 13, 0, 1, 2) self.lCenterOffset = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lCenterOffset.sizePolicy().hasHeightForWidth()) self.lCenterOffset.setSizePolicy(sizePolicy) self.lCenterOffset.setMinimumSize(QtCore.QSize(0, 0)) self.lCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lCenterOffset.setWhatsThis("") self.lCenterOffset.setObjectName("lCenterOffset") self.gridLayout_2.addWidget(self.lCenterOffset, 3, 0, 1, 1) self.spinBoxCenterOffset = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxCenterOffset.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxCenterOffset.setDecimals(4) self.spinBoxCenterOffset.setMinimum(-3.15) self.spinBoxCenterOffset.setMaximum(6.28) self.spinBoxCenterOffset.setSingleStep(0.0001) self.spinBoxCenterOffset.setObjectName("spinBoxCenterOffset") self.gridLayout_2.addWidget(self.spinBoxCenterOffset, 3, 1, 1, 1) self.cbSignalView = QtWidgets.QComboBox(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.cbSignalView.sizePolicy().hasHeightForWidth()) self.cbSignalView.setSizePolicy(sizePolicy) self.cbSignalView.setObjectName("cbSignalView") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.gridLayout_2.addWidget(self.cbSignalView, 15, 1, 1, 1) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.btnSaveSignal = QtWidgets.QToolButton(SignalFrame) self.btnSaveSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnSaveSignal.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("document-save") self.btnSaveSignal.setIcon(icon) self.btnSaveSignal.setObjectName("btnSaveSignal") self.gridLayout.addWidget(self.btnSaveSignal, 0, 3, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1) self.btnCloseSignal = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnCloseSignal.sizePolicy().hasHeightForWidth()) self.btnCloseSignal.setSizePolicy(sizePolicy) self.btnCloseSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setMaximumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setStyleSheet("color:red;") icon = QtGui.QIcon.fromTheme("window-close") self.btnCloseSignal.setIcon(icon) self.btnCloseSignal.setObjectName("btnCloseSignal") self.gridLayout.addWidget(self.btnCloseSignal, 0, 9, 1, 1) self.lSignalTyp = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalTyp.sizePolicy().hasHeightForWidth()) self.lSignalTyp.setSizePolicy(sizePolicy) self.lSignalTyp.setObjectName("lSignalTyp") self.gridLayout.addWidget(self.lSignalTyp, 0, 1, 1, 1) self.lSignalNr = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalNr.sizePolicy().hasHeightForWidth()) self.lSignalNr.setSizePolicy(sizePolicy) self.lSignalNr.setWordWrap(False) self.lSignalNr.setIndent(-1) self.lSignalNr.setObjectName("lSignalNr") self.gridLayout.addWidget(self.lSignalNr, 0, 0, 1, 1) self.btnInfo = QtWidgets.QToolButton(SignalFrame) self.btnInfo.setMinimumSize(QtCore.QSize(24, 24)) self.btnInfo.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("dialog-information") self.btnInfo.setIcon(icon) self.btnInfo.setObjectName("btnInfo") self.gridLayout.addWidget(self.btnInfo, 0, 6, 1, 1) self.btnReplay = QtWidgets.QToolButton(SignalFrame) self.btnReplay.setMinimumSize(QtCore.QSize(24, 24)) self.btnReplay.setMaximumSize(QtCore.QSize(24, 24)) self.btnReplay.setText("") icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnReplay.setIcon(icon) self.btnReplay.setObjectName("btnReplay") self.gridLayout.addWidget(self.btnReplay, 0, 5, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 2) self.labelFFTWindowSize = QtWidgets.QLabel(SignalFrame) self.labelFFTWindowSize.setObjectName("labelFFTWindowSize") self.gridLayout_2.addWidget(self.labelFFTWindowSize, 18, 0, 1, 1) self.sliderFFTWindowSize = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderFFTWindowSize.sizePolicy().hasHeightForWidth()) self.sliderFFTWindowSize.setSizePolicy(sizePolicy) self.sliderFFTWindowSize.setMinimum(6) self.sliderFFTWindowSize.setMaximum(15) self.sliderFFTWindowSize.setOrientation(QtCore.Qt.Horizontal) self.sliderFFTWindowSize.setObjectName("sliderFFTWindowSize") self.gridLayout_2.addWidget(self.sliderFFTWindowSize, 18, 1, 1, 1) self.sliderSpectrogramMax = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMax.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMax.setSizePolicy(sizePolicy) self.sliderSpectrogramMax.setMinimum(-150) self.sliderSpectrogramMax.setMaximum(10) self.sliderSpectrogramMax.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMax.setObjectName("sliderSpectrogramMax") self.gridLayout_2.addWidget(self.sliderSpectrogramMax, 20, 1, 1, 1) self.labelSpectrogramMin = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMin.setObjectName("labelSpectrogramMin") self.gridLayout_2.addWidget(self.labelSpectrogramMin, 19, 0, 1, 1) self.labelSpectrogramMax = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMax.setObjectName("labelSpectrogramMax") self.gridLayout_2.addWidget(self.labelSpectrogramMax, 20, 0, 1, 1) self.btnAutoDetect = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnAutoDetect.sizePolicy().hasHeightForWidth()) self.btnAutoDetect.setSizePolicy(sizePolicy) self.btnAutoDetect.setIconSize(QtCore.QSize(16, 16)) self.btnAutoDetect.setCheckable(False) self.btnAutoDetect.setChecked(False) self.btnAutoDetect.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnAutoDetect.setArrowType(QtCore.Qt.NoArrow) self.btnAutoDetect.setObjectName("btnAutoDetect") self.gridLayout_2.addWidget(self.btnAutoDetect, 11, 0, 1, 2) self.horizontalLayout.addLayout(self.gridLayout_2) self.splitter = QtWidgets.QSplitter(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth()) self.splitter.setSizePolicy(sizePolicy) 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.setFrameShape(QtWidgets.QFrame.NoFrame) self.splitter.setLineWidth(1) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setChildrenCollapsible(False) self.splitter.setObjectName("splitter") self.layoutWidget = QtWidgets.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget) self.stackedWidget.setLineWidth(0) self.stackedWidget.setObjectName("stackedWidget") self.pageSignal = QtWidgets.QWidget() self.pageSignal.setObjectName("pageSignal") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.pageSignal) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gvLegend = LegendGraphicView(self.pageSignal) self.gvLegend.setMinimumSize(QtCore.QSize(0, 150)) self.gvLegend.setMaximumSize(QtCore.QSize(30, 16777215)) self.gvLegend.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvLegend.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvLegend.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvLegend.setInteractive(False) self.gvLegend.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter) self.gvLegend.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvLegend.setOptimizationFlags(QtWidgets.QGraphicsView.DontSavePainterState) self.gvLegend.setObjectName("gvLegend") self.horizontalLayout_6.addWidget(self.gvLegend) self.gvSignal = EpicGraphicView(self.pageSignal) self.gvSignal.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSignal.sizePolicy().hasHeightForWidth()) self.gvSignal.setSizePolicy(sizePolicy) self.gvSignal.setMinimumSize(QtCore.QSize(0, 150)) self.gvSignal.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.gvSignal.setMouseTracking(True) self.gvSignal.setFocusPolicy(QtCore.Qt.WheelFocus) self.gvSignal.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.gvSignal.setAutoFillBackground(False) self.gvSignal.setStyleSheet("") self.gvSignal.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSignal.setFrameShadow(QtWidgets.QFrame.Raised) self.gvSignal.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvSignal.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvSignal.setInteractive(False) self.gvSignal.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing) self.gvSignal.setDragMode(QtWidgets.QGraphicsView.NoDrag) self.gvSignal.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSignal.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSignal.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvSignal.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSignal.setObjectName("gvSignal") self.horizontalLayout_6.addWidget(self.gvSignal) self.stackedWidget.addWidget(self.pageSignal) self.pageSpectrogram = QtWidgets.QWidget() self.pageSpectrogram.setObjectName("pageSpectrogram") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageSpectrogram) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gvSpectrogram = SpectrogramGraphicView(self.pageSpectrogram) self.gvSpectrogram.setMouseTracking(True) self.gvSpectrogram.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSpectrogram.setInteractive(False) self.gvSpectrogram.setRenderHints(QtGui.QPainter.TextAntialiasing) self.gvSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSpectrogram.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSpectrogram.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSpectrogram.setObjectName("gvSpectrogram") self.horizontalLayout_4.addWidget(self.gvSpectrogram) self.stackedWidget.addWidget(self.pageSpectrogram) self.pageLoading = QtWidgets.QWidget() self.pageLoading.setObjectName("pageLoading") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pageLoading) self.verticalLayout_2.setObjectName("verticalLayout_2") self.labelLoadingAutoInterpretation = QtWidgets.QLabel(self.pageLoading) font = QtGui.QFont() font.setPointSize(12) self.labelLoadingAutoInterpretation.setFont(font) self.labelLoadingAutoInterpretation.setWordWrap(True) self.labelLoadingAutoInterpretation.setObjectName("labelLoadingAutoInterpretation") self.verticalLayout_2.addWidget(self.labelLoadingAutoInterpretation) self.stackedWidget.addWidget(self.pageLoading) self.horizontalLayout_2.addWidget(self.stackedWidget) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.lYScale = QtWidgets.QLabel(self.layoutWidget) self.lYScale.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.lYScale.setObjectName("lYScale") self.verticalLayout_5.addWidget(self.lYScale) self.sliderYScale = QtWidgets.QSlider(self.layoutWidget) self.sliderYScale.setMinimum(1) self.sliderYScale.setMaximum(100) self.sliderYScale.setOrientation(QtCore.Qt.Vertical) self.sliderYScale.setTickPosition(QtWidgets.QSlider.TicksBelow) self.sliderYScale.setObjectName("sliderYScale") self.verticalLayout_5.addWidget(self.sliderYScale) self.horizontalLayout_2.addLayout(self.verticalLayout_5) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.btnShowHideStartEnd = QtWidgets.QToolButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnShowHideStartEnd.sizePolicy().hasHeightForWidth()) self.btnShowHideStartEnd.setSizePolicy(sizePolicy) self.btnShowHideStartEnd.setAutoFillBackground(False) self.btnShowHideStartEnd.setStyleSheet("") icon = QtGui.QIcon.fromTheme("arrow-down-double") self.btnShowHideStartEnd.setIcon(icon) self.btnShowHideStartEnd.setCheckable(True) self.btnShowHideStartEnd.setObjectName("btnShowHideStartEnd") self.horizontalLayout_3.addWidget(self.btnShowHideStartEnd) self.lNumSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lNumSelectedSamples.setObjectName("lNumSelectedSamples") self.horizontalLayout_3.addWidget(self.lNumSelectedSamples) self.lTextSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lTextSelectedSamples.setObjectName("lTextSelectedSamples") self.horizontalLayout_3.addWidget(self.lTextSelectedSamples) self.line_3 = QtWidgets.QFrame(self.layoutWidget) self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.horizontalLayout_3.addWidget(self.line_3) self.lDuration = QtWidgets.QLabel(self.layoutWidget) self.lDuration.setToolTip("") self.lDuration.setObjectName("lDuration") self.horizontalLayout_3.addWidget(self.lDuration) self.line_2 = QtWidgets.QFrame(self.layoutWidget) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_3.addWidget(self.line_2) self.labelRSSI = QtWidgets.QLabel(self.layoutWidget) self.labelRSSI.setObjectName("labelRSSI") self.horizontalLayout_3.addWidget(self.labelRSSI) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.btnFilter = QtWidgets.QToolButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("view-filter") self.btnFilter.setIcon(icon) self.btnFilter.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnFilter.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.btnFilter.setArrowType(QtCore.Qt.NoArrow) self.btnFilter.setObjectName("btnFilter") self.horizontalLayout_3.addWidget(self.btnFilter) self.verticalLayout.addLayout(self.horizontalLayout_3) self.additionalInfos = QtWidgets.QHBoxLayout() self.additionalInfos.setSpacing(6) self.additionalInfos.setObjectName("additionalInfos") self.lStart = QtWidgets.QLabel(self.layoutWidget) self.lStart.setObjectName("lStart") self.additionalInfos.addWidget(self.lStart) self.spinBoxSelectionStart = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionStart.setReadOnly(False) self.spinBoxSelectionStart.setMaximum(99999999) self.spinBoxSelectionStart.setObjectName("spinBoxSelectionStart") self.additionalInfos.addWidget(self.spinBoxSelectionStart) self.lEnd = QtWidgets.QLabel(self.layoutWidget) self.lEnd.setObjectName("lEnd") self.additionalInfos.addWidget(self.lEnd) self.spinBoxSelectionEnd = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionEnd.setMaximum(99999999) self.spinBoxSelectionEnd.setObjectName("spinBoxSelectionEnd") self.additionalInfos.addWidget(self.spinBoxSelectionEnd) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem3) self.lZoomText = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lZoomText.sizePolicy().hasHeightForWidth()) self.lZoomText.setSizePolicy(sizePolicy) self.lZoomText.setMinimumSize(QtCore.QSize(0, 0)) self.lZoomText.setMaximumSize(QtCore.QSize(16777215, 16777215)) font = QtGui.QFont() font.setItalic(False) font.setUnderline(False) self.lZoomText.setFont(font) self.lZoomText.setTextFormat(QtCore.Qt.PlainText) self.lZoomText.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lZoomText.setObjectName("lZoomText") self.additionalInfos.addWidget(self.lZoomText) self.spinBoxXZoom = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxXZoom.setMinimum(100) self.spinBoxXZoom.setMaximum(999999999) self.spinBoxXZoom.setObjectName("spinBoxXZoom") self.additionalInfos.addWidget(self.spinBoxXZoom) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem4) self.lSamplesInView = QtWidgets.QLabel(self.layoutWidget) self.lSamplesInView.setObjectName("lSamplesInView") self.additionalInfos.addWidget(self.lSamplesInView) self.lStrich = QtWidgets.QLabel(self.layoutWidget) self.lStrich.setObjectName("lStrich") self.additionalInfos.addWidget(self.lStrich) self.lSamplesTotal = QtWidgets.QLabel(self.layoutWidget) self.lSamplesTotal.setObjectName("lSamplesTotal") self.additionalInfos.addWidget(self.lSamplesTotal) self.lSamplesViewText = QtWidgets.QLabel(self.layoutWidget) self.lSamplesViewText.setObjectName("lSamplesViewText") self.additionalInfos.addWidget(self.lSamplesViewText) self.verticalLayout.addLayout(self.additionalInfos) self.txtEdProto = TextEditProtocolView(self.splitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.txtEdProto.sizePolicy().hasHeightForWidth()) self.txtEdProto.setSizePolicy(sizePolicy) self.txtEdProto.setMinimumSize(QtCore.QSize(0, 80)) self.txtEdProto.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.txtEdProto.setBaseSize(QtCore.QSize(0, 0)) self.txtEdProto.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.txtEdProto.setAcceptDrops(False) self.txtEdProto.setObjectName("txtEdProto") self.horizontalLayout.addWidget(self.splitter) self.retranslateUi(SignalFrame) self.stackedWidget.setCurrentIndex(0) SignalFrame.setTabOrder(self.btnSaveSignal, self.btnInfo) SignalFrame.setTabOrder(self.btnInfo, self.btnCloseSignal) SignalFrame.setTabOrder(self.btnCloseSignal, self.lineEditSignalName) SignalFrame.setTabOrder(self.lineEditSignalName, self.spinBoxNoiseTreshold) SignalFrame.setTabOrder(self.spinBoxNoiseTreshold, self.spinBoxCenterOffset) SignalFrame.setTabOrder(self.spinBoxCenterOffset, self.spinBoxInfoLen) SignalFrame.setTabOrder(self.spinBoxInfoLen, self.spinBoxTolerance) SignalFrame.setTabOrder(self.spinBoxTolerance, self.chkBoxShowProtocol) SignalFrame.setTabOrder(self.chkBoxShowProtocol, self.cbProtoView) SignalFrame.setTabOrder(self.cbProtoView, self.chkBoxSyncSelection) SignalFrame.setTabOrder(self.chkBoxSyncSelection, self.txtEdProto) SignalFrame.setTabOrder(self.txtEdProto, self.btnShowHideStartEnd) SignalFrame.setTabOrder(self.btnShowHideStartEnd, self.spinBoxSelectionStart) SignalFrame.setTabOrder(self.spinBoxSelectionStart, self.spinBoxSelectionEnd) def retranslateUi(self, SignalFrame): _translate = QtCore.QCoreApplication.translate SignalFrame.setWindowTitle(_translate("SignalFrame", "Frame")) self.cbModulationType.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Choose signals modulation:</p><ul><li>Amplitude Shift Keying (ASK)</li><li>Frequency Shift Keying (FSK)</li><li>Phase Shift Keying (PSK)</li></ul></body></html>")) self.cbModulationType.setItemText(0, _translate("SignalFrame", "ASK")) self.cbModulationType.setItemText(1, _translate("SignalFrame", "FSK")) self.cbModulationType.setItemText(2, _translate("SignalFrame", "PSK")) self.btnAdvancedModulationSettings.setText(_translate("SignalFrame", "...")) self.labelModulation.setText(_translate("SignalFrame", "Modulation:")) self.chkBoxSyncSelection.setToolTip(_translate("SignalFrame", "If this is set to true, your selected protocol bits will show up in the signal view, and vice versa.")) self.chkBoxSyncSelection.setText(_translate("SignalFrame", "Sync Selection")) self.spinBoxNoiseTreshold.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Set the <span style=\" font-weight:600;\">noise magnitude</span> of your signal. You can tune this value to mute noise in your signal and reveal the true data.</p></body></html>")) self.chkBoxShowProtocol.setToolTip(_translate("SignalFrame", "Show the extracted protocol based on the parameters InfoLen, PauseLen and ZeroTreshold (in QuadratureDemod-View).\n" "\n" "If you want your protocol to be better seperated, edit the PauseLen using right-click menu from a selection in SignalView or ProtocolView.")) self.chkBoxShowProtocol.setText(_translate("SignalFrame", "Show Signal as")) self.labelNoise.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Set the <span style=\" font-weight:600;\">noise magnitude</span> of your signal. You can tune this value to mute noise in your signal and reveal the true data.</p></body></html>")) self.labelNoise.setText(_translate("SignalFrame", "Noise:")) self.lineEditSignalName.setText(_translate("SignalFrame", "SignalName")) self.cbProtoView.setItemText(0, _translate("SignalFrame", "Bits")) self.cbProtoView.setItemText(1, _translate("SignalFrame", "Hex")) self.cbProtoView.setItemText(2, _translate("SignalFrame", "ASCII")) self.lInfoLenText.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the length of one (raw) bit <span style=\" font-weight:600;\">in samples</span>.</p><p><br/></p><p>Tune this value using either <span style=\" font-style:italic;\">the spinbox on the right</span> or the <span style=\" font-style:italic;\">context-menu of the SignalView</span>.</p></body></html>")) self.lInfoLenText.setText(_translate("SignalFrame", "Bit Length:")) self.spinBoxInfoLen.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the length of one (raw) bit <span style=\" font-weight:600;\">in samples</span>.</p><p><br/></p><p>Tune this value using either <span style=\" font-style:italic;\">the spinbox on the right</span> or the <span style=\" font-style:italic;\">context-menu of the SignalView</span>.</p></body></html>")) self.spinBoxTolerance.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the error tolerance for determining the <span style=\" font-weight:600;\">pulse lengths</span> in the demodulated signal.</p><p><span style=\" font-weight:400; font-style:italic;\">Example:</span> Say, we are reading a ones pulse and the tolerance value was set to 5. Then 5 errors (which must follow sequentially) are accepted.</p><p>Tune this value if you have <span style=\" font-weight:600;\">spiky data</span> after demodulation.</p></body></html>")) self.lErrorTolerance.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the error tolerance for determining the <span style=\" font-weight:600;\">pulse lengths</span> in the demodulated signal.</p><p><span style=\" font-weight:400; font-style:italic;\">Example:</span> Say, we are reading a ones pulse and the tolerance value was set to 5. Then 5 errors (which must follow sequentially) are accepted.</p><p>Tune this value if you have <span style=\" font-weight:600;\">spiky data</span> after demodulation.</p></body></html>")) self.lErrorTolerance.setText(_translate("SignalFrame", "Error Tolerance:")) self.lSignalViewText.setText(_translate("SignalFrame", "Signal View:")) self.lCenterOffset.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the threshold used for determining if a <span style=\" font-weight:600;\">bit is one or zero</span>. You can set it here or grab the middle of the area in <span style=\" font-style:italic;\">Quadrature Demod View.</span></p></body></html>")) self.lCenterOffset.setText(_translate("SignalFrame", "Center:")) self.spinBoxCenterOffset.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the threshold used for determining if a <span style=\" font-weight:600;\">bit is one or zero</span>. You can set it here or grab the middle of the area in <span style=\" font-style:italic;\">Quadrature Demod View</span>.</p></body></html>")) self.cbSignalView.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Choose the view of your signal. Analog, Demodulated or Spectrogram.</p><p>The quadrature demodulation uses a <span style=\" font-weight:600;\">treshold of magnitude,</span> to <span style=\" font-weight:600;\">supress noise</span>. All samples with a magnitude lower than this treshold will be eliminated (set to <span style=\" font-style:italic;\">-127</span>) after demod.</p><p>Tune this value by selecting a <span style=\" font-style:italic;\">noisy area</span> and mark it as noise using <span style=\" font-weight:600;\">context menu</span>.</p><p>Current noise treshold is: </p></body></html>")) self.cbSignalView.setItemText(0, _translate("SignalFrame", "Analog")) self.cbSignalView.setItemText(1, _translate("SignalFrame", "Demodulated")) self.cbSignalView.setItemText(2, _translate("SignalFrame", "Spectrogram")) self.btnSaveSignal.setText(_translate("SignalFrame", "...")) self.btnCloseSignal.setText(_translate("SignalFrame", "X")) self.lSignalTyp.setText(_translate("SignalFrame", "<Signaltyp>")) self.lSignalNr.setText(_translate("SignalFrame", "1:")) self.btnInfo.setText(_translate("SignalFrame", "...")) self.btnReplay.setToolTip(_translate("SignalFrame", "Replay signal")) self.labelFFTWindowSize.setText(_translate("SignalFrame", "FFT Window Size:")) self.labelSpectrogramMin.setText(_translate("SignalFrame", "Data<sub>min</sub>:")) self.labelSpectrogramMax.setText(_translate("SignalFrame", "Data<sub>max</sub>:")) self.btnAutoDetect.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Automatically detect <span style=\" font-weight:600;\">center</span>, <span style=\" font-weight:600;\">bit length</span> and <span style=\" font-weight:600;\">tolerance</span>. You can also choose to addtionally detect the <span style=\" font-weight:600;\">noise</span> and <span style=\" font-weight:600;\">modulation</span> when clicking this button.</p></body></html>")) self.btnAutoDetect.setText(_translate("SignalFrame", "Autodetect parameters")) self.labelLoadingAutoInterpretation.setText(_translate("SignalFrame", "<html><head/><body><p>Running automatic detecting of demodulation parameters.</p><p>You can disable this behaviour for newly loaded signals by unchecking <span style=\" font-weight:600;\">Edit</span> -> <span style=\" font-weight:600;\">Auto detect signals on loading</span>.</p></body></html>")) self.lYScale.setText(_translate("SignalFrame", "Y-Scale")) self.btnShowHideStartEnd.setText(_translate("SignalFrame", "-")) self.lNumSelectedSamples.setToolTip(_translate("SignalFrame", "Number of currently selected samples.")) self.lNumSelectedSamples.setText(_translate("SignalFrame", "0")) self.lTextSelectedSamples.setToolTip(_translate("SignalFrame", "Number of currently selected samples.")) self.lTextSelectedSamples.setText(_translate("SignalFrame", "selected")) self.lDuration.setText(_translate("SignalFrame", "42 µs")) self.labelRSSI.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the average signal power of the selection. The closer this value is to zero, the stronger the selected signal is.</p></body></html>")) self.labelRSSI.setText(_translate("SignalFrame", "0,434 dBm")) self.btnFilter.setText(_translate("SignalFrame", "Filter (moving average)")) self.lStart.setText(_translate("SignalFrame", "Start:")) self.lEnd.setText(_translate("SignalFrame", "End:")) self.lZoomText.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Current (relative) Zoom. Standard is 100%, if you zoom in, this factor increases. You can directly set a value in the spinbox or use the <span style=\" font-weight:600;\">mousewheel to zoom</span>.</p></body></html>")) self.lZoomText.setText(_translate("SignalFrame", "X-Zoom:")) self.spinBoxXZoom.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Current (relative) Zoom. Standard is 100%, if you zoom in, this factor increases. You can directly set a value in the spinbox or use the <span style=\" font-weight:600;\">mousewheel to zoom</span>.</p></body></html>")) self.spinBoxXZoom.setSuffix(_translate("SignalFrame", "%")) self.lSamplesInView.setText(_translate("SignalFrame", "0")) self.lStrich.setText(_translate("SignalFrame", "/")) self.lSamplesTotal.setText(_translate("SignalFrame", "0")) self.lSamplesViewText.setText(_translate("SignalFrame", "Samples in view"))
class Ui_SignalFrame(object): def setupUi(self, SignalFrame): SignalFrame.setObjectName("SignalFrame") SignalFrame.resize(1057, 539) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(SignalFrame.sizePolicy().hasHeightForWidth()) SignalFrame.setSizePolicy(sizePolicy) SignalFrame.setMinimumSize(QtCore.QSize(0, 0)) SignalFrame.setMaximumSize(QtCore.QSize(16777215, 16777215)) SignalFrame.setSizeIncrement(QtCore.QSize(0, 0)) SignalFrame.setBaseSize(QtCore.QSize(0, 0)) SignalFrame.setMouseTracking(False) SignalFrame.setAcceptDrops(True) SignalFrame.setAutoFillBackground(False) SignalFrame.setStyleSheet("") SignalFrame.setFrameShape(QtWidgets.QFrame.NoFrame) SignalFrame.setFrameShadow(QtWidgets.QFrame.Raised) SignalFrame.setLineWidth(1) self.horizontalLayout = QtWidgets.QHBoxLayout(SignalFrame) self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.gridLayout_2.setObjectName("gridLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_2.addItem(spacerItem, 12, 0, 1, 1) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setSpacing(7) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.cbModulationType = QtWidgets.QComboBox(SignalFrame) self.cbModulationType.setObjectName("cbModulationType") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.cbModulationType.addItem("") self.horizontalLayout_5.addWidget(self.cbModulationType) self.btnAdvancedModulationSettings = QtWidgets.QToolButton(SignalFrame) icon = QtGui.QIcon.fromTheme("configure") self.btnAdvancedModulationSettings.setIcon(icon) self.btnAdvancedModulationSettings.setIconSize(QtCore.QSize(16, 16)) self.btnAdvancedModulationSettings.setObjectName("btnAdvancedModulationSettings") self.horizontalLayout_5.addWidget(self.btnAdvancedModulationSettings) self.gridLayout_2.addLayout(self.horizontalLayout_5, 9, 1, 1, 1) self.labelModulation = QtWidgets.QLabel(SignalFrame) self.labelModulation.setObjectName("labelModulation") self.gridLayout_2.addWidget(self.labelModulation, 9, 0, 1, 1) self.chkBoxSyncSelection = QtWidgets.QCheckBox(SignalFrame) self.chkBoxSyncSelection.setChecked(True) self.chkBoxSyncSelection.setObjectName("chkBoxSyncSelection") self.gridLayout_2.addWidget(self.chkBoxSyncSelection, 22, 0, 1, 1) self.sliderSpectrogramMin = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMin.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMin.setSizePolicy(sizePolicy) self.sliderSpectrogramMin.setMinimum(-150) self.sliderSpectrogramMin.setMaximum(10) self.sliderSpectrogramMin.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMin.setObjectName("sliderSpectrogramMin") self.gridLayout_2.addWidget(self.sliderSpectrogramMin, 19, 1, 1, 1) self.spinBoxNoiseTreshold = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxNoiseTreshold.setDecimals(4) self.spinBoxNoiseTreshold.setMaximum(1.0) self.spinBoxNoiseTreshold.setSingleStep(0.0001) self.spinBoxNoiseTreshold.setObjectName("spinBoxNoiseTreshold") self.gridLayout_2.addWidget(self.spinBoxNoiseTreshold, 2, 1, 1, 1) self.chkBoxShowProtocol = QtWidgets.QCheckBox(SignalFrame) self.chkBoxShowProtocol.setObjectName("chkBoxShowProtocol") self.gridLayout_2.addWidget(self.chkBoxShowProtocol, 21, 0, 1, 1) self.labelNoise = QtWidgets.QLabel(SignalFrame) self.labelNoise.setObjectName("labelNoise") self.gridLayout_2.addWidget(self.labelNoise, 2, 0, 1, 1) self.lineEditSignalName = QtWidgets.QLineEdit(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEditSignalName.sizePolicy().hasHeightForWidth()) self.lineEditSignalName.setSizePolicy(sizePolicy) self.lineEditSignalName.setMinimumSize(QtCore.QSize(214, 0)) self.lineEditSignalName.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lineEditSignalName.setAcceptDrops(False) self.lineEditSignalName.setObjectName("lineEditSignalName") self.gridLayout_2.addWidget(self.lineEditSignalName, 1, 0, 1, 2) self.cbProtoView = QtWidgets.QComboBox(SignalFrame) self.cbProtoView.setObjectName("cbProtoView") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.cbProtoView.addItem("") self.gridLayout_2.addWidget(self.cbProtoView, 21, 1, 1, 1) self.lInfoLenText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lInfoLenText.sizePolicy().hasHeightForWidth()) self.lInfoLenText.setSizePolicy(sizePolicy) self.lInfoLenText.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse) self.lInfoLenText.setObjectName("lInfoLenText") self.gridLayout_2.addWidget(self.lInfoLenText, 4, 0, 1, 1) self.spinBoxInfoLen = QtWidgets.QSpinBox(SignalFrame) self.spinBoxInfoLen.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxInfoLen.setMinimum(1) self.spinBoxInfoLen.setMaximum(999999999) self.spinBoxInfoLen.setObjectName("spinBoxInfoLen") self.gridLayout_2.addWidget(self.spinBoxInfoLen, 4, 1, 1, 1) self.spinBoxTolerance = QtWidgets.QSpinBox(SignalFrame) self.spinBoxTolerance.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxTolerance.setMaximum(9999) self.spinBoxTolerance.setObjectName("spinBoxTolerance") self.gridLayout_2.addWidget(self.spinBoxTolerance, 7, 1, 1, 1) self.lErrorTolerance = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lErrorTolerance.sizePolicy().hasHeightForWidth()) self.lErrorTolerance.setSizePolicy(sizePolicy) self.lErrorTolerance.setMinimumSize(QtCore.QSize(0, 0)) self.lErrorTolerance.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lErrorTolerance.setObjectName("lErrorTolerance") self.gridLayout_2.addWidget(self.lErrorTolerance, 7, 0, 1, 1) self.lSignalViewText = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalViewText.sizePolicy().hasHeightForWidth()) self.lSignalViewText.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setUnderline(False) self.lSignalViewText.setFont(font) self.lSignalViewText.setObjectName("lSignalViewText") self.gridLayout_2.addWidget(self.lSignalViewText, 15, 0, 1, 1) self.line = QtWidgets.QFrame(SignalFrame) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.gridLayout_2.addWidget(self.line, 13, 0, 1, 2) self.lCenterOffset = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lCenterOffset.sizePolicy().hasHeightForWidth()) self.lCenterOffset.setSizePolicy(sizePolicy) self.lCenterOffset.setMinimumSize(QtCore.QSize(0, 0)) self.lCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.lCenterOffset.setWhatsThis("") self.lCenterOffset.setObjectName("lCenterOffset") self.gridLayout_2.addWidget(self.lCenterOffset, 3, 0, 1, 1) self.spinBoxCenterOffset = QtWidgets.QDoubleSpinBox(SignalFrame) self.spinBoxCenterOffset.setMinimumSize(QtCore.QSize(100, 0)) self.spinBoxCenterOffset.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.spinBoxCenterOffset.setDecimals(4) self.spinBoxCenterOffset.setMinimum(-3.15) self.spinBoxCenterOffset.setMaximum(6.28) self.spinBoxCenterOffset.setSingleStep(0.0001) self.spinBoxCenterOffset.setObjectName("spinBoxCenterOffset") self.gridLayout_2.addWidget(self.spinBoxCenterOffset, 3, 1, 1, 1) self.cbSignalView = QtWidgets.QComboBox(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.cbSignalView.sizePolicy().hasHeightForWidth()) self.cbSignalView.setSizePolicy(sizePolicy) self.cbSignalView.setObjectName("cbSignalView") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.cbSignalView.addItem("") self.gridLayout_2.addWidget(self.cbSignalView, 15, 1, 1, 1) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.btnSaveSignal = QtWidgets.QToolButton(SignalFrame) self.btnSaveSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnSaveSignal.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("document-save") self.btnSaveSignal.setIcon(icon) self.btnSaveSignal.setObjectName("btnSaveSignal") self.gridLayout.addWidget(self.btnSaveSignal, 0, 3, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem1, 0, 2, 1, 1) self.btnCloseSignal = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnCloseSignal.sizePolicy().hasHeightForWidth()) self.btnCloseSignal.setSizePolicy(sizePolicy) self.btnCloseSignal.setMinimumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setMaximumSize(QtCore.QSize(24, 24)) self.btnCloseSignal.setStyleSheet("color:red;") icon = QtGui.QIcon.fromTheme("window-close") self.btnCloseSignal.setIcon(icon) self.btnCloseSignal.setObjectName("btnCloseSignal") self.gridLayout.addWidget(self.btnCloseSignal, 0, 9, 1, 1) self.lSignalTyp = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalTyp.sizePolicy().hasHeightForWidth()) self.lSignalTyp.setSizePolicy(sizePolicy) self.lSignalTyp.setObjectName("lSignalTyp") self.gridLayout.addWidget(self.lSignalTyp, 0, 1, 1, 1) self.lSignalNr = QtWidgets.QLabel(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lSignalNr.sizePolicy().hasHeightForWidth()) self.lSignalNr.setSizePolicy(sizePolicy) self.lSignalNr.setWordWrap(False) self.lSignalNr.setIndent(-1) self.lSignalNr.setObjectName("lSignalNr") self.gridLayout.addWidget(self.lSignalNr, 0, 0, 1, 1) self.btnInfo = QtWidgets.QToolButton(SignalFrame) self.btnInfo.setMinimumSize(QtCore.QSize(24, 24)) self.btnInfo.setMaximumSize(QtCore.QSize(24, 24)) icon = QtGui.QIcon.fromTheme("dialog-information") self.btnInfo.setIcon(icon) self.btnInfo.setObjectName("btnInfo") self.gridLayout.addWidget(self.btnInfo, 0, 6, 1, 1) self.btnReplay = QtWidgets.QToolButton(SignalFrame) self.btnReplay.setMinimumSize(QtCore.QSize(24, 24)) self.btnReplay.setMaximumSize(QtCore.QSize(24, 24)) self.btnReplay.setText("") icon = QtGui.QIcon.fromTheme("media-playback-start") self.btnReplay.setIcon(icon) self.btnReplay.setObjectName("btnReplay") self.gridLayout.addWidget(self.btnReplay, 0, 5, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 2) self.labelFFTWindowSize = QtWidgets.QLabel(SignalFrame) self.labelFFTWindowSize.setObjectName("labelFFTWindowSize") self.gridLayout_2.addWidget(self.labelFFTWindowSize, 18, 0, 1, 1) self.sliderFFTWindowSize = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderFFTWindowSize.sizePolicy().hasHeightForWidth()) self.sliderFFTWindowSize.setSizePolicy(sizePolicy) self.sliderFFTWindowSize.setMinimum(6) self.sliderFFTWindowSize.setMaximum(15) self.sliderFFTWindowSize.setOrientation(QtCore.Qt.Horizontal) self.sliderFFTWindowSize.setObjectName("sliderFFTWindowSize") self.gridLayout_2.addWidget(self.sliderFFTWindowSize, 18, 1, 1, 1) self.sliderSpectrogramMax = QtWidgets.QSlider(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sliderSpectrogramMax.sizePolicy().hasHeightForWidth()) self.sliderSpectrogramMax.setSizePolicy(sizePolicy) self.sliderSpectrogramMax.setMinimum(-150) self.sliderSpectrogramMax.setMaximum(10) self.sliderSpectrogramMax.setOrientation(QtCore.Qt.Horizontal) self.sliderSpectrogramMax.setObjectName("sliderSpectrogramMax") self.gridLayout_2.addWidget(self.sliderSpectrogramMax, 20, 1, 1, 1) self.labelSpectrogramMin = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMin.setObjectName("labelSpectrogramMin") self.gridLayout_2.addWidget(self.labelSpectrogramMin, 19, 0, 1, 1) self.labelSpectrogramMax = QtWidgets.QLabel(SignalFrame) self.labelSpectrogramMax.setObjectName("labelSpectrogramMax") self.gridLayout_2.addWidget(self.labelSpectrogramMax, 20, 0, 1, 1) self.btnAutoDetect = QtWidgets.QToolButton(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnAutoDetect.sizePolicy().hasHeightForWidth()) self.btnAutoDetect.setSizePolicy(sizePolicy) self.btnAutoDetect.setIconSize(QtCore.QSize(16, 16)) self.btnAutoDetect.setCheckable(False) self.btnAutoDetect.setChecked(False) self.btnAutoDetect.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnAutoDetect.setArrowType(QtCore.Qt.NoArrow) self.btnAutoDetect.setObjectName("btnAutoDetect") self.gridLayout_2.addWidget(self.btnAutoDetect, 11, 0, 1, 2) self.horizontalLayout.addLayout(self.gridLayout_2) self.splitter = QtWidgets.QSplitter(SignalFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth()) self.splitter.setSizePolicy(sizePolicy) 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.setFrameShape(QtWidgets.QFrame.NoFrame) self.splitter.setLineWidth(1) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setHandleWidth(6) self.splitter.setChildrenCollapsible(False) self.splitter.setObjectName("splitter") self.layoutWidget = QtWidgets.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget) self.stackedWidget.setLineWidth(0) self.stackedWidget.setObjectName("stackedWidget") self.pageSignal = QtWidgets.QWidget() self.pageSignal.setObjectName("pageSignal") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.pageSignal) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.gvLegend = LegendGraphicView(self.pageSignal) self.gvLegend.setMinimumSize(QtCore.QSize(0, 150)) self.gvLegend.setMaximumSize(QtCore.QSize(30, 16777215)) self.gvLegend.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvLegend.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvLegend.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvLegend.setInteractive(False) self.gvLegend.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter) self.gvLegend.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvLegend.setOptimizationFlags(QtWidgets.QGraphicsView.DontSavePainterState) self.gvLegend.setObjectName("gvLegend") self.horizontalLayout_6.addWidget(self.gvLegend) self.gvSignal = EpicGraphicView(self.pageSignal) self.gvSignal.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.gvSignal.sizePolicy().hasHeightForWidth()) self.gvSignal.setSizePolicy(sizePolicy) self.gvSignal.setMinimumSize(QtCore.QSize(0, 150)) self.gvSignal.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.gvSignal.setMouseTracking(True) self.gvSignal.setFocusPolicy(QtCore.Qt.WheelFocus) self.gvSignal.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.gvSignal.setAutoFillBackground(False) self.gvSignal.setStyleSheet("") self.gvSignal.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSignal.setFrameShadow(QtWidgets.QFrame.Raised) self.gvSignal.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.gvSignal.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.gvSignal.setInteractive(False) self.gvSignal.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing) self.gvSignal.setDragMode(QtWidgets.QGraphicsView.NoDrag) self.gvSignal.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSignal.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSignal.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSignal.setRubberBandSelectionMode(QtCore.Qt.ContainsItemShape) self.gvSignal.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSignal.setObjectName("gvSignal") self.horizontalLayout_6.addWidget(self.gvSignal) self.stackedWidget.addWidget(self.pageSignal) self.pageSpectrogram = QtWidgets.QWidget() self.pageSpectrogram.setObjectName("pageSpectrogram") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.pageSpectrogram) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gvSpectrogram = SpectrogramGraphicView(self.pageSpectrogram) self.gvSpectrogram.setMouseTracking(True) self.gvSpectrogram.setFrameShape(QtWidgets.QFrame.NoFrame) self.gvSpectrogram.setInteractive(False) self.gvSpectrogram.setRenderHints(QtGui.QPainter.TextAntialiasing) self.gvSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone) self.gvSpectrogram.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor) self.gvSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate) self.gvSpectrogram.setOptimizationFlags(QtWidgets.QGraphicsView.DontClipPainter|QtWidgets.QGraphicsView.DontSavePainterState) self.gvSpectrogram.setObjectName("gvSpectrogram") self.horizontalLayout_4.addWidget(self.gvSpectrogram) self.stackedWidget.addWidget(self.pageSpectrogram) self.pageLoading = QtWidgets.QWidget() self.pageLoading.setObjectName("pageLoading") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.pageLoading) self.verticalLayout_2.setObjectName("verticalLayout_2") self.labelLoadingAutoInterpretation = QtWidgets.QLabel(self.pageLoading) font = QtGui.QFont() font.setPointSize(12) self.labelLoadingAutoInterpretation.setFont(font) self.labelLoadingAutoInterpretation.setWordWrap(True) self.labelLoadingAutoInterpretation.setObjectName("labelLoadingAutoInterpretation") self.verticalLayout_2.addWidget(self.labelLoadingAutoInterpretation) self.stackedWidget.addWidget(self.pageLoading) self.horizontalLayout_2.addWidget(self.stackedWidget) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.lYScale = QtWidgets.QLabel(self.layoutWidget) self.lYScale.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.lYScale.setObjectName("lYScale") self.verticalLayout_5.addWidget(self.lYScale) self.sliderYScale = QtWidgets.QSlider(self.layoutWidget) self.sliderYScale.setMinimum(1) self.sliderYScale.setMaximum(100) self.sliderYScale.setOrientation(QtCore.Qt.Vertical) self.sliderYScale.setTickPosition(QtWidgets.QSlider.TicksBelow) self.sliderYScale.setObjectName("sliderYScale") self.verticalLayout_5.addWidget(self.sliderYScale) self.horizontalLayout_2.addLayout(self.verticalLayout_5) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.btnShowHideStartEnd = QtWidgets.QToolButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnShowHideStartEnd.sizePolicy().hasHeightForWidth()) self.btnShowHideStartEnd.setSizePolicy(sizePolicy) self.btnShowHideStartEnd.setAutoFillBackground(False) self.btnShowHideStartEnd.setStyleSheet("") icon = QtGui.QIcon.fromTheme("arrow-down-double") self.btnShowHideStartEnd.setIcon(icon) self.btnShowHideStartEnd.setCheckable(True) self.btnShowHideStartEnd.setObjectName("btnShowHideStartEnd") self.horizontalLayout_3.addWidget(self.btnShowHideStartEnd) self.lNumSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lNumSelectedSamples.setObjectName("lNumSelectedSamples") self.horizontalLayout_3.addWidget(self.lNumSelectedSamples) self.lTextSelectedSamples = QtWidgets.QLabel(self.layoutWidget) self.lTextSelectedSamples.setObjectName("lTextSelectedSamples") self.horizontalLayout_3.addWidget(self.lTextSelectedSamples) self.line_3 = QtWidgets.QFrame(self.layoutWidget) self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.horizontalLayout_3.addWidget(self.line_3) self.lDuration = QtWidgets.QLabel(self.layoutWidget) self.lDuration.setToolTip("") self.lDuration.setObjectName("lDuration") self.horizontalLayout_3.addWidget(self.lDuration) self.line_2 = QtWidgets.QFrame(self.layoutWidget) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_3.addWidget(self.line_2) self.labelRSSI = QtWidgets.QLabel(self.layoutWidget) self.labelRSSI.setObjectName("labelRSSI") self.horizontalLayout_3.addWidget(self.labelRSSI) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.btnFilter = QtWidgets.QToolButton(self.layoutWidget) icon = QtGui.QIcon.fromTheme("view-filter") self.btnFilter.setIcon(icon) self.btnFilter.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup) self.btnFilter.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.btnFilter.setArrowType(QtCore.Qt.NoArrow) self.btnFilter.setObjectName("btnFilter") self.horizontalLayout_3.addWidget(self.btnFilter) self.verticalLayout.addLayout(self.horizontalLayout_3) self.additionalInfos = QtWidgets.QHBoxLayout() self.additionalInfos.setSpacing(6) self.additionalInfos.setObjectName("additionalInfos") self.lStart = QtWidgets.QLabel(self.layoutWidget) self.lStart.setObjectName("lStart") self.additionalInfos.addWidget(self.lStart) self.spinBoxSelectionStart = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionStart.setReadOnly(False) self.spinBoxSelectionStart.setMaximum(99999999) self.spinBoxSelectionStart.setObjectName("spinBoxSelectionStart") self.additionalInfos.addWidget(self.spinBoxSelectionStart) self.lEnd = QtWidgets.QLabel(self.layoutWidget) self.lEnd.setObjectName("lEnd") self.additionalInfos.addWidget(self.lEnd) self.spinBoxSelectionEnd = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxSelectionEnd.setMaximum(99999999) self.spinBoxSelectionEnd.setObjectName("spinBoxSelectionEnd") self.additionalInfos.addWidget(self.spinBoxSelectionEnd) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem3) self.lZoomText = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lZoomText.sizePolicy().hasHeightForWidth()) self.lZoomText.setSizePolicy(sizePolicy) self.lZoomText.setMinimumSize(QtCore.QSize(0, 0)) self.lZoomText.setMaximumSize(QtCore.QSize(16777215, 16777215)) font = QtGui.QFont() font.setItalic(False) font.setUnderline(False) self.lZoomText.setFont(font) self.lZoomText.setTextFormat(QtCore.Qt.PlainText) self.lZoomText.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.lZoomText.setObjectName("lZoomText") self.additionalInfos.addWidget(self.lZoomText) self.spinBoxXZoom = QtWidgets.QSpinBox(self.layoutWidget) self.spinBoxXZoom.setMinimum(100) self.spinBoxXZoom.setMaximum(999999999) self.spinBoxXZoom.setObjectName("spinBoxXZoom") self.additionalInfos.addWidget(self.spinBoxXZoom) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.additionalInfos.addItem(spacerItem4) self.lSamplesInView = QtWidgets.QLabel(self.layoutWidget) self.lSamplesInView.setObjectName("lSamplesInView") self.additionalInfos.addWidget(self.lSamplesInView) self.lStrich = QtWidgets.QLabel(self.layoutWidget) self.lStrich.setObjectName("lStrich") self.additionalInfos.addWidget(self.lStrich) self.lSamplesTotal = QtWidgets.QLabel(self.layoutWidget) self.lSamplesTotal.setObjectName("lSamplesTotal") self.additionalInfos.addWidget(self.lSamplesTotal) self.lSamplesViewText = QtWidgets.QLabel(self.layoutWidget) self.lSamplesViewText.setObjectName("lSamplesViewText") self.additionalInfos.addWidget(self.lSamplesViewText) self.verticalLayout.addLayout(self.additionalInfos) self.txtEdProto = TextEditProtocolView(self.splitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.txtEdProto.sizePolicy().hasHeightForWidth()) self.txtEdProto.setSizePolicy(sizePolicy) self.txtEdProto.setMinimumSize(QtCore.QSize(0, 80)) self.txtEdProto.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.txtEdProto.setBaseSize(QtCore.QSize(0, 0)) self.txtEdProto.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.txtEdProto.setAcceptDrops(False) self.txtEdProto.setObjectName("txtEdProto") self.horizontalLayout.addWidget(self.splitter) self.retranslateUi(SignalFrame) self.stackedWidget.setCurrentIndex(0) SignalFrame.setTabOrder(self.btnSaveSignal, self.btnInfo) SignalFrame.setTabOrder(self.btnInfo, self.btnCloseSignal) SignalFrame.setTabOrder(self.btnCloseSignal, self.lineEditSignalName) SignalFrame.setTabOrder(self.lineEditSignalName, self.spinBoxNoiseTreshold) SignalFrame.setTabOrder(self.spinBoxNoiseTreshold, self.spinBoxCenterOffset) SignalFrame.setTabOrder(self.spinBoxCenterOffset, self.spinBoxInfoLen) SignalFrame.setTabOrder(self.spinBoxInfoLen, self.spinBoxTolerance) SignalFrame.setTabOrder(self.spinBoxTolerance, self.chkBoxShowProtocol) SignalFrame.setTabOrder(self.chkBoxShowProtocol, self.cbProtoView) SignalFrame.setTabOrder(self.cbProtoView, self.chkBoxSyncSelection) SignalFrame.setTabOrder(self.chkBoxSyncSelection, self.txtEdProto) SignalFrame.setTabOrder(self.txtEdProto, self.btnShowHideStartEnd) SignalFrame.setTabOrder(self.btnShowHideStartEnd, self.spinBoxSelectionStart) SignalFrame.setTabOrder(self.spinBoxSelectionStart, self.spinBoxSelectionEnd) def retranslateUi(self, SignalFrame): _translate = QtCore.QCoreApplication.translate SignalFrame.setWindowTitle(_translate("SignalFrame", "Frame")) self.cbModulationType.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Choose signals modulation:</p><ul><li>Amplitude Shift Keying (ASK)</li><li>Frequency Shift Keying (FSK)</li><li>Phase Shift Keying (PSK)</li></ul></body></html>")) self.cbModulationType.setItemText(0, _translate("SignalFrame", "ASK")) self.cbModulationType.setItemText(1, _translate("SignalFrame", "FSK")) self.cbModulationType.setItemText(2, _translate("SignalFrame", "PSK")) self.btnAdvancedModulationSettings.setText(_translate("SignalFrame", "...")) self.labelModulation.setText(_translate("SignalFrame", "Modulation:")) self.chkBoxSyncSelection.setToolTip(_translate("SignalFrame", "If this is set to true, your selected protocol bits will show up in the signal view, and vice versa.")) self.chkBoxSyncSelection.setText(_translate("SignalFrame", "Sync Selection")) self.spinBoxNoiseTreshold.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Set the <span style=\" font-weight:600;\">noise magnitude</span> of your signal. You can tune this value to mute noise in your signal and reveal the true data.</p></body></html>")) self.chkBoxShowProtocol.setToolTip(_translate("SignalFrame", "Show the extracted protocol based on the parameters InfoLen, PauseLen and ZeroTreshold (in QuadratureDemod-View).\n" "\n" "If you want your protocol to be better seperated, edit the PauseLen using right-click menu from a selection in SignalView or ProtocolView.")) self.chkBoxShowProtocol.setText(_translate("SignalFrame", "Show Signal as")) self.labelNoise.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Set the <span style=\" font-weight:600;\">noise magnitude</span> of your signal. You can tune this value to mute noise in your signal and reveal the true data.</p></body></html>")) self.labelNoise.setText(_translate("SignalFrame", "Noise:")) self.lineEditSignalName.setText(_translate("SignalFrame", "SignalName")) self.cbProtoView.setItemText(0, _translate("SignalFrame", "Bits")) self.cbProtoView.setItemText(1, _translate("SignalFrame", "Hex")) self.cbProtoView.setItemText(2, _translate("SignalFrame", "ASCII")) self.lInfoLenText.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the length of one (raw) bit <span style=\" font-weight:600;\">in samples</span>.</p></body></html>")) self.lInfoLenText.setText(_translate("SignalFrame", "Bit Length:")) self.spinBoxInfoLen.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the length of one (raw) bit <span style=\" font-weight:600;\">in samples</span>.</p></body></html>")) self.spinBoxTolerance.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the error tolerance for determining the <span style=\" font-weight:600;\">pulse lengths</span> in the demodulated signal.</p><p><span style=\" font-weight:400; font-style:italic;\">Example:</span> Say, we are reading a ones pulse and the tolerance value was set to 5. Then 5 errors (which must follow sequentially) are accepted.</p><p>Tune this value if you have <span style=\" font-weight:600;\">spiky data</span> after demodulation.</p></body></html>")) self.lErrorTolerance.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the error tolerance for determining the <span style=\" font-weight:600;\">pulse lengths</span> in the demodulated signal.</p><p><span style=\" font-weight:400; font-style:italic;\">Example:</span> Say, we are reading a ones pulse and the tolerance value was set to 5. Then 5 errors (which must follow sequentially) are accepted.</p><p>Tune this value if you have <span style=\" font-weight:600;\">spiky data</span> after demodulation.</p></body></html>")) self.lErrorTolerance.setText(_translate("SignalFrame", "Error Tolerance:")) self.lSignalViewText.setText(_translate("SignalFrame", "Signal View:")) self.lCenterOffset.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the threshold used for determining if a <span style=\" font-weight:600;\">bit is one or zero</span>. You can set it here or grab the middle of the area in <span style=\" font-style:italic;\">Quadrature Demod View.</span></p></body></html>")) self.lCenterOffset.setText(_translate("SignalFrame", "Center:")) self.spinBoxCenterOffset.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the threshold used for determining if a <span style=\" font-weight:600;\">bit is one or zero</span>. You can set it here or grab the middle of the area in <span style=\" font-style:italic;\">Quadrature Demod View</span>.</p></body></html>")) self.cbSignalView.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Choose the view of your signal. Analog, Demodulated or Spectrogram.</p><p>The quadrature demodulation uses a <span style=\" font-weight:600;\">treshold of magnitude,</span> to <span style=\" font-weight:600;\">supress noise</span>. All samples with a magnitude lower than this treshold will be eliminated (set to <span style=\" font-style:italic;\">-127</span>) after demod.</p><p>Tune this value by selecting a <span style=\" font-style:italic;\">noisy area</span> and mark it as noise using <span style=\" font-weight:600;\">context menu</span>.</p><p>Current noise treshold is: </p></body></html>")) self.cbSignalView.setItemText(0, _translate("SignalFrame", "Analog")) self.cbSignalView.setItemText(1, _translate("SignalFrame", "Demodulated")) self.cbSignalView.setItemText(2, _translate("SignalFrame", "Spectrogram")) self.btnSaveSignal.setText(_translate("SignalFrame", "...")) self.btnCloseSignal.setText(_translate("SignalFrame", "X")) self.lSignalTyp.setText(_translate("SignalFrame", "<Signaltyp>")) self.lSignalNr.setText(_translate("SignalFrame", "1:")) self.btnInfo.setText(_translate("SignalFrame", "...")) self.btnReplay.setToolTip(_translate("SignalFrame", "Replay signal")) self.labelFFTWindowSize.setText(_translate("SignalFrame", "FFT Window Size:")) self.labelSpectrogramMin.setText(_translate("SignalFrame", "Data<sub>min</sub>:")) self.labelSpectrogramMax.setText(_translate("SignalFrame", "Data<sub>max</sub>:")) self.btnAutoDetect.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Automatically detect <span style=\" font-weight:600;\">center</span>, <span style=\" font-weight:600;\">bit length</span> and <span style=\" font-weight:600;\">tolerance</span>. You can also choose to addtionally detect the <span style=\" font-weight:600;\">noise</span> and <span style=\" font-weight:600;\">modulation</span> when clicking this button.</p></body></html>")) self.btnAutoDetect.setText(_translate("SignalFrame", "Autodetect parameters")) self.labelLoadingAutoInterpretation.setText(_translate("SignalFrame", "<html><head/><body><p>Running automatic detecting of demodulation parameters.</p><p>You can disable this behaviour for newly loaded signals by unchecking <span style=\" font-weight:600;\">Edit</span> -> <span style=\" font-weight:600;\">Auto detect signals on loading</span>.</p></body></html>")) self.lYScale.setText(_translate("SignalFrame", "Y-Scale")) self.btnShowHideStartEnd.setText(_translate("SignalFrame", "-")) self.lNumSelectedSamples.setToolTip(_translate("SignalFrame", "Number of currently selected samples.")) self.lNumSelectedSamples.setText(_translate("SignalFrame", "0")) self.lTextSelectedSamples.setToolTip(_translate("SignalFrame", "Number of currently selected samples.")) self.lTextSelectedSamples.setText(_translate("SignalFrame", "selected")) self.lDuration.setText(_translate("SignalFrame", "42 µs")) self.labelRSSI.setToolTip(_translate("SignalFrame", "<html><head/><body><p>This is the average signal power of the selection. The closer this value is to zero, the stronger the selected signal is.</p></body></html>")) self.labelRSSI.setText(_translate("SignalFrame", "0,434 dBm")) self.btnFilter.setText(_translate("SignalFrame", "Filter (moving average)")) self.lStart.setText(_translate("SignalFrame", "Start:")) self.lEnd.setText(_translate("SignalFrame", "End:")) self.lZoomText.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Current (relative) Zoom. Standard is 100%, if you zoom in, this factor increases. You can directly set a value in the spinbox or use the <span style=\" font-weight:600;\">mousewheel to zoom</span>.</p></body></html>")) self.lZoomText.setText(_translate("SignalFrame", "X-Zoom:")) self.spinBoxXZoom.setToolTip(_translate("SignalFrame", "<html><head/><body><p>Current (relative) Zoom. Standard is 100%, if you zoom in, this factor increases. You can directly set a value in the spinbox or use the <span style=\" font-weight:600;\">mousewheel to zoom</span>.</p></body></html>")) self.spinBoxXZoom.setSuffix(_translate("SignalFrame", "%")) self.lSamplesInView.setText(_translate("SignalFrame", "0")) self.lStrich.setText(_translate("SignalFrame", "/")) self.lSamplesTotal.setText(_translate("SignalFrame", "0")) self.lSamplesViewText.setText(_translate("SignalFrame", "Samples in view"))