Merge pull request #496 from gaionim/features/delta_reference

delta reference
pull/499/head
Holger Müller 2022-05-14 10:39:33 +02:00 zatwierdzone przez GitHub
commit 140ce4906c
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 52 dodań i 12 usunięć

Wyświetl plik

@ -27,6 +27,7 @@ from NanoVNASaver.Controls.Control import Control
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class MarkerControl(Control): class MarkerControl(Control):
def __init__(self, app: QtWidgets.QWidget): def __init__(self, app: QtWidgets.QWidget):
@ -35,7 +36,7 @@ class MarkerControl(Control):
marker_count = max(self.app.settings.value("MarkerCount", 3, int), 1) marker_count = max(self.app.settings.value("MarkerCount", 3, int), 1)
for i in range(marker_count): for i in range(marker_count):
marker = Marker("", self.app.settings) marker = Marker("", self.app.settings)
#marker.setFixedHeight(20) # marker.setFixedHeight(20)
marker.updated.connect(self.app.markerUpdated) marker.updated.connect(self.app.markerUpdated)
label, layout = marker.getRow() label, layout = marker.getRow()
self.layout.addRow(label, layout) self.layout.addRow(label, layout)
@ -45,7 +46,15 @@ class MarkerControl(Control):
self.check_delta = QCheckBox("Enable Delta Marker") self.check_delta = QCheckBox("Enable Delta Marker")
self.check_delta.toggled.connect(self.toggle_delta) self.check_delta.toggled.connect(self.toggle_delta)
self.layout.addRow(self.check_delta)
self.check_delta_reference = QCheckBox("reference")
self.check_delta_reference.toggled.connect(self.toggle_delta_reference)
layout2 = QtWidgets.QHBoxLayout()
layout2.addWidget(self.check_delta)
layout2.addWidget(self.check_delta_reference)
self.layout.addRow(layout2)
self.showMarkerButton = QtWidgets.QPushButton() self.showMarkerButton = QtWidgets.QPushButton()
self.showMarkerButton.setFixedHeight(20) self.showMarkerButton.setFixedHeight(20)
@ -76,3 +85,15 @@ class MarkerControl(Control):
def toggle_delta(self): def toggle_delta(self):
self.app.delta_marker_layout.setVisible(self.check_delta.isChecked()) self.app.delta_marker_layout.setVisible(self.check_delta.isChecked())
def toggle_delta_reference(self):
self.app.marker_ref = bool(self.check_delta_reference.isChecked())
if self.app.marker_ref:
new_name = "Delta Reference - Marker 1"
else:
new_name = "Delta Marker 2 - Marker 1"
# FIXME: reset
self.app.delta_marker.group_box.setTitle(new_name)
self.app.delta_marker.resetLabels()

Wyświetl plik

@ -64,7 +64,8 @@ class NanoVNASaver(QtWidgets.QWidget):
self.s21att = 0.0 self.s21att = 0.0
if getattr(sys, 'frozen', False): if getattr(sys, 'frozen', False):
logger.debug("Running from pyinstaller bundle") logger.debug("Running from pyinstaller bundle")
self.icon = QtGui.QIcon(f"{sys._MEIPASS}/icon_48x48.png") # pylint: disable=no-member self.icon = QtGui.QIcon(
f"{sys._MEIPASS}/icon_48x48.png") # pylint: disable=no-member
else: else:
self.icon = QtGui.QIcon("icon_48x48.png") self.icon = QtGui.QIcon("icon_48x48.png")
self.setWindowIcon(self.icon) self.setWindowIcon(self.icon)
@ -81,6 +82,7 @@ class NanoVNASaver(QtWidgets.QWidget):
self.worker.signals.sweepError.connect(self.showSweepError) self.worker.signals.sweepError.connect(self.showSweepError)
self.markers = [] self.markers = []
self.marker_ref = False
self.marker_column = QtWidgets.QVBoxLayout() self.marker_column = QtWidgets.QVBoxLayout()
self.marker_frame = QtWidgets.QFrame() self.marker_frame = QtWidgets.QFrame()
@ -255,7 +257,7 @@ class NanoVNASaver(QtWidgets.QWidget):
self.marker_data_layout.addWidget(m.get_data_layout()) self.marker_data_layout.addWidget(m.get_data_layout())
scroll2 = QtWidgets.QScrollArea() scroll2 = QtWidgets.QScrollArea()
#scroll2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) # scroll2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
scroll2.setWidgetResizable(True) scroll2.setWidgetResizable(True)
scroll2.setVisible(True) scroll2.setVisible(True)
@ -402,7 +404,6 @@ class NanoVNASaver(QtWidgets.QWidget):
btn_about.clicked.connect( btn_about.clicked.connect(
lambda: self.display_window("about")) lambda: self.display_window("about"))
btn_open_file_window = QtWidgets.QPushButton("Files") btn_open_file_window = QtWidgets.QPushButton("Files")
btn_open_file_window.setMinimumHeight(20) btn_open_file_window.setMinimumHeight(20)
btn_open_file_window.setMaximumWidth(240) btn_open_file_window.setMaximumWidth(240)
@ -467,13 +468,31 @@ class NanoVNASaver(QtWidgets.QWidget):
marker.updateLabels(self.data.s11, self.data.s21) marker.updateLabels(self.data.s11, self.data.s21)
for c in self.subscribing_charts: for c in self.subscribing_charts:
c.update() c.update()
if Marker.count() >= 2 and not self.delta_marker_layout.isHidden(): if not self.delta_marker_layout.isHidden():
self.delta_marker.set_markers(self.markers[0], self.markers[1]) m1 = self.markers[0]
self.delta_marker.resetLabels() m2 = None
try: if self.marker_ref:
self.delta_marker.updateLabels() if self.ref_data:
except IndexError: m2 = Marker("Reference")
pass m2.location = self.markers[0].location
m2.resetLabels()
m2.updateLabels(self.ref_data.s11,
self.ref_data.s21)
else:
logger.warning("No reference data for marker")
elif Marker.count() >= 2:
m2 = self.markers[1]
if m2 is None:
logger.error("No data for delta, missing marker or reference")
else:
self.delta_marker.set_markers(m1, m2)
self.delta_marker.resetLabels()
try:
self.delta_marker.updateLabels()
except IndexError:
pass
def dataUpdated(self): def dataUpdated(self):
with self.dataLock: with self.dataLock: