-
Notifications
You must be signed in to change notification settings - Fork 3
/
Button.java
218 lines (196 loc) · 4.15 KB
/
Button.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
/*
* de.jwic.controls.ButtonControl
* $Id: Button.java,v 1.3 2011/09/09 15:09:01 adrianionescu12 Exp $
*/
package de.jwic.controls;
import de.jwic.base.IControlContainer;
import de.jwic.base.ImageRef;
import de.jwic.base.IncludeJsOption;
import de.jwic.base.JavaScriptSupport;
import de.jwic.controls.menu.Menu;
/**
* Represents the <button> html element. A button displays text and/or
* an image.
*
* The button is using the jQuery UI button element for representation by default. It is
* however possible, to switch back to the old jWic 4.x design by setting the templateName
* to "de.jwic.controls.ButtonLegacy".
*
* @author Florian Lippisch
* @version $Revision: 1.3 $
*/
@JavaScriptSupport
public class Button extends SelectableControl {
private static final long serialVersionUID = 1L;
private String title = null;
private ImageRef iconEnabled = null;
private ImageRef iconDisabled = null;
private String tooltip = null;
private String confirmMsg = "";
private Menu menu = null;
/**
* @param container
*/
public Button(IControlContainer container) {
super(container);
init();
}
/**
* @param container
* @param name
*/
public Button(IControlContainer container, String name) {
super(container, name);
init();
}
/* (non-Javadoc)
* @see de.jwic.base.Control#init()
*/
private void init() {
setCssClass("j-button");
if (title == null) {
title = getName();
}
}
/* (non-Javadoc)
* @see de.jwic.base.Control#actionPerformed(java.lang.String, java.lang.String)
*/
public void actionPerformed(String actionId, String parameter) {
click();
}
/**
* @return Returns the title.
*/
@IncludeJsOption
public String getTitle() {
return title;
}
/**
* @param title The title to set.
*/
public void setTitle(String title) {
this.title = title;
setRequireRedraw(true);
}
/**
* @return true if the button has non-empty title, false otherwise
*/
@IncludeJsOption
public boolean hasTitle(){
return title!=null && !title.isEmpty();
}
/**
* Returns the icon for the button depending on the state.
* @return
*/
public ImageRef getIcon() {
if (!isEnabled()) {
return iconDisabled != null ? iconDisabled : iconEnabled;
} else {
return iconEnabled;
}
}
/**
* @return
*/
@IncludeJsOption
public String getIconPath(){
ImageRef icon = this.getIcon();
return icon != null ? icon.getPath() : "";
}
/**
* Returns true if an icon is specified.
* @return
*/
@IncludeJsOption
public boolean hasIcon(){
return iconEnabled != null;
}
/**
* @return Returns the tooltip.
*/
@IncludeJsOption
public String getTooltip() {
return tooltip;
}
/**
* @param tooltip The tooltip to set.
*/
public void setTooltip(String tooltip) {
this.tooltip = tooltip;
requireRedraw();
}
/**
* @return Returns the confirmMsg.
*/
@IncludeJsOption
public String getConfirmMsg() {
return confirmMsg;
}
/**
* @param confirmMsg The confirmMsg to set.
*/
public void setConfirmMsg(String confirmMsg) {
this.confirmMsg = confirmMsg;
requireRedraw();
}
/**
* @return the iconDisabled
*/
public ImageRef getIconDisabled() {
return iconDisabled;
}
/**
* @return
*/
@IncludeJsOption
public String getIconDisabledPath(){
return this.iconDisabled != null ? this.iconDisabled.getPath() : "";
}
/**
* @param iconDisabled the iconDisabled to set
*/
public void setIconDisabled(ImageRef iconDisabled) {
this.iconDisabled = iconDisabled;
requireRedraw();
}
/**
* @return the iconEnabled
*/
public ImageRef getIconEnabled() {
return iconEnabled;
}
/**
* @return
*/
@IncludeJsOption
public String getIconEnabledPath() {
return iconEnabled != null ? iconEnabled.getPath() : "";
}
/**
* @param iconEnabled the iconEnabled to set
*/
public void setIconEnabled(ImageRef iconEnabled) {
this.iconEnabled = iconEnabled;
requireRedraw();
}
/**
* @return the menu
*/
public Menu getMenu() {
return menu;
}
/**
* @param menu the menu to set
*/
public void setMenu(Menu menu) {
this.menu = menu;
}
/**
* @return
*/
@IncludeJsOption
public String getMenuId(){
return menu != null ? menu.getControlID(): null;
}
}