From: plaa Date: Sat, 10 Mar 2012 15:03:02 +0000 (+0000) Subject: Guided tour updates X-Git-Tag: upstream/12.03~1^2~18 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=c94b203d12dd1f25ca02ff4ddab6d8e8a5276768;p=debian%2Fopenrocket Guided tour updates git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@453 180e2498-e6e9-4542-8430-84ac67f01cd8 --- diff --git a/core/.classpath b/core/.classpath index 712371a7..10ef69c6 100644 --- a/core/.classpath +++ b/core/.classpath @@ -3,7 +3,6 @@ - @@ -25,5 +24,6 @@ + diff --git a/core/resources/datafiles/tours/introduction/introduction.tour b/core/resources/datafiles/tours/introduction/introduction.tour index e65ac1ac..2672dcc1 100644 --- a/core/resources/datafiles/tours/introduction/introduction.tour +++ b/core/resources/datafiles/tours/introduction/introduction.tour @@ -16,14 +16,14 @@ overview of the OpenRocket screens and features. arrows on your keyboard. -[none] -# FIXME: Add screenshot after dialog is complete - -

This is the startup screen from which you can create a new rocket -design or open existing designs. - -

For this tour, let's open an example design called A simple model -rocket. +#[none] +## FIXME: Add screenshot after dialog is complete +# +#

This is the startup screen from which you can create a new rocket +#design or open existing designs. +# +#

For this tour, let's open an example design called A simple model +#rocket. [main_window.jpg] @@ -77,7 +77,7 @@ on the last two tabs you can plot or export the results.

Other advanced features include component analysis and automatic design optimization, which are covered by separate tours. -

Next you can take a tour on Creating a rocket +

Next you can take a tour on Creating a rocket design, browse other tours or start experimenting with the software. diff --git a/core/resources/datafiles/tours/introduction/introduction_es.tour b/core/resources/datafiles/tours/introduction/introduction_es.tour index c66fa7e0..a2bbc173 100644 --- a/core/resources/datafiles/tours/introduction/introduction_es.tour +++ b/core/resources/datafiles/tours/introduction/introduction_es.tour @@ -11,12 +11,12 @@ Introducción

Puede navegar utilizando los botones Siguiente y Anterior, o utilizando las flechas de desplazamiento izq. y der. de su teclado. -[none] -# FIXME: Añadir pantallas después de completar el diálogo - -

Esta es la pantalla de inicio desde la cual puede crear un nuevo diseño de cohete, o abrir diseños ya existentes. - -

En esta ocasión abra un diseño de ejemplo llamado A simple model rocket. +#[none] +## FIXME: Añadir pantallas después de completar el diálogo +# +#

Esta es la pantalla de inicio desde la cual puede crear un nuevo diseño de cohete, o abrir diseños ya existentes. +# +#

En esta ocasión abra un diseño de ejemplo llamado A simple model rocket. [main_window.jpg] @@ -56,7 +56,7 @@ Introducción

Otras características más avanzadas son: el Análisis de componentes y la Optimización automática del diseño. -

Seguidamente puede hacer un recorrido por Crear un diseño de cohete, navegar por otros apartados, o comenzar a experimentar con la aplicación creando su propio diseño de cohete. +

Seguidamente puede hacer un recorrido por Crear un diseño de cohete, navegar por otros apartados, o comenzar a experimentar con la aplicación creando su propio diseño de cohete. diff --git a/core/resources/datafiles/tours/introduction/introduction_fr.tour b/core/resources/datafiles/tours/introduction/introduction_fr.tour index f32543a9..12b47cc8 100644 --- a/core/resources/datafiles/tours/introduction/introduction_fr.tour +++ b/core/resources/datafiles/tours/introduction/introduction_fr.tour @@ -15,14 +15,14 @@ et Précédant, ou en utilisant les flèches gauche et droit sur votre clavier. -[none] -# FIXME: Add screenshot after dialog is complete - -

Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée -ou ouvrir des projets existant. - -

Pour ce tour d'horizon, ouvrons le projet exemple nommé A simple model -rocket. +#[none] +## FIXME: Add screenshot after dialog is complete +# +#

Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée +#ou ouvrir des projets existant. +# +#

Pour ce tour d'horizon, ouvrons le projet exemple nommé A simple model +#rocket. [main_window.jpg] @@ -77,7 +77,7 @@ dans les deux derniers onglets vous pouvez tracer ou exporter les résultats.

D'autres fonctionnalités avancées incluant l'analyse des pièces et une optimisation automatique du projet sont traités dans d'autres tours d'horizon. -

Ensuite vous pouvez voir Créer un projet fusée +

Ensuite vous pouvez voir Créer un projet fusée , survoler d'autres tours d'horizons ou commencer à expérimenter le logiciel. diff --git a/core/resources/datafiles/tours/introduction/introduction_it.tour b/core/resources/datafiles/tours/introduction/introduction_it.tour index 4c6c07e4..46b977a1 100644 --- a/core/resources/datafiles/tours/introduction/introduction_it.tour +++ b/core/resources/datafiles/tours/introduction/introduction_it.tour @@ -11,13 +11,13 @@ Introduzione Precedente , o usando le frecce sinistra e destra della tua tastiera. -[none] -# FIXME: Add screenshot after dialog is complete - -

Questa è la finestra di avvio dalla quale puoi creare il disegno di un nuovo razzo o aprirne uno esistente. - -

Per questo tour, lasciami aprire un esempio chiamato A simple model -rocket. +#[none] +## FIXME: Add screenshot after dialog is complete +# +#

Questa è la finestra di avvio dalla quale puoi creare il disegno di un nuovo razzo o aprirne uno esistente. +# +#

Per questo tour, lasciami aprire un esempio chiamato A simple model +#rocket. [main_window.jpg] @@ -62,7 +62,7 @@ Mostra le connessioni tra i componenti.

Altri tour trattano nello specifico diverse caratteristiche avanzate tra le quali l'analisi dei compononti e l'ottimizzazione automatica del progetto. -

Puoi cominciare un tour da Creating a rocket +

Puoi cominciare un tour da Creating a rocket design, fai altri tour e comincia a prendere confidenza col programma. diff --git a/core/resources/datafiles/tours/tours.txt b/core/resources/datafiles/tours/tours.txt index dbc88455..fd2328b2 100644 --- a/core/resources/datafiles/tours/tours.txt +++ b/core/resources/datafiles/tours/tours.txt @@ -4,6 +4,3 @@ introduction/introduction.tour creating_design/creating_design.tour -test1/test.tour -test2/test2.tour - diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index c97fca6c..102fd94b 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1558,6 +1558,9 @@ CompassSelectionButton.lbl.NW = NW SlideShowDialog.btn.next = Next SlideShowDialog.btn.prev = Previous +SlideShowLinkListener.error.title = Guided tour not found +SlideShowLinkListener.error.msg = Sorry, the selected tour has not yet been written. + GuidedTourSelectionDialog.title = Guided tours GuidedTourSelectionDialog.lbl.selectTour = Select guided tour: GuidedTourSelectionDialog.lbl.description = Tour description: diff --git a/core/src/net/sf/openrocket/gui/help/tours/GuidedTourSelectionDialog.java b/core/src/net/sf/openrocket/gui/help/tours/GuidedTourSelectionDialog.java index baff4a5b..d3a74a3d 100644 --- a/core/src/net/sf/openrocket/gui/help/tours/GuidedTourSelectionDialog.java +++ b/core/src/net/sf/openrocket/gui/help/tours/GuidedTourSelectionDialog.java @@ -33,6 +33,7 @@ public class GuidedTourSelectionDialog extends JDialog { private static final Translator trans = Application.getTranslator(); + private static GuidedTourSelectionDialog instance = null; private final SlideSetManager slideSetManager; @@ -178,5 +179,14 @@ public class GuidedTourSelectionDialog extends JDialog { } + public static void showDialog(Window parent) { + if (instance != null && instance.isVisible()) { + instance.setVisible(true); + instance.toFront(); + } else { + instance = new GuidedTourSelectionDialog(parent); + instance.setVisible(true); + } + } } diff --git a/core/src/net/sf/openrocket/gui/help/tours/Slide.java b/core/src/net/sf/openrocket/gui/help/tours/Slide.java index c3c1fab8..45ec129e 100644 --- a/core/src/net/sf/openrocket/gui/help/tours/Slide.java +++ b/core/src/net/sf/openrocket/gui/help/tours/Slide.java @@ -7,6 +7,8 @@ import java.net.URL; import javax.imageio.ImageIO; +import net.sf.openrocket.util.BugException; + /** * An individual slide in a guided tour. It contains a image (or reference to an * image file) plus a text description (in HTML). @@ -65,12 +67,10 @@ public class Slide { if (url != null) { img = ImageIO.read(url); } else { - //FIXME - img = null; + throw new BugException("Could not find image " + imageFile); } } catch (IOException e) { - // FIXME - img = null; + throw new BugException("Error reading image " + imageFile, e); } return img; diff --git a/core/src/net/sf/openrocket/gui/help/tours/SlideShowDialog.java b/core/src/net/sf/openrocket/gui/help/tours/SlideShowDialog.java index 61936b91..aa48ff99 100644 --- a/core/src/net/sf/openrocket/gui/help/tours/SlideShowDialog.java +++ b/core/src/net/sf/openrocket/gui/help/tours/SlideShowDialog.java @@ -42,7 +42,7 @@ public class SlideShowDialog extends JDialog { JPanel panel = new JPanel(new MigLayout("fill")); slideShowComponent = new SlideShowComponent(); - slideShowComponent.addHyperlinkListener(new SlideShowLinkListener(parent)); + slideShowComponent.addHyperlinkListener(new SlideShowLinkListener(this)); panel.add(slideShowComponent, "spanx, grow, wrap para"); @@ -93,7 +93,7 @@ public class SlideShowDialog extends JDialog { nextButton.grabFocus(); GUIUtil.rememberWindowPosition(this); GUIUtil.rememberWindowSize(this); - this.setAlwaysOnTop(true); + // this.setAlwaysOnTop(true); } public void setSlideSet(SlideSet slideSet, int position) { diff --git a/core/src/net/sf/openrocket/gui/help/tours/SlideShowLinkListener.java b/core/src/net/sf/openrocket/gui/help/tours/SlideShowLinkListener.java index 5fc1d888..6973b370 100644 --- a/core/src/net/sf/openrocket/gui/help/tours/SlideShowLinkListener.java +++ b/core/src/net/sf/openrocket/gui/help/tours/SlideShowLinkListener.java @@ -4,14 +4,20 @@ import java.awt.Desktop; import java.awt.Window; import java.net.URL; +import javax.swing.JOptionPane; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkEvent.EventType; import javax.swing.event.HyperlinkListener; +import net.sf.openrocket.l10n.Translator; +import net.sf.openrocket.logging.LogHelper; import net.sf.openrocket.startup.Application; public class SlideShowLinkListener implements HyperlinkListener { + private static final LogHelper log = Application.getLogger(); + private static final Translator trans = Application.getTranslator(); + private final Window parent; public SlideShowLinkListener(Window parent) { @@ -46,7 +52,9 @@ public class SlideShowLinkListener implements HyperlinkListener { dialog.setSlideSet(ss, 0); dialog.setVisible(true); } catch (IllegalArgumentException e) { - Application.getExceptionHandler().handleErrorCondition("Guided tour '" + name + "' not found."); + log.warn("Guided tour '" + name + "' not found"); + JOptionPane.showMessageDialog(parent, + trans.get("error.msg"), trans.get("error.title"), JOptionPane.WARNING_MESSAGE); } } diff --git a/core/src/net/sf/openrocket/gui/main/BasicFrame.java b/core/src/net/sf/openrocket/gui/main/BasicFrame.java index f9884900..c522f2a2 100644 --- a/core/src/net/sf/openrocket/gui/main/BasicFrame.java +++ b/core/src/net/sf/openrocket/gui/main/BasicFrame.java @@ -683,8 +683,7 @@ public class BasicFrame extends JFrame { @Override public void actionPerformed(ActionEvent e) { log.user("Guided tours selected"); - // FIXME: Singleton - new GuidedTourSelectionDialog(BasicFrame.this).setVisible(true); + GuidedTourSelectionDialog.showDialog(BasicFrame.this); } }); menu.add(item);