summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorTeemu Pòˆntelin <teemu@vaadin.com>2014-04-05 15:11:26 +0300
committerVaadin Code Review <review@vaadin.com>2014-04-08 08:57:45 +0000
commit31f05d0001b6911fcac93bf09b0301dbf1385fa4 (patch)
treed4083f547f4989e200047d19563643a89fc8828b /client
parent49771e5a68316ff6cff1db57c328332988f24fb7 (diff)
downloadvaadin-framework-31f05d0001b6911fcac93bf09b0301dbf1385fa4.tar.gz
vaadin-framework-31f05d0001b6911fcac93bf09b0301dbf1385fa4.zip
Slider handle is now correctly updated on resize (#12550)
Fixed the issue by replacing the legacy ContainerResizedListener with adding (and removing) an ElementResizeListener to the LayoutManager. Notice also that after this change there are no longer implementations of the deprecated ContainerResizedListener in the framework codebase. Change-Id: Ib984953d8b53b9535d39ae70166c17ffd5b4103b
Diffstat (limited to 'client')
-rw-r--r--client/src/com/vaadin/client/ui/VSlider.java4
-rw-r--r--client/src/com/vaadin/client/ui/slider/SliderConnector.java20
2 files changed, 21 insertions, 3 deletions
diff --git a/client/src/com/vaadin/client/ui/VSlider.java b/client/src/com/vaadin/client/ui/VSlider.java
index 44c2f2ddc8..7ac31fd85a 100644
--- a/client/src/com/vaadin/client/ui/VSlider.java
+++ b/client/src/com/vaadin/client/ui/VSlider.java
@@ -35,13 +35,12 @@ import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasValue;
import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.BrowserInfo;
-import com.vaadin.client.ContainerResizedListener;
import com.vaadin.client.Util;
import com.vaadin.client.VConsole;
import com.vaadin.shared.ui.slider.SliderOrientation;
public class VSlider extends SimpleFocusablePanel implements Field,
- ContainerResizedListener, HasValue<Double> {
+ HasValue<Double> {
public static final String CLASSNAME = "v-slider";
@@ -432,7 +431,6 @@ public class VSlider extends SimpleFocusablePanel implements Field,
}
}
- @Override
public void iLayout() {
if (isVertical()) {
setHeight();
diff --git a/client/src/com/vaadin/client/ui/slider/SliderConnector.java b/client/src/com/vaadin/client/ui/slider/SliderConnector.java
index 71462d69f0..b4eb9f14f7 100644
--- a/client/src/com/vaadin/client/ui/slider/SliderConnector.java
+++ b/client/src/com/vaadin/client/ui/slider/SliderConnector.java
@@ -21,6 +21,8 @@ import com.vaadin.client.communication.RpcProxy;
import com.vaadin.client.communication.StateChangeEvent;
import com.vaadin.client.ui.AbstractFieldConnector;
import com.vaadin.client.ui.VSlider;
+import com.vaadin.client.ui.layout.ElementResizeEvent;
+import com.vaadin.client.ui.layout.ElementResizeListener;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.slider.SliderServerRpc;
import com.vaadin.shared.ui.slider.SliderState;
@@ -33,11 +35,29 @@ public class SliderConnector extends AbstractFieldConnector implements
protected SliderServerRpc rpc = RpcProxy
.create(SliderServerRpc.class, this);
+ private final ElementResizeListener resizeListener = new ElementResizeListener() {
+
+ @Override
+ public void onElementResize(ElementResizeEvent e) {
+ getWidget().iLayout();
+ }
+ };
+
@Override
public void init() {
super.init();
getWidget().setConnection(getConnection());
getWidget().addValueChangeHandler(this);
+
+ getLayoutManager().addElementResizeListener(getWidget().getElement(),
+ resizeListener);
+ }
+
+ @Override
+ public void onUnregister() {
+ super.onUnregister();
+ getLayoutManager().removeElementResizeListener(
+ getWidget().getElement(), resizeListener);
}
@Override