mirror of
https://github.com/OMGeeky/ATCS.git
synced 2025-12-30 16:19:05 +01:00
Introducing the help panel for Dialogue Sketches' editor's shortcuts.
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 =
|
||||
"<html><body><table>"
|
||||
+ "<tr><td valign=\"middle\">(Esc.)</td><td valign=\"middle\"> Cancel edition</td></tr>"
|
||||
+ "<tr><td valign=\"middle\">(Ctrl+Enter)</td><td valign=\"middle\"> Confirm changes</td></tr>"
|
||||
+ "<tr><td valign=\"middle\">(Shift+Enter)</td><td valign=\"middle\"> Create next of same kind</td></tr>"
|
||||
+ "<tr><td valign=\"middle\">(Alt+Enter)</td><td valign=\"middle\"> Create next of other kind</td></tr>"
|
||||
+ "</table></body></html>";
|
||||
|
||||
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user