1 /*
2 * SSHTools - Java SSH2 API
3 *
4 * Copyright (C) 2002-2003 Lee David Painter and Contributors.
5 *
6 * Contributions made by:
7 *
8 * Brett Smith
9 * Richard Pernavas
10 * Erwin Bolwidt
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 */
26 package com.sshtools.common.ui;
27
28 import java.awt;
29
30 import javax.swing;
31
32
33 /**
34 *
35 *
36 * @author $author$
37 * @version $Revision: 1.2 $
38 */
39 public class ToolToggleButton extends JToggleButton {
40 //
41 private final static Insets INSETS = new Insets(0, 0, 0, 0);
42 private boolean hideText;
43
44 /**
45 * Creates a new ToolButton object.
46 *
47 * @param action
48 */
49 public ToolToggleButton(Action action) {
50 super(action);
51 setMargin(INSETS);
52 setRequestFocusEnabled(false);
53 setFocusPainted(false);
54
55 if (action.getValue(StandardAction.HIDE_TOOLBAR_TEXT) != null) {
56 setHideText(Boolean.TRUE.equals(
57 (Boolean) action.getValue(StandardAction.HIDE_TOOLBAR_TEXT)));
58 } else {
59 setHideText(true);
60 }
61 }
62
63 /**
64 *
65 *
66 * @return
67 */
68 public boolean isFocusable() {
69 return false;
70 }
71
72 /**
73 *
74 *
75 * @param hideText
76 */
77 public void setHideText(boolean hideText) {
78 if (this.hideText != hideText) {
79 firePropertyChange("hideText", this.hideText, hideText);
80 }
81
82 if (hideText) {
83 this.hideText = hideText;
84 this.setHorizontalTextPosition(ToolButton.RIGHT);
85 }
86
87 repaint();
88 }
89
90 /**
91 *
92 *
93 * @return
94 */
95 public String getText() {
96 return hideText ? null : super.getText();
97 }
98 }