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