diff options
Diffstat (limited to 'src/com/vaadin/ui/OptionGroup.java')
-rw-r--r-- | src/com/vaadin/ui/OptionGroup.java | 40 |
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); + + } + } |