From fdab4ee8b35342c728fa3d0f7090d8a52ec89d67 Mon Sep 17 00:00:00 2001 From: Denis Anisimov Date: Thu, 11 Dec 2014 18:48:02 +0200 Subject: Notify server side component about clicks in form layout (#6346). Change-Id: Ia14a50aba17689b580bb265c9693c3ae503fee34 --- .../client/ui/formlayout/FormLayoutConnector.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/ui/formlayout/FormLayoutConnector.java b/client/src/main/java/com/vaadin/client/ui/formlayout/FormLayoutConnector.java index 3f0b4345c4..39992d91a6 100644 --- a/client/src/main/java/com/vaadin/client/ui/formlayout/FormLayoutConnector.java +++ b/client/src/main/java/com/vaadin/client/ui/formlayout/FormLayoutConnector.java @@ -24,10 +24,12 @@ import com.vaadin.client.ComponentConnector; import com.vaadin.client.ConnectorHierarchyChangeEvent; import com.vaadin.client.LayoutManager; import com.vaadin.client.TooltipInfo; +import com.vaadin.client.Util; import com.vaadin.client.WidgetUtil; import com.vaadin.client.communication.StateChangeEvent; import com.vaadin.client.ui.AbstractFieldConnector; import com.vaadin.client.ui.AbstractLayoutConnector; +import com.vaadin.client.ui.LayoutClickEventHandler; import com.vaadin.client.ui.PostLayoutListener; import com.vaadin.client.ui.VFormLayout; import com.vaadin.client.ui.VFormLayout.Caption; @@ -36,7 +38,9 @@ import com.vaadin.client.ui.VFormLayout.VFormLayoutTable; 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.LayoutClickRpc; import com.vaadin.shared.ui.MarginInfo; +import com.vaadin.shared.ui.orderedlayout.AbstractOrderedLayoutServerRpc; import com.vaadin.shared.ui.orderedlayout.FormLayoutState; import com.vaadin.ui.FormLayout; @@ -44,6 +48,26 @@ import com.vaadin.ui.FormLayout; public class FormLayoutConnector extends AbstractLayoutConnector implements PostLayoutListener { + /* + * Handlers & Listeners + */ + + private LayoutClickEventHandler clickEventHandler = new LayoutClickEventHandler( + this) { + + @Override + protected ComponentConnector getChildComponent( + com.google.gwt.user.client.Element element) { + return Util.getConnectorForElement(getConnection(), getWidget(), + element); + } + + @Override + protected LayoutClickRpc getLayoutClickRPC() { + return getRpcProxy(AbstractOrderedLayoutServerRpc.class); + } + }; + private Map oldMaxWidths = null; private static final ElementResizeListener dummyFirstCellResizeListener = new ElementResizeListener() { @@ -143,6 +167,7 @@ public class FormLayoutConnector extends AbstractLayoutConnector implements public void onStateChanged(StateChangeEvent stateChangeEvent) { super.onStateChanged(stateChangeEvent); + clickEventHandler.handleEventHandlerRegistration(); VFormLayoutTable formLayoutTable = getWidget().table; formLayoutTable.setMargins(new MarginInfo(getState().marginsBitmask)); -- cgit v1.2.3