diff --git a/src/com/gpl/rpg/atcontentstudio/ui/ProjectsTree.java b/src/com/gpl/rpg/atcontentstudio/ui/ProjectsTree.java index 181a007..577ba15 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/ProjectsTree.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/ProjectsTree.java @@ -242,17 +242,17 @@ public class ProjectsTree extends JPanel { addNextSeparator = false; } - if (actions.testWriter.isEnabled()) { + if (actions.createWriter.isEnabled()) { addNextSeparator = true; - popupMenu.add(new JMenuItem(actions.testWriter)); + popupMenu.add(new JMenuItem(actions.createWriter)); } // if (actions.testCommitWriter.isEnabled()) { // addNextSeparator = true; // popupMenu.add(new JMenuItem(actions.testCommitWriter)); // } - if (actions.createWriter.isEnabled()) { + if (actions.generateWriter.isEnabled()) { addNextSeparator = true; - popupMenu.add(new JMenuItem(actions.createWriter)); + popupMenu.add(new JMenuItem(actions.generateWriter)); } if (addNextSeparator) { popupMenu.add(new JSeparator()); diff --git a/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceActions.java b/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceActions.java index 5ed104e..35123c8 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceActions.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceActions.java @@ -399,7 +399,7 @@ public class WorkspaceActions { }; }; - public ATCSAction testWriter = new ATCSAction("Create dialogue sketch", "Create a dialogue sketch for fast dialogue edition"){ + public ATCSAction createWriter = new ATCSAction("Create dialogue sketch", "Create a dialogue sketch for fast dialogue edition"){ public void actionPerformed(ActionEvent e) { if (selectedNode == null || selectedNode.getProject() == null) return; new WriterSketchCreationWizard(selectedNode.getProject()).setVisible(true); @@ -434,7 +434,7 @@ public class WorkspaceActions { } };*/ - public ATCSAction createWriter = new ATCSAction("Generate dialogue sketch", "Generates a dialogue sketch from this dialogue and its tree.") { + public ATCSAction generateWriter = new ATCSAction("Generate dialogue sketch", "Generates a dialogue sketch from this dialogue and its tree.") { public void actionPerformed(ActionEvent e) { if (selectedNode == null || selectedNode.getProject() == null || !(selectedNode instanceof Dialogue)) return; new WriterSketchCreationWizard(selectedNode.getProject(), (Dialogue)selectedNode).setVisible(true); @@ -472,9 +472,9 @@ public class WorkspaceActions { actions.add(exportProject); actions.add(showAbout); actions.add(exitATCS); - actions.add(testWriter); -// actions.add(testCommitWriter); actions.add(createWriter); +// actions.add(testCommitWriter); + actions.add(generateWriter); actions.add(editWorkspaceSettings); selectionChanged(null, null); } diff --git a/src/com/gpl/rpg/atcontentstudio/ui/tools/writermode/WriterModeEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/tools/writermode/WriterModeEditor.java index 9e8a867..a83c68e 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/tools/writermode/WriterModeEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/tools/writermode/WriterModeEditor.java @@ -10,15 +10,18 @@ import java.awt.event.FocusListener; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.geom.Point2D; +import java.io.IOException; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import javax.imageio.ImageIO; import javax.swing.AbstractAction; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JEditorPane; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -75,8 +78,19 @@ import com.jidesoft.swing.JideBoxLayout; public class WriterModeEditor extends Editor { private static final long serialVersionUID = -6591631891278528494L; + + private static final String HELP_TEXT = + "" + + "" + + "" + + "" + + "" + + "
(Esc.) Cancel edition
(Ctrl+Enter) Confirm changes
(Shift+Enter) Create next of same kind
(Alt+Enter) Create next of other kind
"; + + private JComponent overlay = null; + private JComponent helpWindow = null; private Display view; final private WriterModeData data; @@ -91,6 +105,7 @@ public class WriterModeEditor extends Editor { selected = data.begin; view = new WriterGraphView(); view.setLocation(0, 0); + setLayout(new BorderLayout()); add(createButtonPane(), BorderLayout.NORTH); add(view, BorderLayout.CENTER); @@ -149,6 +164,22 @@ public class WriterModeEditor extends Editor { } + private void createHelpWindow() { + JInternalFrame window = new JInternalFrame("Help", true, true); + window.setLayout(new BorderLayout()); + JEditorPane area = new JEditorPane(); + area.setContentType("text/html"); + area.setText(HELP_TEXT); + area.setEditable(false); + + window.add(new JScrollPane(area)); + window.setSize(350, 250); + window.setLocation(0, 0); + + view.add(window); + helpWindow = window; + } + public static final String GRAPH = "graph"; public static final String NODES = "graph.nodes"; public static final String NULL_NODES = "graph.nullNodes"; @@ -742,6 +773,19 @@ public class WriterModeEditor extends Editor { } }; + static final String showHelpString = "showHelp"; + final AbstractAction showHelp = new AbstractAction("Show help window") { + private static final long serialVersionUID = 1658086056088672748L; + + @Override + public void actionPerformed(ActionEvent e) { + if (helpWindow == null) { + createHelpWindow(); + } + helpWindow.setVisible(true); + } + }; + class ScrollToSelectedAction extends Action { final boolean openEditor; @@ -829,6 +873,8 @@ public class WriterModeEditor extends Editor { area.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.ALT_DOWN_MASK, true), commitAndCreateNextDefaultNodeString); area.getActionMap().put(commitAndCreateNextDefaultNodeString, commitAndCreateNextDefaultNode); + area.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0, true), showHelpString); + area.getActionMap().put(showHelpString, showHelp); if (selected instanceof WriterDialogue) { area.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK, true), createContinueTalkingNodeString);