aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/Button.java
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-03-24 10:05:38 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-03-24 10:05:38 +0000
commit4e1d1321ec50c130aafca8d1251a71f12f5e28d1 (patch)
tree1e90d6c509563ecdd84a9946d45dd81649075e31 /src/com/vaadin/ui/Button.java
parent1b55615e5157517eed59265776bad0dcbbdc53d3 (diff)
downloadvaadin-framework-4e1d1321ec50c130aafca8d1251a71f12f5e28d1.tar.gz
vaadin-framework-4e1d1321ec50c130aafca8d1251a71f12f5e28d1.zip
fixes #3913
svn changeset:12055/svn branch:6.3
Diffstat (limited to 'src/com/vaadin/ui/Button.java')
-rw-r--r--src/com/vaadin/ui/Button.java36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/com/vaadin/ui/Button.java b/src/com/vaadin/ui/Button.java
index 004bf43a8f..038186ce16 100644
--- a/src/com/vaadin/ui/Button.java
+++ b/src/com/vaadin/ui/Button.java
@@ -11,6 +11,11 @@ import java.util.Map;
import com.vaadin.data.Property;
import com.vaadin.event.ShortcutListener;
+import com.vaadin.event.FieldEvents;
+import com.vaadin.event.FieldEvents.BlurEvent;
+import com.vaadin.event.FieldEvents.BlurListener;
+import com.vaadin.event.FieldEvents.FocusEvent;
+import com.vaadin.event.FieldEvents.FocusListener;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.PaintTarget;
import com.vaadin.terminal.gwt.client.ui.VButton;
@@ -26,7 +31,8 @@ import com.vaadin.ui.themes.BaseTheme;
*/
@SuppressWarnings("serial")
@ClientWidget(VButton.class)
-public class Button extends AbstractField {
+public class Button extends AbstractField implements FieldEvents.BlurNotifier,
+ FieldEvents.FocusNotifier {
/* Private members */
@@ -143,7 +149,7 @@ public class Button extends AbstractField {
* @param variables
*/
@Override
- public void changeVariables(Object source, Map variables) {
+ public void changeVariables(Object source, Map<String, Object> variables) {
super.changeVariables(source, variables);
if (!isReadOnly() && variables.containsKey("state")) {
@@ -173,6 +179,13 @@ public class Button extends AbstractField {
}
}
}
+
+ if (variables.containsKey(FocusEvent.EVENT_ID)) {
+ fireEvent(new FocusEvent(this));
+ }
+ if (variables.containsKey(BlurEvent.EVENT_ID)) {
+ fireEvent(new BlurEvent(this));
+ }
}
/**
@@ -348,6 +361,25 @@ public class Button extends AbstractField {
super.setInternalValue(newValue);
}
+ public void addListener(BlurListener listener) {
+ addListener(BlurEvent.EVENT_ID, BlurEvent.class, listener,
+ BlurListener.blurMethod);
+ }
+
+ public void removeListener(BlurListener listener) {
+ removeListener(BlurEvent.EVENT_ID, BlurEvent.class, listener);
+ }
+
+ public void addListener(FocusListener listener) {
+ addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener,
+ FocusListener.focusMethod);
+ }
+
+ public void removeListener(FocusListener listener) {
+ removeListener(FocusEvent.EVENT_ID, FocusEvent.class, listener);
+
+ }
+
/*
* Actions
*/