UI updates

This commit is contained in:
Ayzen
2026-04-01 20:21:16 +03:00
parent 4abc95c372
commit 669205d8f8
43 changed files with 2055 additions and 973 deletions
@@ -2,8 +2,17 @@
from __future__ import annotations
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QComboBox, QGroupBox, QHBoxLayout, QLabel, QLineEdit, QPushButton, QSpinBox, QVBoxLayout
from PyQt6.QtWidgets import (
QGridLayout,
QGroupBox,
QHBoxLayout,
QLabel,
QLineEdit,
QPushButton,
QSizePolicy,
QSpinBox,
QVBoxLayout,
)
def build_data_actions_group(owner) -> QGroupBox:
@@ -11,59 +20,46 @@ def build_data_actions_group(owner) -> QGroupBox:
group = QGroupBox("Data Actions")
layout = QVBoxLayout(group)
layout.setSpacing(8)
data_defaults = owner._gui_defaults.data_actions
save_button = QPushButton("Save Snapshot")
save_button = QPushButton("Save Dataset")
save_button.clicked.connect(owner._save_snapshot)
save_vna_json_button = QPushButton("Save VNA JSON")
save_button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
save_vna_json_button = QPushButton("Save JSON")
save_vna_json_button.clicked.connect(owner._save_vna_history_json)
save_vna_json_button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
remove_last_button = QPushButton("Remove Last Measurement")
remove_last_button.clicked.connect(owner._remove_last_runtime_history)
remove_last_button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
clear_history_button = QPushButton("Clear Runtime History")
clear_history_button.clicked.connect(owner._clear_all_runtime_history)
clear_history_button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
owner._save_count = QSpinBox()
owner._save_count.setMinimum(1)
owner._save_count.setMaximum(10_000)
owner._save_count.setValue(10)
owner._vna_json_input_index = QSpinBox()
owner._vna_json_input_index.setMinimum(0)
owner._vna_json_input_index.setMaximum(65_535)
owner._vna_json_input_index.setValue(0)
owner._vna_json_output_index = QSpinBox()
owner._vna_json_output_index.setMinimum(0)
owner._vna_json_output_index.setMaximum(65_535)
owner._vna_json_output_index.setValue(0)
owner._vna_json_channel = QComboBox()
owner._vna_json_channel.addItems(["s21", "s11"])
owner._save_count.setValue(int(data_defaults.save_count))
button_column = QVBoxLayout()
button_column.setSpacing(8)
button_column.addWidget(save_button, alignment=Qt.AlignmentFlag.AlignLeft)
button_column.addWidget(save_vna_json_button, alignment=Qt.AlignmentFlag.AlignLeft)
button_column.addWidget(remove_last_button, alignment=Qt.AlignmentFlag.AlignLeft)
button_column.addWidget(clear_history_button, alignment=Qt.AlignmentFlag.AlignLeft)
layout.addLayout(button_column)
button_grid = QGridLayout()
button_grid.setHorizontalSpacing(8)
button_grid.setVerticalSpacing(8)
button_grid.addWidget(save_button, 0, 0)
button_grid.addWidget(save_vna_json_button, 0, 1)
button_grid.addWidget(remove_last_button, 1, 0)
button_grid.addWidget(clear_history_button, 1, 1)
button_grid.setColumnStretch(0, 1)
button_grid.setColumnStretch(1, 1)
layout.addLayout(button_grid)
count_row = QHBoxLayout()
count_row.setSpacing(8)
count_row.addWidget(QLabel("Last N"))
count_row.addWidget(QLabel("Number of Measurements to Save"))
count_row.addWidget(owner._save_count)
count_row.addStretch(1)
layout.addLayout(count_row)
json_row = QHBoxLayout()
json_row.setSpacing(8)
json_row.addWidget(QLabel("JSON input"))
json_row.addWidget(owner._vna_json_input_index)
json_row.addWidget(QLabel("output"))
json_row.addWidget(owner._vna_json_output_index)
json_row.addWidget(QLabel("channel"))
json_row.addWidget(owner._vna_json_channel)
json_row.addStretch(1)
layout.addLayout(json_row)
path_row = QHBoxLayout()
path_row.setSpacing(8)
owner._save_path_input = QLineEdit(str(owner._project_root / "python_app/data/snapshots"))
owner._save_path_input = QLineEdit(str(data_defaults.save_path))
browse_button = QPushButton("Browse")
browse_button.clicked.connect(owner._browse_save_path)
path_row.addWidget(QLabel("Path"))
@@ -73,7 +69,7 @@ def build_data_actions_group(owner) -> QGroupBox:
name_row = QHBoxLayout()
name_row.setSpacing(8)
owner._save_name_input = QLineEdit("snapshot_manual")
owner._save_name_input = QLineEdit(str(data_defaults.save_name))
name_row.addWidget(QLabel("Name"))
name_row.addWidget(owner._save_name_input, stretch=1)
layout.addLayout(name_row)