Guided tour updates
This commit is contained in:
parent
11339d16fb
commit
a406956b06
@ -3,7 +3,6 @@
|
|||||||
<classpathentry excluding="net/sf/openrocket/android/" kind="src" path="src"/>
|
<classpathentry excluding="net/sf/openrocket/android/" kind="src" path="src"/>
|
||||||
<classpathentry kind="src" path="src-extra"/>
|
<classpathentry kind="src" path="src-extra"/>
|
||||||
<classpathentry kind="src" path="test"/>
|
<classpathentry kind="src" path="test"/>
|
||||||
<classpathentry kind="src" path="resources"/>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
<accessrules>
|
<accessrules>
|
||||||
<accessrule kind="nonaccessible" pattern="com/sun/**"/>
|
<accessrule kind="nonaccessible" pattern="com/sun/**"/>
|
||||||
@ -25,5 +24,6 @@
|
|||||||
<classpathentry kind="lib" path="lib-test/jmock-junit4-2.6.0-RC2.jar"/>
|
<classpathentry kind="lib" path="lib-test/jmock-junit4-2.6.0-RC2.jar"/>
|
||||||
<classpathentry kind="lib" path="lib-test/junit-dep-4.8.2.jar"/>
|
<classpathentry kind="lib" path="lib-test/junit-dep-4.8.2.jar"/>
|
||||||
<classpathentry kind="lib" path="lib-test/uispec4j-2.3-jdk16.jar"/>
|
<classpathentry kind="lib" path="lib-test/uispec4j-2.3-jdk16.jar"/>
|
||||||
|
<classpathentry kind="lib" path="resources"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@ -16,14 +16,14 @@ overview of the OpenRocket screens and features.
|
|||||||
arrows</em> on your keyboard.
|
arrows</em> on your keyboard.
|
||||||
|
|
||||||
|
|
||||||
[none]
|
#[none]
|
||||||
# FIXME: Add screenshot after dialog is complete
|
## FIXME: Add screenshot after dialog is complete
|
||||||
|
#
|
||||||
<p>This is the startup screen from which you can create a new rocket
|
#<p>This is the startup screen from which you can create a new rocket
|
||||||
design or open existing designs.
|
#design or open existing designs.
|
||||||
|
#
|
||||||
<p>For this tour, let's open an example design called <em>A simple model
|
#<p>For this tour, let's open an example design called <em>A simple model
|
||||||
rocket</em>.
|
#rocket</em>.
|
||||||
|
|
||||||
|
|
||||||
[main_window.jpg]
|
[main_window.jpg]
|
||||||
@ -77,7 +77,7 @@ on the last two tabs you can plot or export the results.
|
|||||||
<p>Other advanced features include component analysis and automatic
|
<p>Other advanced features include component analysis and automatic
|
||||||
design optimization, which are covered by separate tours.
|
design optimization, which are covered by separate tours.
|
||||||
|
|
||||||
<p>Next you can take a tour on <a href="FIXME">Creating a rocket
|
<p>Next you can take a tour on <a href="creating_design/creating_design.tour">Creating a rocket
|
||||||
design</a>, browse other tours or start experimenting with the
|
design</a>, browse other tours or start experimenting with the
|
||||||
software.
|
software.
|
||||||
|
|
||||||
|
@ -11,12 +11,12 @@ Introducción
|
|||||||
<p>Puede navegar utilizando los botones <b>Siguiente</b> y <b>Anterior</b>, o utilizando las flechas de desplazamiento <b><em>izq.</em></b> y <b><em>der.</em></b> de su teclado.
|
<p>Puede navegar utilizando los botones <b>Siguiente</b> y <b>Anterior</b>, o utilizando las flechas de desplazamiento <b><em>izq.</em></b> y <b><em>der.</em></b> de su teclado.
|
||||||
|
|
||||||
|
|
||||||
[none]
|
#[none]
|
||||||
# FIXME: Añadir pantallas después de completar el diálogo
|
## FIXME: Añadir pantallas después de completar el diálogo
|
||||||
|
#
|
||||||
<p>Esta es la pantalla de inicio desde la cual puede crear un nuevo diseño de cohete, o abrir diseños ya existentes.
|
#<p>Esta es la pantalla de inicio desde la cual puede crear un nuevo diseño de cohete, o abrir diseños ya existentes.
|
||||||
|
#
|
||||||
<p>En esta ocasión abra un diseño de ejemplo llamado <b><em>A simple model rocket</em></b>.
|
#<p>En esta ocasión abra un diseño de ejemplo llamado <b><em>A simple model rocket</em></b>.
|
||||||
|
|
||||||
|
|
||||||
[main_window.jpg]
|
[main_window.jpg]
|
||||||
@ -56,7 +56,7 @@ Introducción
|
|||||||
|
|
||||||
<p>Otras características más avanzadas son: el <em>Análisis de componentes</em> y la <em>Optimización</em> automática del diseño.
|
<p>Otras características más avanzadas son: el <em>Análisis de componentes</em> y la <em>Optimización</em> automática del diseño.
|
||||||
|
|
||||||
<p>Seguidamente puede hacer un recorrido por <a href="FIXME">Crear un diseño de cohete</a>, navegar por otros apartados, o comenzar a experimentar con la aplicación creando su propio diseño de cohete.
|
<p>Seguidamente puede hacer un recorrido por <a href="creating_design/creating_design.tour">Crear un diseño de cohete</a>, navegar por otros apartados, o comenzar a experimentar con la aplicación creando su propio diseño de cohete.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,14 +15,14 @@ et <b>Précédant</b>, ou en utilisant les flèches <em>gauche</em> et <em>droit
|
|||||||
</em> sur votre clavier.
|
</em> sur votre clavier.
|
||||||
|
|
||||||
|
|
||||||
[none]
|
#[none]
|
||||||
# FIXME: Add screenshot after dialog is complete
|
## FIXME: Add screenshot after dialog is complete
|
||||||
|
#
|
||||||
<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
|
#<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
|
||||||
ou ouvrir des projets existant.
|
#ou ouvrir des projets existant.
|
||||||
|
#
|
||||||
<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
|
#<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
|
||||||
rocket</em>.
|
#rocket</em>.
|
||||||
|
|
||||||
|
|
||||||
[main_window.jpg]
|
[main_window.jpg]
|
||||||
@ -77,7 +77,7 @@ dans les deux derniers onglets vous pouvez tracer ou exporter les résultats.
|
|||||||
<p>D'autres fonctionnalités avancées incluant l'analyse des pièces et une
|
<p>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.
|
optimisation automatique du projet sont traités dans d'autres tours d'horizon.
|
||||||
|
|
||||||
<p>Ensuite vous pouvez voir <a href="FIXME">Créer un projet fusée
|
<p>Ensuite vous pouvez voir <a href="creating_design/creating_design.tour">Créer un projet fusée
|
||||||
</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
|
</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
|
||||||
logiciel.
|
logiciel.
|
||||||
|
|
||||||
|
@ -11,13 +11,13 @@ Introduzione
|
|||||||
<b>Precedente</b> , o usando le frecce <em>sinistra</em> e <em>destra</em> della tua tastiera.
|
<b>Precedente</b> , o usando le frecce <em>sinistra</em> e <em>destra</em> della tua tastiera.
|
||||||
|
|
||||||
|
|
||||||
[none]
|
#[none]
|
||||||
# FIXME: Add screenshot after dialog is complete
|
## FIXME: Add screenshot after dialog is complete
|
||||||
|
#
|
||||||
<p>Questa è la finestra di avvio dalla quale puoi creare il disegno di un nuovo razzo o aprirne uno esistente.
|
#<p>Questa è la finestra di avvio dalla quale puoi creare il disegno di un nuovo razzo o aprirne uno esistente.
|
||||||
|
#
|
||||||
<p>Per questo tour, lasciami aprire un esempio chiamato <em>A simple model
|
#<p>Per questo tour, lasciami aprire un esempio chiamato <em>A simple model
|
||||||
rocket</em>.
|
#rocket</em>.
|
||||||
|
|
||||||
|
|
||||||
[main_window.jpg]
|
[main_window.jpg]
|
||||||
@ -62,7 +62,7 @@ Mostra le connessioni tra i componenti.
|
|||||||
|
|
||||||
<p>Altri tour trattano nello specifico diverse caratteristiche avanzate tra le quali l'analisi dei compononti e l'ottimizzazione automatica del progetto.
|
<p>Altri tour trattano nello specifico diverse caratteristiche avanzate tra le quali l'analisi dei compononti e l'ottimizzazione automatica del progetto.
|
||||||
|
|
||||||
<p>Puoi cominciare un tour da <a href="FIXME">Creating a rocket
|
<p>Puoi cominciare un tour da <a href="creating_design/creating_design.tour">Creating a rocket
|
||||||
design</a>, fai altri tour e comincia a prendere confidenza col programma.
|
design</a>, fai altri tour e comincia a prendere confidenza col programma.
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,3 @@
|
|||||||
introduction/introduction.tour
|
introduction/introduction.tour
|
||||||
creating_design/creating_design.tour
|
creating_design/creating_design.tour
|
||||||
|
|
||||||
test1/test.tour
|
|
||||||
test2/test2.tour
|
|
||||||
|
|
||||||
|
@ -1558,6 +1558,9 @@ CompassSelectionButton.lbl.NW = NW
|
|||||||
SlideShowDialog.btn.next = Next
|
SlideShowDialog.btn.next = Next
|
||||||
SlideShowDialog.btn.prev = Previous
|
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.title = Guided tours
|
||||||
GuidedTourSelectionDialog.lbl.selectTour = Select guided tour:
|
GuidedTourSelectionDialog.lbl.selectTour = Select guided tour:
|
||||||
GuidedTourSelectionDialog.lbl.description = Tour description:
|
GuidedTourSelectionDialog.lbl.description = Tour description:
|
||||||
|
@ -33,6 +33,7 @@ public class GuidedTourSelectionDialog extends JDialog {
|
|||||||
|
|
||||||
private static final Translator trans = Application.getTranslator();
|
private static final Translator trans = Application.getTranslator();
|
||||||
|
|
||||||
|
private static GuidedTourSelectionDialog instance = null;
|
||||||
|
|
||||||
|
|
||||||
private final SlideSetManager slideSetManager;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ import java.net.URL;
|
|||||||
|
|
||||||
import javax.imageio.ImageIO;
|
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
|
* An individual slide in a guided tour. It contains a image (or reference to an
|
||||||
* image file) plus a text description (in HTML).
|
* image file) plus a text description (in HTML).
|
||||||
@ -65,12 +67,10 @@ public class Slide {
|
|||||||
if (url != null) {
|
if (url != null) {
|
||||||
img = ImageIO.read(url);
|
img = ImageIO.read(url);
|
||||||
} else {
|
} else {
|
||||||
//FIXME
|
throw new BugException("Could not find image " + imageFile);
|
||||||
img = null;
|
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// FIXME
|
throw new BugException("Error reading image " + imageFile, e);
|
||||||
img = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return img;
|
return img;
|
||||||
|
@ -42,7 +42,7 @@ public class SlideShowDialog extends JDialog {
|
|||||||
JPanel panel = new JPanel(new MigLayout("fill"));
|
JPanel panel = new JPanel(new MigLayout("fill"));
|
||||||
|
|
||||||
slideShowComponent = new SlideShowComponent();
|
slideShowComponent = new SlideShowComponent();
|
||||||
slideShowComponent.addHyperlinkListener(new SlideShowLinkListener(parent));
|
slideShowComponent.addHyperlinkListener(new SlideShowLinkListener(this));
|
||||||
panel.add(slideShowComponent, "spanx, grow, wrap para");
|
panel.add(slideShowComponent, "spanx, grow, wrap para");
|
||||||
|
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ public class SlideShowDialog extends JDialog {
|
|||||||
nextButton.grabFocus();
|
nextButton.grabFocus();
|
||||||
GUIUtil.rememberWindowPosition(this);
|
GUIUtil.rememberWindowPosition(this);
|
||||||
GUIUtil.rememberWindowSize(this);
|
GUIUtil.rememberWindowSize(this);
|
||||||
this.setAlwaysOnTop(true);
|
// this.setAlwaysOnTop(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSlideSet(SlideSet slideSet, int position) {
|
public void setSlideSet(SlideSet slideSet, int position) {
|
||||||
|
@ -4,14 +4,20 @@ import java.awt.Desktop;
|
|||||||
import java.awt.Window;
|
import java.awt.Window;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.event.HyperlinkEvent;
|
import javax.swing.event.HyperlinkEvent;
|
||||||
import javax.swing.event.HyperlinkEvent.EventType;
|
import javax.swing.event.HyperlinkEvent.EventType;
|
||||||
import javax.swing.event.HyperlinkListener;
|
import javax.swing.event.HyperlinkListener;
|
||||||
|
|
||||||
|
import net.sf.openrocket.l10n.Translator;
|
||||||
|
import net.sf.openrocket.logging.LogHelper;
|
||||||
import net.sf.openrocket.startup.Application;
|
import net.sf.openrocket.startup.Application;
|
||||||
|
|
||||||
public class SlideShowLinkListener implements HyperlinkListener {
|
public class SlideShowLinkListener implements HyperlinkListener {
|
||||||
|
|
||||||
|
private static final LogHelper log = Application.getLogger();
|
||||||
|
private static final Translator trans = Application.getTranslator();
|
||||||
|
|
||||||
private final Window parent;
|
private final Window parent;
|
||||||
|
|
||||||
public SlideShowLinkListener(Window parent) {
|
public SlideShowLinkListener(Window parent) {
|
||||||
@ -46,7 +52,9 @@ public class SlideShowLinkListener implements HyperlinkListener {
|
|||||||
dialog.setSlideSet(ss, 0);
|
dialog.setSlideSet(ss, 0);
|
||||||
dialog.setVisible(true);
|
dialog.setVisible(true);
|
||||||
} catch (IllegalArgumentException e) {
|
} 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -683,8 +683,7 @@ public class BasicFrame extends JFrame {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
log.user("Guided tours selected");
|
log.user("Guided tours selected");
|
||||||
// FIXME: Singleton
|
GuidedTourSelectionDialog.showDialog(BasicFrame.this);
|
||||||
new GuidedTourSelectionDialog(BasicFrame.this).setVisible(true);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
menu.add(item);
|
menu.add(item);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user