diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java
index 5ed8baef5..b95a19aca 100644
--- a/src/main/java/de/neemann/digital/gui/Main.java
+++ b/src/main/java/de/neemann/digital/gui/Main.java
@@ -407,6 +407,16 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
});
treeCheckBox.setAccelerator(KeyStroke.getKeyStroke("F5"));
+ ToolTipAction tutorial = new ToolTipAction(Lang.get("menu_tutorial")) {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if (ClosingWindowListener.checkForSave(Main.this, Main.this)) {
+ clearPane();
+ new InitialTutorial(Main.this).setVisible(true);
+ }
+ }
+ }.setToolTip(Lang.get("menu_tutorial_tt"));
+
if (Settings.getInstance().get(Keys.SETTINGS_DEFAULT_TREESELECT))
SwingUtilities.invokeLater(treeCheckBox::doClick);
@@ -423,9 +433,22 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
view.addSeparator();
view.add(treeCheckBox);
view.addSeparator();
+ view.add(tutorial.createJMenuItem());
+ view.addSeparator();
view.add(viewHelp.createJMenuItem());
}
+ private void clearPane() {
+ circuitComponent.setCircuit(new Circuit());
+ setFilename(null, true);
+ windowPosManager.closeAll();
+ try {
+ library.setRootFilePath(null);
+ } catch (IOException e1) {
+ // can not happen, no folder is scanned
+ }
+ }
+
/**
* Creates the file menu and adds it to menu and toolbar
*
@@ -438,14 +461,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
@Override
public void actionPerformed(ActionEvent e) {
if (ClosingWindowListener.checkForSave(Main.this, Main.this)) {
- circuitComponent.setCircuit(new Circuit());
- setFilename(null, true);
- windowPosManager.closeAll();
- try {
- library.setRootFilePath(null);
- } catch (IOException e1) {
- // can not happen, no folder is scanned
- }
+ clearPane();
}
}
}.setAcceleratorCTRLplus('N').setToolTip(Lang.get("menu_new_tt")).setEnabledChain(allowAll);
diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml
index b9edc8017..a1c1d047d 100644
--- a/src/main/resources/lang/lang_de.xml
+++ b/src/main/resources/lang/lang_de.xml
@@ -1644,6 +1644,8 @@ Sind evtl. die Namen der Variablen nicht eindeutig?
Ein- und Ausgänge benennen
Für alle unbenannten Ein- und Ausgänge eine Bezeichnung setzen.
+ Tutorial starten
+ Startet das Anfänger-Tutorial.
Schaltungsstatistik
Zeigt eine Liste der verwendeten Komponenten
diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml
index 8dfadd386..f35dcb5e2 100644
--- a/src/main/resources/lang/lang_en.xml
+++ b/src/main/resources/lang/lang_en.xml
@@ -1624,6 +1624,9 @@
Label Inputs and Outputs
Set a label to all inputs and outputs without a label.
+ Start Tutorial
+ Starts the beginner tutorial.
+
Circuit Statistics
Shows a list of used components.
Number