From 33288750b16958597779cbbd501528b5e30a5198 Mon Sep 17 00:00:00 2001 From: hneemann Date: Sun, 2 Jul 2017 13:51:50 +0200 Subject: [PATCH] Simulation settings are stored in the *.dig file. --- src/main/java/de/neemann/digital/gui/Main.java | 7 +++---- .../digital/gui/components/CircuitComponent.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index 9f928ddb6..cfe7422f8 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -115,7 +115,6 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS private final ShapeFactory shapeFactory; private final JLabel statusLabel; private final StateManager stateManager = new StateManager(); - private final ElementAttributes settings = new ElementAttributes(); private final ScheduledThreadPoolExecutor timerExecutor = new ScheduledThreadPoolExecutor(1); private final WindowPosManager windowPosManager = new WindowPosManager(); private final InsertHistory insertHistory; @@ -785,9 +784,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS ToolTipAction editRunAttributes = new ToolTipAction(Lang.get("menu_editRunAttributes")) { @Override public void actionPerformed(ActionEvent e) { - settings.getValuesFrom( - new AttributeDialog(Main.this, ATTR_LIST, settings) - .showDialog()); + circuitComponent.editCircuitAttributes(Main.this, ATTR_LIST); } }.setToolTip(Lang.get("menu_editRunAttributes_tt")); @@ -1000,6 +997,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS doStep.setEnabled(false); runToBreakAction.setEnabled(!realTimeClockRunning && model.isFastRunModel()); + ElementAttributes settings = circuitComponent.getCircuit().getAttributes(); List ordering = circuitComponent.getCircuit().getMeasurementOrdering(); if (settings.get(Keys.SHOW_DATA_TABLE)) windowPosManager.register("probe", new ProbeDialog(this, model, updateEvent, ordering, modelSync)).setVisible(true); @@ -1290,6 +1288,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS } private void setDebug(boolean debug) { + ElementAttributes settings = circuitComponent.getCircuit().getAttributes(); settings.set(Keys.SHOW_DATA_TABLE, debug); } diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index a0f22c806..611920059 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -328,7 +328,17 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe * @param parent the parent component */ public void editCircuitAttributes(Component parent) { - ElementAttributes modifiedAttributes = new AttributeDialog(parent, ATTR_LIST, circuit.getAttributes()).showDialog(); + editCircuitAttributes(parent, ATTR_LIST); + } + + /** + * Opens the attribute editor + * + * @param parent the parent component + * @param attrList the list of keys to edit + */ + public void editCircuitAttributes(Component parent, java.util.List attrList) { + ElementAttributes modifiedAttributes = new AttributeDialog(parent, attrList, circuit.getAttributes()).showDialog(); if (modifiedAttributes != null) modify(new ModifyCircuitAttributes(modifiedAttributes)); }