From 35def2831acd67ace6943e06f502a356529c3357 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 27 Mar 2026 13:11:19 +0200 Subject: Auto-open CLI simulation files on startup --- src/main/java/simulator/VSSimulatorFrame.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main/java/simulator/VSSimulatorFrame.java') diff --git a/src/main/java/simulator/VSSimulatorFrame.java b/src/main/java/simulator/VSSimulatorFrame.java index 3cf4e91..818bea9 100644 --- a/src/main/java/simulator/VSSimulatorFrame.java +++ b/src/main/java/simulator/VSSimulatorFrame.java @@ -504,6 +504,7 @@ public class VSSimulatorFrame extends VSFrame { tabbedPane.addTab(prefs.getString("lang.simulator") + " " + simulator.getSimulatorNum(), simulator); tabbedPane.setSelectedComponent(simulator); + currentSimulator = simulator; if (simulators.size() == 1) { menuEdit.setEnabled(true); @@ -576,6 +577,9 @@ public class VSSimulatorFrame extends VSFrame { * Starts the current simulator */ public void startCurrentSimulator() { + if (currentSimulator == null) + return; + VSMenuItemStates menuItemState = currentSimulator.getMenuItemStates(); menuItemState.setStart(false); @@ -586,6 +590,23 @@ public class VSSimulatorFrame extends VSFrame { updateSimulatorMenu(); } + /** + * Opens the given simulator file and starts playback if load succeeds. + * + * @param filename the simulation file to open + * + * @return the loaded simulator, or null if loading failed + */ + public VSSimulator openAndStartSimulator(String filename) { + VSSerialize serialize = new VSSerialize(); + VSSimulator simulator = serialize.openSimulator(filename, this); + + if (simulator != null) + startCurrentSimulator(); + + return simulator; + } + /** * Pauses the current simulator */ -- cgit v1.2.3