4f26034622576668a8c540fd525145a61dab32aa
[debian/jabref.git] / src / java / net / sf / jabref / HelpAction.java
1 /*
2 Copyright (C) 2003 Morten O. Alver, Nizar N. Batada
3
4 All programs in this directory and
5 subdirectories are published under the GNU General Public License as
6 described below.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or (at
11 your option) any later version.
12
13 This program is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 USA
22
23 Further information about the GNU GPL is available at:
24 http://www.gnu.org/copyleft/gpl.ja.html
25
26 */
27 package net.sf.jabref;
28
29 import java.awt.*;
30 import java.awt.event.*;
31 import javax.swing.*;
32 import javax.swing.event.HyperlinkListener;
33 import javax.swing.event.HyperlinkEvent;
34 import java.net.URL;
35
36 /**
37  * This Action keeps a reference to a URL. When activated, it shows the help
38  * Dialog unless it is already visible, and shows the URL in it.
39  */
40 public class HelpAction extends MnemonicAwareAction {
41
42     protected HelpDialog diag;
43     protected URL helpfile;
44     protected String helpFile;
45
46     public HelpAction(HelpDialog diag, String helpFile) {
47         super(new ImageIcon(GUIGlobals.helpIconFile));
48         putValue(NAME, "Help");
49         this.diag = diag;
50         this.helpFile = helpFile;
51     }
52
53     public HelpAction(HelpDialog diag, String helpFile, String tooltip) {
54         super(new ImageIcon(GUIGlobals.helpIconFile));
55         putValue(NAME, "Help");
56         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
57         this.diag = diag;
58         this.helpFile = helpFile;
59     }
60
61     public HelpAction(HelpDialog diag, String helpFile, String tooltip,
62                       URL iconFile) {
63         super(new ImageIcon(iconFile));
64         putValue(NAME, "Help");
65         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
66         this.diag = diag;
67         this.helpFile = helpFile;
68     }
69
70     public HelpAction(String title, HelpDialog diag, String helpFile, String tooltip) {
71         super(new ImageIcon(GUIGlobals.helpIconFile));
72         putValue(NAME, title);
73         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
74         this.diag = diag;
75         this.helpFile = helpFile;
76     }
77
78     public HelpAction(String title, HelpDialog diag, String helpFile, String tooltip,
79                       KeyStroke key) {
80         super(new ImageIcon(GUIGlobals.helpIconFile));
81         putValue(NAME, title);
82         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
83         putValue(ACCELERATOR_KEY, key);
84         this.diag = diag;
85         this.helpFile = helpFile;
86     }
87
88     public HelpAction(String title, HelpDialog diag, String helpFile, String tooltip,
89                       URL iconFile) {
90         super(new ImageIcon(iconFile));
91         putValue(NAME, title);
92         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
93         this.diag = diag;
94         this.helpFile = helpFile;
95     }
96 /*
97     public HelpAction(HelpDialog diag, URL helpfile, String tooltip) {
98         super(Globals.lang("Help"), new ImageIcon(GUIGlobals.helpIconFile));
99         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
100         this.diag = diag;
101         this.helpfile = helpfile;
102               Util.pr("6. HelpAction: "+helpFile+" "+helpfile);
103     }
104
105     public HelpAction(HelpDialog diag, URL helpfile, String tooltip,
106                       URL iconFile) {
107         super(Globals.lang("Help"), new ImageIcon(iconFile));
108         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
109         this.diag = diag;
110         this.helpfile = helpfile;
111               Util.pr("7. HelpAction: "+helpFile+" "+helpfile);
112     }
113
114     public HelpAction(String title, HelpDialog diag, URL helpfile, String tooltip) {
115         super(Globals.lang(title), new ImageIcon(GUIGlobals.helpIconFile));
116         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
117         this.diag = diag;
118         this.helpfile = helpfile;
119               Util.pr("8. HelpAction: "+helpFile+" "+helpfile);
120     }
121
122     public HelpAction(String title, HelpDialog diag, URL helpfile, String tooltip,
123                       KeyStroke key) {
124         super(Globals.lang(title), new ImageIcon(GUIGlobals.helpIconFile));
125         putValue(SHORT_DESCRIPTION, Globals.lang(tooltip));
126         putValue(ACCELERATOR_KEY, key);
127         this.diag = diag;
128         this.helpfile = helpfile;
129               Util.pr("9. HelpAction: "+helpFile+" "+helpfile);
130     }
131 */
132
133     public JButton getIconButton() {
134         JButton hlp = new JButton(this);
135         hlp.setText(null);
136         hlp.setPreferredSize(new Dimension(24, 24));
137         return hlp;
138     }
139
140     public void actionPerformed(ActionEvent e) {
141         diag.showPage(helpFile);
142     }
143
144 }