aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/OptionGroup.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/ui/OptionGroup.java')
-rw-r--r--src/com/vaadin/ui/OptionGroup.java40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/com/vaadin/ui/OptionGroup.java b/src/com/vaadin/ui/OptionGroup.java
index ab925f8785..d8baf0bf5c 100644
--- a/src/com/vaadin/ui/OptionGroup.java
+++ b/src/com/vaadin/ui/OptionGroup.java
@@ -5,8 +5,14 @@
package com.vaadin.ui;
import java.util.Collection;
+import java.util.Map;
import com.vaadin.data.Container;
+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.VOptionGroup;
@@ -16,7 +22,8 @@ import com.vaadin.terminal.gwt.client.ui.VOptionGroup;
*/
@SuppressWarnings("serial")
@ClientWidget(VOptionGroup.class)
-public class OptionGroup extends AbstractSelect {
+public class OptionGroup extends AbstractSelect implements
+ FieldEvents.BlurNotifier, FieldEvents.FocusNotifier {
public OptionGroup() {
super();
@@ -40,4 +47,35 @@ public class OptionGroup extends AbstractSelect {
super.paintContent(target);
}
+ @Override
+ public void changeVariables(Object source, Map<String, Object> variables) {
+ super.changeVariables(source, variables);
+
+ if (variables.containsKey(FocusEvent.EVENT_ID)) {
+ fireEvent(new FocusEvent(this));
+ }
+ if (variables.containsKey(BlurEvent.EVENT_ID)) {
+ fireEvent(new BlurEvent(this));
+ }
+ }
+
+ 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);
+
+ }
+
}