01: /*
02: * $Id: JGraphpadHelpAction.java,v 1.1.1.1 2005/08/04 11:21:58 gaudenz Exp $
03: * Copyright (c) 2001-2005, Gaudenz Alder
04: *
05: * All rights reserved.
06: *
07: * See LICENSE file for license details. If you are unable to locate
08: * this file please contact info (at) jgraph (dot) com.
09: */
10: package com.jgraph.pad.action;
11:
12: import java.awt.event.ActionEvent;
13:
14: import com.jgraph.JGraphpad;
15: import com.jgraph.editor.JGraphEditorAction;
16: import com.jgraph.editor.JGraphEditorResources;
17: import com.jgraph.pad.dialog.JGraphpadAboutDialog;
18:
19: /**
20: * Implements all actions of the help menu.
21: */
22: public class JGraphpadHelpAction extends JGraphEditorAction {
23:
24: /**
25: * Holds the about dialog. Lazy creation.
26: */
27: protected JGraphpadAboutDialog aboutDialog;
28:
29: /**
30: * Specifies the name for the <code>about</code> action.
31: */
32: public static final String NAME_ABOUT = "about";
33:
34: /**
35: * Constructs a new help action for the specified name.
36: *
37: * @param name
38: * The name of the action to be created.
39: */
40: public JGraphpadHelpAction(String name) {
41: super (name);
42: }
43:
44: /**
45: * Executes the action based on the action name.
46: *
47: * @param event
48: * The object that describes the event.
49: */
50: public void actionPerformed(ActionEvent event) {
51: if (getName().equals(NAME_ABOUT))
52: doAbout();
53: }
54:
55: /**
56: * Displays the about dialog.
57: *
58: * @see JGraphpadAboutDialog
59: */
60: protected void doAbout() {
61: if (aboutDialog == null)
62: aboutDialog = new JGraphpadAboutDialog(
63: JGraphEditorResources
64: .getImage(JGraphEditorResources
65: .getString("aboutDialog.icon")));
66: JGraphpad.center(aboutDialog);
67: aboutDialog.setModal(true);
68: aboutDialog.setVisible(true);
69: }
70:
71: /**
72: * Bundle of all actions in this class.
73: */
74: public static class AllActions implements Bundle {
75:
76: /**
77: * Holds the actions.
78: */
79: public JGraphEditorAction actionAbout = new JGraphpadHelpAction(
80: NAME_ABOUT);
81:
82: /*
83: * (non-Javadoc)
84: */
85: public JGraphEditorAction[] getActions() {
86: return new JGraphEditorAction[] { actionAbout };
87: }
88:
89: /*
90: * (non-Javadoc)
91: */
92: public void update() {
93: // Always enabled
94: }
95:
96: }
97:
98: }
|