Launching of simulation application

This commit is contained in:
Joppe Blondel
2026-07-31 12:24:52 +02:00
parent 66737e323b
commit 89ac2d8ff8
17 changed files with 555 additions and 36 deletions
@@ -51,7 +51,7 @@ class SimulationSettingsDialog(QDialog):
self.ui.simulationMethodComboBox.currentIndexChanged.connect(self._form_changed)
self.ui.toleranceEdit.textEdited.connect(self._form_changed)
self._rebuild_list()
self._rebuild_list(self._database.active_simulation)
def database(self) -> SimulationDatabase:
return deepcopy(self._database)
@@ -68,6 +68,7 @@ class SimulationSettingsDialog(QDialog):
QMessageBox.warning(self, "Invalid simulation", "The DASSL tolerance must be greater than zero.")
return
simulation.name = simulation.name.strip()
self._database.active_simulation = self._simulation_id()
super().accept()
def _rebuild_list(self, selected_id: SimulationID | None = None) -> None:
@@ -172,6 +173,8 @@ class SimulationSettingsDialog(QDialog):
row = self._simulation_ids.index(simulation_id)
del self._database.simulations[simulation_id]
self._simulation_ids.remove(simulation_id)
if self._database.active_simulation == simulation_id:
self._database.active_simulation = None
selected = self._simulation_ids[min(row, len(self._simulation_ids) - 1)] if self._simulation_ids else None
self._rebuild_list(selected)