aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/Embedded.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/ui/Embedded.java')
-rw-r--r--src/com/vaadin/ui/Embedded.java25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/com/vaadin/ui/Embedded.java b/src/com/vaadin/ui/Embedded.java
index be60b744aa..c670de86a2 100644
--- a/src/com/vaadin/ui/Embedded.java
+++ b/src/com/vaadin/ui/Embedded.java
@@ -6,12 +6,14 @@ package com.vaadin.ui;
import java.util.Hashtable;
import java.util.Iterator;
+import java.util.Map;
import com.vaadin.event.MouseEvents.ClickEvent;
import com.vaadin.event.MouseEvents.ClickListener;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.PaintTarget;
import com.vaadin.terminal.Resource;
+import com.vaadin.terminal.gwt.client.MouseEventDetails;
import com.vaadin.terminal.gwt.client.ui.VEmbedded;
/**
@@ -26,6 +28,8 @@ import com.vaadin.terminal.gwt.client.ui.VEmbedded;
@ClientWidget(VEmbedded.class)
public class Embedded extends AbstractComponent {
+ private static final String CLICK_EVENT = VEmbedded.CLICK_EVENT_IDENTIFIER;
+
/**
* General object type.
*/
@@ -417,19 +421,28 @@ public class Embedded extends AbstractComponent {
}
public void addListener(ClickListener listener) {
- addEventListener("click", ClickEvent.class, listener,
+ addListener(CLICK_EVENT, ClickEvent.class, listener,
ClickListener.clickMethod);
}
public void removeListener(ClickListener listener) {
- removeEventListener("click", ClickEvent.class, listener,
- ClickListener.clickMethod);
+ removeListener(CLICK_EVENT, ClickEvent.class, listener);
}
@Override
- protected void handleEvent(String event, String[] parameters) {
- if (event.equals("click")) {
- fireEvent(new ClickEvent(this, parameters[0]));
+ public void changeVariables(Object source, Map variables) {
+ super.changeVariables(source, variables);
+ if (variables.containsKey(CLICK_EVENT)) {
+ fireClick(variables.get(CLICK_EVENT));
}
+
}
+
+ private void fireClick(Object parameters) {
+ MouseEventDetails mouseDetails = MouseEventDetails
+ .deserialize((String) parameters);
+
+ fireEvent(new ClickEvent(this, mouseDetails));
+ }
+
}