diff options
author | Teemu Pòˆntelin <teemu@vaadin.com> | 2014-04-05 15:11:26 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2014-04-08 08:57:45 +0000 |
commit | 31f05d0001b6911fcac93bf09b0301dbf1385fa4 (patch) | |
tree | d4083f547f4989e200047d19563643a89fc8828b /client | |
parent | 49771e5a68316ff6cff1db57c328332988f24fb7 (diff) | |
download | vaadin-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.java | 4 | ||||
-rw-r--r-- | client/src/com/vaadin/client/ui/slider/SliderConnector.java | 20 |
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 |