1 /*
2 * Fsgrep is a simple Java application which allows a user to
3 * search all files in a directory structure for lines matching
4 * a given pattern. Its functionality is a combination of the
5 * Unix 'find' and 'grep' utilities.
6 * Visit [http://fsgrep.sourceforge.net/] for more information.
7 *
8 * Copyright (C) 2003-2006 Murali Krishnan [murali_ca_us@users.sourceforge.net]
9 *
10 * Fsgrep is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public
12 * License as published by the Free Software Foundation.
13 *
14 * Fsgrep is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with Fsgrep (see the file named LICENSE.txt); if not, write
21 * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
22 * Boston, MA 02111-1307 USA
23 */
24
25 package mk.fsgrep.gui;
26
27
28 import java.awt.*;
29 import java.awt.event.*;
30
31 import javax.swing.*;
32
33 import mk.fsgrep.util.IconResource;
34 import mk.fsgrep.util.TextResource;
35
36
37
38 /***
39 * A specialized button that displays an informational dialog.
40 *
41 * @author Murali Krishnan
42 *
43 */
44 public class InfoButton extends JButton {
45
46 //------------------------------------------------------------
47 //- Class Variables
48
49 private static Icon _iconForButton = IconResource.get("info.jpg");
50
51
52
53 //------------------------------------------------------------
54 //- Class Functions
55
56 protected static Icon getIconForButton() {return _iconForButton;}
57
58
59
60 //------------------------------------------------------------
61 //- Instance Variables
62
63
64
65 //------------------------------------------------------------
66 //- Constructors
67
68 InfoButton(final Component parent, String resource) {
69 super(getIconForButton());
70
71 setBorderPainted(false);
72 setToolTipText("Explain this field.");
73 setMargin(new Insets(0, 0, 0, 0));
74
75 final String info = TextResource.get("info/" + resource);
76
77 addActionListener(new ActionListener () {
78 public void actionPerformed (ActionEvent e) {
79 new InfoDialog(parent, "Fsgrep feature description", info);
80 }
81 });
82 }
83
84
85 //------------------------------------------------------------
86 //- Accessors
87
88
89
90 //------------------------------------------------------------
91 //- Settors
92
93
94
95 //------------------------------------------------------------
96 //- Private/Protected Utility Functions
97
98
99
100 //------------------------------------------------------------
101 //- Public Interface Functions
102
103
104
105 //------------------------------------------------------------
106 //- Class Interface Functions
107
108
109
110 //------------------------------------------------------------
111 //- Inner Classes
112
113
114
115 //------------------------------------------------------------
116 //- Main
117
118
119
120 }