1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.xnap.gui.util;
20
21 import javax.help.DefaultHelpBroker;
22 import javax.help.HelpSet;
23 import javax.help.Map;
24 import javax.swing.JComponent;
25
26 import org.apache.log4j.Logger;
27 import org.xnap.gui.HelpDialog;
28 import org.xnap.gui.XNapFrame;
29
30 /***
31 * Extends the DefaultHelpBroker to use XNap's own {@link HelpDialog} for a
32 * consisten look and feel.
33 */
34 public class XNapHelpBroker extends DefaultHelpBroker
35 {
36
37
38
39
40 private HelpDialog dialog = null;
41
42 private static Logger logger = Logger.getLogger(XNapHelpBroker.class);
43
44
45
46 public XNapHelpBroker(HelpSet hs)
47 {
48 super(hs);
49 }
50
51
52
53 public JComponent getHelp()
54 {
55
56 if (jhelp == null) {
57 try {
58 Map.ID id = Map.ID.create(null, getHelpSet());
59 setCurrentID(id);
60 }
61 catch (Exception e) {
62 }
63 }
64 return jhelp;
65 }
66
67 public boolean isDisplayed()
68 {
69 return dialog != null && dialog.isShowing();
70 }
71
72 public void setDisplayed(boolean b)
73 {
74 if (b) {
75 if (dialog == null) {
76 dialog = new HelpDialog();
77 }
78 dialog.show(XNapFrame.getInstance());
79 }
80 else {
81 if (dialog != null) {
82 dialog.close();
83 }
84 }
85 }
86 }