sn9000 support
This commit is contained in:
@@ -33,10 +33,10 @@ class AppWindowConfigProfileIOMixin:
|
||||
|
||||
def _set_combo_selection_mode(self, mode: str) -> None:
|
||||
"""Highlight current combo mode and enable only the relevant editors."""
|
||||
if self._is_multi_device_model_selected():
|
||||
if self._is_matrix_radar_model_selected():
|
||||
self._run_combos_select_button.setChecked(True)
|
||||
self._single_combo_select_button.setChecked(False)
|
||||
self._combos_text.setText(self._fixed_multi_combo_text())
|
||||
self._combos_text.setText(self._fixed_matrix_radar_combo_text())
|
||||
self._combos_text.setEnabled(False)
|
||||
self._single_combo_output.setEnabled(True)
|
||||
self._single_combo_input.setEnabled(True)
|
||||
@@ -53,15 +53,15 @@ class AppWindowConfigProfileIOMixin:
|
||||
self._run_combos_select_button.setEnabled(True)
|
||||
self._single_combo_select_button.setEnabled(True)
|
||||
|
||||
def _is_multi_device_model_selected(self) -> bool:
|
||||
"""Return whether the loaded config targets LibreVNA multi-device acquisition."""
|
||||
return bool(self._defaults_config.is_multi_device)
|
||||
def _is_matrix_radar_model_selected(self) -> bool:
|
||||
"""Return whether the loaded config targets a matrix-mode radar acquisition."""
|
||||
return bool(self._defaults_config.is_matrix_radar)
|
||||
|
||||
def _fixed_multi_combo_text(self) -> str:
|
||||
"""Return the canonical virtual combo matrix shown for multi-device mode."""
|
||||
def _fixed_matrix_radar_combo_text(self) -> str:
|
||||
"""Return the canonical virtual combo matrix shown for matrix-mode radars."""
|
||||
return ",".join(
|
||||
f"{int(combo.input)}:{int(combo.output)}"
|
||||
for combo in RunConfigModel.build_multi_device_virtual_combos()
|
||||
for combo in RunConfigModel.build_matrix_radar_virtual_combos()
|
||||
)
|
||||
|
||||
def _sync_pass_through_y_controls(self) -> None:
|
||||
|
||||
@@ -114,10 +114,10 @@ class AppWindowConfigStateBuildersMixin:
|
||||
@staticmethod
|
||||
def _format_combos_text_from_config(config: RunConfigModel) -> str:
|
||||
"""Render configured combos for UI text editor, keeping full matrix as empty."""
|
||||
if config.is_multi_device:
|
||||
if config.is_matrix_radar:
|
||||
return ",".join(
|
||||
f"{int(combo.input)}:{int(combo.output)}"
|
||||
for combo in RunConfigModel.build_multi_device_virtual_combos()
|
||||
for combo in RunConfigModel.build_matrix_radar_virtual_combos()
|
||||
)
|
||||
combos = list(config.combos)
|
||||
full_combos = config.build_full_combos(config.input_switch.positions, config.output_switch.positions)
|
||||
@@ -285,14 +285,14 @@ class AppWindowConfigStateBuildersMixin:
|
||||
switches=GuiSwitchStateModel(
|
||||
combo_mode=(
|
||||
"text"
|
||||
if self._is_multi_device_model_selected()
|
||||
if self._is_matrix_radar_model_selected()
|
||||
else "single"
|
||||
if self._single_combo_select_button.isChecked()
|
||||
else "text"
|
||||
),
|
||||
combos_text=(
|
||||
self._fixed_multi_combo_text()
|
||||
if self._is_multi_device_model_selected()
|
||||
self._fixed_matrix_radar_combo_text()
|
||||
if self._is_matrix_radar_model_selected()
|
||||
else self._combos_text.text().strip()
|
||||
),
|
||||
single_input=self._single_combo_input.text().strip(),
|
||||
|
||||
Reference in New Issue
Block a user