mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-28 07:28:20 -04:00
More intuitive tool bar buttons to start and stop the simulation.
This commit is contained in:
parent
3f1f0b2fb0
commit
204f80aebd
@ -88,7 +88,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
private static final Icon ICON_MICRO = IconCreator.create("media-playback-start-2.png");
|
private static final Icon ICON_MICRO = IconCreator.create("media-playback-start-2.png");
|
||||||
private static final Icon ICON_TEST = IconCreator.create("media-playback-start-T.png");
|
private static final Icon ICON_TEST = IconCreator.create("media-playback-start-T.png");
|
||||||
private static final Icon ICON_STEP = IconCreator.create("media-seek-forward.png");
|
private static final Icon ICON_STEP = IconCreator.create("media-seek-forward.png");
|
||||||
private static final Icon ICON_ELEMENT = IconCreator.create("preferences-system.png");
|
private static final Icon ICON_STOP = IconCreator.create("media-playback-stop.png");
|
||||||
private static final Icon ICON_NEW = IconCreator.create("document-new.png");
|
private static final Icon ICON_NEW = IconCreator.create("document-new.png");
|
||||||
private static final Icon ICON_OPEN = IconCreator.create("document-open.png");
|
private static final Icon ICON_OPEN = IconCreator.create("document-open.png");
|
||||||
private static final Icon ICON_OPEN_WIN = IconCreator.create("document-open-new.png");
|
private static final Icon ICON_OPEN_WIN = IconCreator.create("document-open-new.png");
|
||||||
@ -123,7 +123,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
private ModelCreator modelCreator;
|
private ModelCreator modelCreator;
|
||||||
private boolean realtimeClockRunning;
|
private boolean realtimeClockRunning;
|
||||||
|
|
||||||
private State elementState;
|
private State stoppedState;
|
||||||
private RunModelState runModelState;
|
private RunModelState runModelState;
|
||||||
private State runModelMicroState;
|
private State runModelMicroState;
|
||||||
|
|
||||||
@ -214,11 +214,8 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
|
|
||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
|
||||||
ToolTipAction elementStateAction = elementState.createToolTipAction(Lang.get("menu_element"), ICON_ELEMENT).setToolTip(Lang.get("menu_element_tt"));
|
createEditMenu(menuBar);
|
||||||
|
|
||||||
createEditMenu(menuBar, elementStateAction);
|
|
||||||
|
|
||||||
toolBar.add(elementState.setIndicator(elementStateAction.createJButtonNoText()));
|
|
||||||
toolBar.add(circuitComponent.getDeleteAction().createJButtonNoText());
|
toolBar.add(circuitComponent.getDeleteAction().createJButtonNoText());
|
||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
|
||||||
@ -228,7 +225,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
|
|
||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
|
||||||
librarySelector = new LibrarySelector(library, shapeFactory, elementState);
|
librarySelector = new LibrarySelector(library, shapeFactory, stoppedState);
|
||||||
menuBar.add(librarySelector.buildMenu(new InsertHistory(toolBar), circuitComponent));
|
menuBar.add(librarySelector.buildMenu(new InsertHistory(toolBar), circuitComponent));
|
||||||
|
|
||||||
getContentPane().add(toolBar, BorderLayout.NORTH);
|
getContentPane().add(toolBar, BorderLayout.NORTH);
|
||||||
@ -405,9 +402,8 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
* Creates the edit menu
|
* Creates the edit menu
|
||||||
*
|
*
|
||||||
* @param menuBar the menu bar
|
* @param menuBar the menu bar
|
||||||
* @param elementStateAction state action to add to menu
|
|
||||||
*/
|
*/
|
||||||
private void createEditMenu(JMenuBar menuBar, ToolTipAction elementStateAction) {
|
private void createEditMenu(JMenuBar menuBar) {
|
||||||
JMenu edit = new JMenu(Lang.get("menu_edit"));
|
JMenu edit = new JMenu(Lang.get("menu_edit"));
|
||||||
menuBar.add(edit);
|
menuBar.add(edit);
|
||||||
|
|
||||||
@ -462,23 +458,22 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
circuitComponent.getCircuit().actualToDefault();
|
circuitComponent.getCircuit().actualToDefault();
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
}
|
}
|
||||||
}.setToolTip(Lang.get("menu_actualToDefault_tt"));
|
}.setToolTip(Lang.get("menu_actualToDefault_tt"));
|
||||||
|
|
||||||
ToolTipAction unprogramAlFuses = new ToolTipAction(Lang.get("menu_unprogramAllFuses")) {
|
ToolTipAction unprogramAllFuses = new ToolTipAction(Lang.get("menu_unprogramAllFuses")) {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
circuitComponent.getCircuit().unprogramAllFuses();
|
circuitComponent.getCircuit().unprogramAllFuses();
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
}
|
}
|
||||||
}.setToolTip(Lang.get("menu_unprogramAllFuses_tt"));
|
}.setToolTip(Lang.get("menu_unprogramAllFuses_tt"));
|
||||||
|
|
||||||
edit.add(editAttributes.createJMenuItem());
|
edit.add(editAttributes.createJMenuItem());
|
||||||
edit.add(actualToDefault.createJMenuItem());
|
edit.add(actualToDefault.createJMenuItem());
|
||||||
edit.add(unprogramAlFuses.createJMenuItem());
|
edit.add(unprogramAllFuses.createJMenuItem());
|
||||||
edit.addSeparator();
|
edit.addSeparator();
|
||||||
edit.add(elementStateAction.createJMenuItem());
|
|
||||||
edit.add(orderInputs.createJMenuItem());
|
edit.add(orderInputs.createJMenuItem());
|
||||||
edit.add(orderOutputs.createJMenuItem());
|
edit.add(orderOutputs.createJMenuItem());
|
||||||
edit.add(orderMeasurements.createJMenuItem());
|
edit.add(orderMeasurements.createJMenuItem());
|
||||||
@ -499,8 +494,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the start menu
|
* Creates the start menu
|
||||||
*
|
* @param menuBar the menu bar
|
||||||
* @param menuBar the menu bar
|
|
||||||
* @param toolBar the tool bar
|
* @param toolBar the tool bar
|
||||||
*/
|
*/
|
||||||
private void createStartMenu(JMenuBar menuBar, JToolBar toolBar) {
|
private void createStartMenu(JMenuBar menuBar, JToolBar toolBar) {
|
||||||
@ -533,12 +527,13 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
circuitComponent.hasChanged();
|
circuitComponent.hasChanged();
|
||||||
statusLabel.setText(Lang.get("stat_clocks", i));
|
statusLabel.setText(Lang.get("stat_clocks", i));
|
||||||
} catch (NodeException e1) {
|
} catch (NodeException e1) {
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
new ErrorMessage(Lang.get("msg_fastRunError")).addCause(e1).show(Main.this);
|
new ErrorMessage(Lang.get("msg_fastRunError")).addCause(e1).show(Main.this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.setToolTip(Lang.get("menu_fast_tt")).setActive(false);
|
}.setToolTip(Lang.get("menu_fast_tt")).setActive(false);
|
||||||
|
|
||||||
|
ToolTipAction stoppedStateAction = stoppedState.createToolTipAction(Lang.get("menu_element"), ICON_STOP).setToolTip(Lang.get("menu_element_tt"));
|
||||||
|
|
||||||
ToolTipAction runTests = new ToolTipAction(Lang.get("menu_runTests"), ICON_TEST) {
|
ToolTipAction runTests = new ToolTipAction(Lang.get("menu_runTests"), ICON_TEST) {
|
||||||
@Override
|
@Override
|
||||||
@ -578,6 +573,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
run.add(runModelMicroAction.createJMenuItem());
|
run.add(runModelMicroAction.createJMenuItem());
|
||||||
run.add(doStep.createJMenuItem());
|
run.add(doStep.createJMenuItem());
|
||||||
run.add(runToBreakAction.createJMenuItem());
|
run.add(runToBreakAction.createJMenuItem());
|
||||||
|
run.add(stoppedStateAction.createJMenuItem());
|
||||||
run.add(runTests.createJMenuItem());
|
run.add(runTests.createJMenuItem());
|
||||||
run.addSeparator();
|
run.addSeparator();
|
||||||
run.add(speedTest.createJMenuItem());
|
run.add(speedTest.createJMenuItem());
|
||||||
@ -589,6 +585,8 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
toolBar.add(runModelMicroState.setIndicator(runModelMicroAction.createJButtonNoText()));
|
toolBar.add(runModelMicroState.setIndicator(runModelMicroAction.createJButtonNoText()));
|
||||||
toolBar.add(doStep.createJButtonNoText());
|
toolBar.add(doStep.createJButtonNoText());
|
||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
toolBar.add(stoppedStateAction.createJButtonNoText());
|
||||||
|
toolBar.addSeparator();
|
||||||
toolBar.add(runTests.createJButtonNoText());
|
toolBar.add(runTests.createJButtonNoText());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -609,7 +607,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
|
|
||||||
windowPosManager.register("testresult", new TestResultDialog(Main.this, tsl, circuitComponent.getCircuit(), library)).setVisible(true);
|
windowPosManager.register("testresult", new TestResultDialog(Main.this, tsl, circuitComponent.getCircuit(), library)).setVisible(true);
|
||||||
|
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
} catch (Exception e1) {
|
} catch (Exception e1) {
|
||||||
showErrorAndStopModel(Lang.get("msg_runningTestError"), e1);
|
showErrorAndStopModel(Lang.get("msg_runningTestError"), e1);
|
||||||
}
|
}
|
||||||
@ -631,7 +629,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
new TableDialog(Main.this, new ModelAnalyser(model).analyse(), shapeFactory, filename)
|
new TableDialog(Main.this, new ModelAnalyser(model).analyse(), shapeFactory, filename)
|
||||||
.setPinMap(new PinMap().addModel(model))
|
.setPinMap(new PinMap().addModel(model))
|
||||||
.setVisible(true);
|
.setVisible(true);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
} catch (PinException | PinMapException | NodeException | AnalyseException | ElementNotFoundException e1) {
|
} catch (PinException | PinMapException | NodeException | AnalyseException | ElementNotFoundException e1) {
|
||||||
showErrorAndStopModel(Lang.get("msg_annalyseErr"), e1);
|
showErrorAndStopModel(Lang.get("msg_annalyseErr"), e1);
|
||||||
}
|
}
|
||||||
@ -645,7 +643,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
TruthTable tt = new TruthTable(3).addResult();
|
TruthTable tt = new TruthTable(3).addResult();
|
||||||
new TableDialog(Main.this, tt, shapeFactory, null).setVisible(true);
|
new TableDialog(Main.this, tt, shapeFactory, null).setVisible(true);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.setToolTip(Lang.get("menu_synthesise_tt"))
|
.setToolTip(Lang.get("menu_synthesise_tt"))
|
||||||
@ -665,7 +663,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
private void orderMeasurements() {
|
private void orderMeasurements() {
|
||||||
try {
|
try {
|
||||||
Model m = new ModelCreator(circuitComponent.getCircuit(), library).createModel(false);
|
Model m = new ModelCreator(circuitComponent.getCircuit(), library).createModel(false);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
ArrayList<String> names = new ArrayList<>();
|
ArrayList<String> names = new ArrayList<>();
|
||||||
for (Signal s : m.getSignals())
|
for (Signal s : m.getSignals())
|
||||||
names.add(s.getName());
|
names.add(s.getName());
|
||||||
@ -682,13 +680,14 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setupStates() {
|
private void setupStates() {
|
||||||
elementState = stateManager.register(new State() {
|
stoppedState = stateManager.register(new State() {
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
super.enter();
|
super.enter();
|
||||||
clearModelDescription();
|
clearModelDescription();
|
||||||
circuitComponent.setModeAndReset(false, NoSync.INST);
|
circuitComponent.setModeAndReset(false, NoSync.INST);
|
||||||
doStep.setEnabled(false);
|
doStep.setEnabled(false);
|
||||||
|
stoppedState.getAction().setEnabled(false);
|
||||||
runToBreakAction.setEnabled(false);
|
runToBreakAction.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -698,6 +697,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
super.enter();
|
super.enter();
|
||||||
|
stoppedState.getAction().setEnabled(true);
|
||||||
if (createAndStartModel(false, ModelEvent.MICROSTEP, null))
|
if (createAndStartModel(false, ModelEvent.MICROSTEP, null))
|
||||||
circuitComponent.setManualChangeObserver(new MicroStepObserver(model));
|
circuitComponent.setManualChangeObserver(new MicroStepObserver(model));
|
||||||
}
|
}
|
||||||
@ -793,7 +793,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
}
|
}
|
||||||
circuitComponent.hasChanged();
|
circuitComponent.hasChanged();
|
||||||
new ErrorMessage(message).addCause(cause).show(Main.this);
|
new ErrorMessage(message).addCause(cause).show(Main.this);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -830,7 +830,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
librarySelector.setFilePath(filename.getParentFile());
|
librarySelector.setFilePath(filename.getParentFile());
|
||||||
Circuit circ = Circuit.loadCircuit(filename, shapeFactory);
|
Circuit circ = Circuit.loadCircuit(filename, shapeFactory);
|
||||||
circuitComponent.setCircuit(circ);
|
circuitComponent.setCircuit(circ);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
windowPosManager.closeAll();
|
windowPosManager.closeAll();
|
||||||
setFilename(filename, toPrefs);
|
setFilename(filename, toPrefs);
|
||||||
statusLabel.setText(" ");
|
statusLabel.setText(" ");
|
||||||
@ -847,7 +847,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
circuitComponent.getCircuit().save(filename);
|
circuitComponent.getCircuit().save(filename);
|
||||||
if (savedListener != null)
|
if (savedListener != null)
|
||||||
savedListener.saved(filename);
|
savedListener.saved(filename);
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
setFilename(filename, toPrefs);
|
setFilename(filename, toPrefs);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
new ErrorMessage(Lang.get("msg_errorWritingFile")).addCause(e).show();
|
new ErrorMessage(Lang.get("msg_errorWritingFile")).addCause(e).show();
|
||||||
@ -974,6 +974,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
|
|
||||||
void enter(boolean runRealTime, ModelModifier modelModifier) {
|
void enter(boolean runRealTime, ModelModifier modelModifier) {
|
||||||
super.enter();
|
super.enter();
|
||||||
|
stoppedState.getAction().setEnabled(true);
|
||||||
if (createAndStartModel(runRealTime, ModelEvent.STEP, modelModifier))
|
if (createAndStartModel(runRealTime, ModelEvent.STEP, modelModifier))
|
||||||
circuitComponent.setManualChangeObserver(new FullStepObserver(model));
|
circuitComponent.setManualChangeObserver(new FullStepObserver(model));
|
||||||
}
|
}
|
||||||
@ -1074,7 +1075,7 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E
|
|||||||
@Override
|
@Override
|
||||||
public void stop() {
|
public void stop() {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
elementState.enter();
|
stoppedState.enter();
|
||||||
circuitComponent.hasChanged();
|
circuitComponent.hasChanged();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ public class State implements StateInterface {
|
|||||||
private static final Border DISABLED_BORDER = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED), BorderFactory.createEmptyBorder(4, 4, 4, 4));
|
private static final Border DISABLED_BORDER = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED), BorderFactory.createEmptyBorder(4, 4, 4, 4));
|
||||||
private JComponent indicator;
|
private JComponent indicator;
|
||||||
private StateManager stateManager;
|
private StateManager stateManager;
|
||||||
|
private ToolTipAction action;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates new state
|
* Creates new state
|
||||||
@ -56,20 +57,29 @@ public class State implements StateInterface {
|
|||||||
indicator.setBorder(DISABLED_BORDER);
|
indicator.setBorder(DISABLED_BORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the action associated with this state
|
||||||
|
*/
|
||||||
|
public ToolTipAction getAction() {
|
||||||
|
return action;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a tooltip action which activates the state
|
* Creates a tooltip action which activates the state
|
||||||
*
|
*
|
||||||
* @param name the name of the action to create
|
* @param name the name of the action to create
|
||||||
* @param icon the icon to use
|
* @param icon the icon to use
|
||||||
* @return the acttion
|
* @return the action
|
||||||
*/
|
*/
|
||||||
public ToolTipAction createToolTipAction(String name, Icon icon) {
|
public ToolTipAction createToolTipAction(String name, Icon icon) {
|
||||||
return new ToolTipAction(name, icon) {
|
if (action == null)
|
||||||
@Override
|
action = new ToolTipAction(name, icon) {
|
||||||
public void actionPerformed(ActionEvent e) {
|
@Override
|
||||||
enter();
|
public void actionPerformed(ActionEvent e) {
|
||||||
}
|
enter();
|
||||||
};
|
}
|
||||||
|
};
|
||||||
|
return action;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -534,8 +534,8 @@ Zur Analyse können Sie die Schaltung im Gatterschrittmodus ausführen.</string>
|
|||||||
<string name="menu_editRunAttributes_tt">Einstellungen für den Start der Simulation</string>
|
<string name="menu_editRunAttributes_tt">Einstellungen für den Start der Simulation</string>
|
||||||
<string name="menu_editSettings">Einstellungen</string>
|
<string name="menu_editSettings">Einstellungen</string>
|
||||||
<string name="menu_editSettings_tt">Bearbeitet die globalen Einstellungen</string>
|
<string name="menu_editSettings_tt">Bearbeitet die globalen Einstellungen</string>
|
||||||
<string name="menu_element">Elemente bearbeiten</string>
|
<string name="menu_element">Stoppen der Simulation</string>
|
||||||
<string name="menu_element_tt">Bearbeitet die vorhandenen Elemente oder dessen Eigenschaften</string>
|
<string name="menu_element_tt">Stopt die Simulation und erlaubt das Bearbeiten der Schaltung.</string>
|
||||||
<string name="menu_elements">Bauteile</string>
|
<string name="menu_elements">Bauteile</string>
|
||||||
<string name="menu_export">Export</string>
|
<string name="menu_export">Export</string>
|
||||||
<string name="menu_exportPNGLarge">Export PNG groß</string>
|
<string name="menu_exportPNGLarge">Export PNG groß</string>
|
||||||
@ -566,7 +566,7 @@ Zur Analyse können Sie die Schaltung im Gatterschrittmodus ausführen.</string>
|
|||||||
<string name="menu_refresh">Alle neu laden</string>
|
<string name="menu_refresh">Alle neu laden</string>
|
||||||
<string name="menu_refresh_tt">Alle importierten Schaltungen werden neu geladen</string>
|
<string name="menu_refresh_tt">Alle importierten Schaltungen werden neu geladen</string>
|
||||||
<string name="menu_rotate">Rotieren</string>
|
<string name="menu_rotate">Rotieren</string>
|
||||||
<string name="menu_run">Start</string>
|
<string name="menu_run">Start der Simulation</string>
|
||||||
<string name="menu_run_tt">Startet die Simulation der Schaltung</string>
|
<string name="menu_run_tt">Startet die Simulation der Schaltung</string>
|
||||||
<string name="menu_save">Speichern</string>
|
<string name="menu_save">Speichern</string>
|
||||||
<string name="menu_saveAs">Speichern unter</string>
|
<string name="menu_saveAs">Speichern unter</string>
|
||||||
|
@ -520,8 +520,8 @@ To analyse you can run the circuit in single gate step mode.</string>
|
|||||||
<string name="menu_editRunAttributes_tt">Settings used to start the simulation</string>
|
<string name="menu_editRunAttributes_tt">Settings used to start the simulation</string>
|
||||||
<string name="menu_editSettings">Settings</string>
|
<string name="menu_editSettings">Settings</string>
|
||||||
<string name="menu_editSettings_tt">Edits Digitals Preferences</string>
|
<string name="menu_editSettings_tt">Edits Digitals Preferences</string>
|
||||||
<string name="menu_element">Edit components</string>
|
<string name="menu_element">Stop Simulation</string>
|
||||||
<string name="menu_element_tt">Edits the circuit. Moves a single component or edits its properties.</string>
|
<string name="menu_element_tt">Stops the simulation and allows to edits the circuit.</string>
|
||||||
<string name="menu_elements">Components</string>
|
<string name="menu_elements">Components</string>
|
||||||
<string name="menu_export">Export</string>
|
<string name="menu_export">Export</string>
|
||||||
<string name="menu_exportPNGLarge">Export PNG large</string>
|
<string name="menu_exportPNGLarge">Export PNG large</string>
|
||||||
@ -552,8 +552,8 @@ To analyse you can run the circuit in single gate step mode.</string>
|
|||||||
<string name="menu_refresh">Reload</string>
|
<string name="menu_refresh">Reload</string>
|
||||||
<string name="menu_refresh_tt">Reload all imported circuits</string>
|
<string name="menu_refresh_tt">Reload all imported circuits</string>
|
||||||
<string name="menu_rotate">Rotate</string>
|
<string name="menu_rotate">Rotate</string>
|
||||||
<string name="menu_run">Run</string>
|
<string name="menu_run">Start Simulation</string>
|
||||||
<string name="menu_run_tt">Runs the circuit</string>
|
<string name="menu_run_tt">Starts the simulation of the circuit.</string>
|
||||||
<string name="menu_save">Save</string>
|
<string name="menu_save">Save</string>
|
||||||
<string name="menu_saveAs">Save As</string>
|
<string name="menu_saveAs">Save As</string>
|
||||||
<string name="menu_saveData">Save Data</string>
|
<string name="menu_saveData">Save Data</string>
|
||||||
|
BIN
src/main/resources/media-playback-stop.png
Normal file
BIN
src/main/resources/media-playback-stop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 728 B |
Loading…
x
Reference in New Issue
Block a user