guided tours implementation
[debian/openrocket] / src / net / sf / openrocket / gui / main / BasicFrame.java
index ac88fe5831fa57001dc6774b9d1d448943ce387a..417b67e64110876932e2ea63a86dc2b01f492015 100644 (file)
@@ -81,6 +81,7 @@ import net.sf.openrocket.gui.dialogs.SwingWorkerDialog;
 import net.sf.openrocket.gui.dialogs.WarningDialog;
 import net.sf.openrocket.gui.dialogs.optimization.GeneralOptimizationDialog;
 import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog;
+import net.sf.openrocket.gui.help.tours.GuidedTourSelectionDialog;
 import net.sf.openrocket.gui.main.componenttree.ComponentTree;
 import net.sf.openrocket.gui.scalefigure.RocketPanel;
 import net.sf.openrocket.gui.util.FileHelper;
@@ -88,6 +89,7 @@ import net.sf.openrocket.gui.util.GUIUtil;
 import net.sf.openrocket.gui.util.Icons;
 import net.sf.openrocket.gui.util.OpenFileWorker;
 import net.sf.openrocket.gui.util.SaveFileWorker;
+import net.sf.openrocket.gui.util.SwingPreferences;
 import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
@@ -99,7 +101,6 @@ import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.util.BugException;
 import net.sf.openrocket.util.MemoryManagement;
 import net.sf.openrocket.util.MemoryManagement.MemoryData;
-import net.sf.openrocket.util.Prefs;
 import net.sf.openrocket.util.Reflection;
 import net.sf.openrocket.util.TestRockets;
 
@@ -672,6 +673,24 @@ public class BasicFrame extends JFrame {
                menubar.add(menu);
                
 
+               // Guided tours
+               
+               item = new JMenuItem(trans.get("main.menu.help.tours"), KeyEvent.VK_L);
+               // TODO: Icon
+               item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.help.tours.desc"));
+               item.addActionListener(new ActionListener() {
+                       @Override
+                       public void actionPerformed(ActionEvent e) {
+                               log.user("Guided tours selected");
+                               // FIXME:  Singleton
+                               new GuidedTourSelectionDialog(BasicFrame.this).setVisible(true);
+                       }
+               });
+               menu.add(item);
+               
+               menu.addSeparator();
+               
+
                //// License
                item = new JMenuItem(trans.get("main.menu.help.license"), KeyEvent.VK_L);
                item.setIcon(Icons.HELP_LICENSE);
@@ -1005,14 +1024,14 @@ public class BasicFrame extends JFrame {
                
                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                chooser.setMultiSelectionEnabled(true);
-               chooser.setCurrentDirectory(((Prefs) Application.getPreferences()).getDefaultDirectory());
+               chooser.setCurrentDirectory(((SwingPreferences) Application.getPreferences()).getDefaultDirectory());
                int option = chooser.showOpenDialog(this);
                if (option != JFileChooser.APPROVE_OPTION) {
                        log.user("Decided not to open files, option=" + option);
                        return;
                }
                
-               ((Prefs) Application.getPreferences()).setDefaultDirectory(chooser.getCurrentDirectory());
+               ((SwingPreferences) Application.getPreferences()).setDefaultDirectory(chooser.getCurrentDirectory());
                
                File[] files = chooser.getSelectedFiles();
                log.user("Opening files " + Arrays.toString(files));
@@ -1259,7 +1278,7 @@ public class BasicFrame extends JFrame {
                                new StorageOptionChooser(document, document.getDefaultStorageOptions());
                JFileChooser chooser = new JFileChooser();
                chooser.setFileFilter(FileHelper.OPENROCKET_DESIGN_FILTER);
-               chooser.setCurrentDirectory(((Prefs) Application.getPreferences()).getDefaultDirectory());
+               chooser.setCurrentDirectory(((SwingPreferences) Application.getPreferences()).getDefaultDirectory());
                chooser.setAccessory(storageChooser);
                if (document.getFile() != null)
                        chooser.setSelectedFile(document.getFile());
@@ -1276,7 +1295,7 @@ public class BasicFrame extends JFrame {
                        return false;
                }
                
-               ((Prefs) Application.getPreferences()).setDefaultDirectory(chooser.getCurrentDirectory());
+               ((SwingPreferences) Application.getPreferences()).setDefaultDirectory(chooser.getCurrentDirectory());
                storageChooser.storeOptions(document.getDefaultStorageOptions());
                
                file = FileHelper.ensureExtension(file, "ork");