def defaultButtonClick(self): self.currentFieldSelection = default_label_ids() self.update_displayed_data_form() self.updateMarker()
def __init__(self, app: QtWidgets.QWidget): super().__init__() self.app = app self.setWindowTitle("Marker settings") self.setWindowIcon(self.app.icon) QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.cancelButtonClick) self.exampleMarker = Marker("Example marker") layout = QtWidgets.QVBoxLayout() self.setLayout(layout) settings_group_box = QtWidgets.QGroupBox("Settings") settings_group_box_layout = QtWidgets.QFormLayout(settings_group_box) self.checkboxColouredMarker = QtWidgets.QCheckBox( "Colored marker name") self.checkboxColouredMarker.setChecked( self.app.settings.value("ColoredMarkerNames", True, bool)) self.checkboxColouredMarker.stateChanged.connect(self.updateMarker) settings_group_box_layout.addRow(self.checkboxColouredMarker) fields_group_box = QtWidgets.QGroupBox("Displayed data") fields_group_box_layout = QtWidgets.QFormLayout(fields_group_box) self.savedFieldSelection = self.app.settings.value( "MarkerFields", defaultValue=default_label_ids()) if self.savedFieldSelection == "": self.savedFieldSelection = [] self.currentFieldSelection = self.savedFieldSelection[:] self.active_labels_view = QtWidgets.QListView() self.update_displayed_data_form() fields_group_box_layout.addRow(self.active_labels_view) layout.addWidget(settings_group_box) layout.addWidget(fields_group_box) layout.addWidget(self.exampleMarker.getGroupBox()) btn_layout = QtWidgets.QHBoxLayout() layout.addLayout(btn_layout) btn_ok = QtWidgets.QPushButton("OK") btn_apply = QtWidgets.QPushButton("Apply") btn_default = QtWidgets.QPushButton("Defaults") btn_cancel = QtWidgets.QPushButton("Cancel") btn_ok.clicked.connect(self.okButtonClick) btn_apply.clicked.connect(self.applyButtonClick) btn_default.clicked.connect(self.defaultButtonClick) btn_cancel.clicked.connect(self.cancelButtonClick) btn_layout.addWidget(btn_ok) btn_layout.addWidget(btn_apply) btn_layout.addWidget(btn_default) btn_layout.addWidget(btn_cancel) self.updateMarker() for m in self.app.markers: m.setFieldSelection(self.currentFieldSelection) m.setColoredText(self.checkboxColouredMarker.isChecked())
def __init__(self, name: str = "", qsettings: QtCore.QSettings = None): super().__init__() self.name = name self.qsettings = qsettings self.name = name self.color = QtGui.QColor() self.index = 0 if self.qsettings: Marker._instances += 1 Marker.active_labels = self.qsettings.value( "MarkerFields", defaultValue=default_label_ids()) self.index = Marker._instances if not self.name: self.name = f"Marker {Marker._instances}" # self.freq = RFTools.RFTools.parseFrequency(frequency) self.frequencyInput = FrequencyInput() self.frequencyInput.setAlignment(QtCore.Qt.AlignRight) self.frequencyInput.textEdited.connect(self.setFrequency) ############################################################### # Data display labels ############################################################### self.label = {} for l in TYPES: self.label[l.label_id] = MarkerLabel(l.name) self.label['actualfreq'].setMinimumWidth(100) self.label['returnloss'].setMinimumWidth(80) ############################################################### # Marker control layout ############################################################### self.btnColorPicker = QtWidgets.QPushButton("█") self.btnColorPicker.setFixedWidth(20) self.btnColorPicker.clicked.connect( lambda: self.setColor(QtWidgets.QColorDialog.getColor( self.color, options=QtWidgets.QColorDialog.ShowAlphaChannel)) ) self.isMouseControlledRadioButton = QtWidgets.QRadioButton() self.layout = QtWidgets.QHBoxLayout() self.layout.addWidget(self.frequencyInput) self.layout.addWidget(self.btnColorPicker) self.layout.addWidget(self.isMouseControlledRadioButton) ############################################################### # Data display layout ############################################################### self.group_box = QtWidgets.QGroupBox(self.name) self.group_box.setMaximumWidth(340) box_layout = QtWidgets.QHBoxLayout(self.group_box) try: self.setColor( self.qsettings.value( f"Marker{self.count()}Color", COLORS[self.count()])) except AttributeError: # happens when qsettings == None self.setColor(COLORS[1]) except IndexError: self.setColor(COLORS[0]) line = QtWidgets.QFrame() line.setFrameShape(QtWidgets.QFrame.VLine) # line only if more then 3 selected self.left_form = QtWidgets.QFormLayout() self.right_form = QtWidgets.QFormLayout() box_layout.addLayout(self.left_form) box_layout.addWidget(line) box_layout.addLayout(self.right_form) self.buildForm()