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__)
class MarkerControl(Control):
def __init__(self, app: QtWidgets.QWidget):
@ -35,7 +36,7 @@ class MarkerControl(Control):
marker_count = max(self.app.settings.value("MarkerCount", 3, int), 1)
for i in range(marker_count):
marker = Marker("", self.app.settings)
#marker.setFixedHeight(20)
# marker.setFixedHeight(20)
marker.updated.connect(self.app.markerUpdated)
label, layout = marker.getRow()
self.layout.addRow(label, layout)
@ -45,7 +46,15 @@ class MarkerControl(Control):
self.check_delta = QCheckBox("Enable Delta Marker")
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.setFixedHeight(20)
@ -76,3 +85,15 @@ class MarkerControl(Control):
def toggle_delta(self):
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
if getattr(sys, 'frozen', False):
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:
self.icon = QtGui.QIcon("icon_48x48.png")
self.setWindowIcon(self.icon)
@ -81,6 +82,7 @@ class NanoVNASaver(QtWidgets.QWidget):
self.worker.signals.sweepError.connect(self.showSweepError)
self.markers = []
self.marker_ref = False
self.marker_column = QtWidgets.QVBoxLayout()
self.marker_frame = QtWidgets.QFrame()
@ -255,7 +257,7 @@ class NanoVNASaver(QtWidgets.QWidget):
self.marker_data_layout.addWidget(m.get_data_layout())
scroll2 = QtWidgets.QScrollArea()
#scroll2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
# scroll2.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
scroll2.setWidgetResizable(True)
scroll2.setVisible(True)
@ -402,7 +404,6 @@ class NanoVNASaver(QtWidgets.QWidget):
btn_about.clicked.connect(
lambda: self.display_window("about"))
btn_open_file_window = QtWidgets.QPushButton("Files")
btn_open_file_window.setMinimumHeight(20)
btn_open_file_window.setMaximumWidth(240)
@ -467,13 +468,31 @@ class NanoVNASaver(QtWidgets.QWidget):
marker.updateLabels(self.data.s11, self.data.s21)
for c in self.subscribing_charts:
c.update()
if Marker.count() >= 2 and not self.delta_marker_layout.isHidden():
self.delta_marker.set_markers(self.markers[0], self.markers[1])
self.delta_marker.resetLabels()
try:
self.delta_marker.updateLabels()
except IndexError:
pass
if not self.delta_marker_layout.isHidden():
m1 = self.markers[0]
m2 = None
if self.marker_ref:
if self.ref_data:
m2 = Marker("Reference")
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):
with self.dataLock: