From 4ee39c397a85618e65d2e5dcd3ec556569a73719 Mon Sep 17 00:00:00 2001 From: Denis Anisimov Date: Sat, 15 Nov 2014 16:49:09 +0200 Subject: MarginInfo CTOR with two booleans: vertical, horizontal (#14113). Change-Id: Iad15b95abeb24e7dd1e06b1d9f70844cb061cb49 --- shared/src/com/vaadin/shared/ui/MarginInfo.java | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'shared') diff --git a/shared/src/com/vaadin/shared/ui/MarginInfo.java b/shared/src/com/vaadin/shared/ui/MarginInfo.java index a8979b36cf..92f7956015 100644 --- a/shared/src/com/vaadin/shared/ui/MarginInfo.java +++ b/shared/src/com/vaadin/shared/ui/MarginInfo.java @@ -68,7 +68,11 @@ public class MarginInfo implements Serializable { * enable or disable left margin */ public MarginInfo(boolean top, boolean right, boolean bottom, boolean left) { - setMargins(top, right, bottom, left); + doSetMargins(top, right, bottom, left); + } + + public MarginInfo(boolean vertical, boolean horizontal) { + this(vertical, horizontal, vertical, horizontal); } /** @@ -96,10 +100,7 @@ public class MarginInfo implements Serializable { */ public void setMargins(boolean top, boolean right, boolean bottom, boolean left) { - bitMask = top ? TOP : 0; - bitMask += right ? RIGHT : 0; - bitMask += bottom ? BOTTOM : 0; - bitMask += left ? LEFT : 0; + doSetMargins(top, right, bottom, left); } /** @@ -188,4 +189,13 @@ public class MarginInfo implements Serializable { + hasBottom() + ", " + hasLeft() + ")"; } + + private void doSetMargins(boolean top, boolean right, boolean bottom, + boolean left) { + bitMask = top ? TOP : 0; + bitMask += right ? RIGHT : 0; + bitMask += bottom ? BOTTOM : 0; + bitMask += left ? LEFT : 0; + } + } -- cgit v1.2.3 From 81aadbb9edeb4a57dd02c35937905e5427a674e0 Mon Sep 17 00:00:00 2001 From: maxschuster Date: Mon, 22 Feb 2016 00:10:21 +0100 Subject: Fix DragAndDropWrapper update after file upload (#19616) After a file has been uploaded VDragAndDropWrapper tries to pull changes from the server by calling ApplicationConnection.sendPendingVariableChanges() which has no effect. This change replaces the ApplicationConnection.sendPendingVariableChanges() call with an RPC. Change-Id: Ibdf7f4d702add9507dbe54c1fdb402f0f4b19d19 --- .../com/vaadin/client/ui/VDragAndDropWrapper.java | 15 +++++++-- .../DragAndDropWrapperConnector.java | 16 +++++++++- server/src/com/vaadin/ui/DragAndDropWrapper.java | 10 ++++++ .../DragAndDropWrapperServerRpc.java | 36 ++++++++++++++++++++++ 4 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java (limited to 'shared') diff --git a/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java b/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java index f3905f9e46..a4cdd6e70f 100644 --- a/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java +++ b/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java @@ -196,6 +196,9 @@ public class VDragAndDropWrapper extends VCustomComponent implements /** For internal use only. May be removed or replaced in the future. */ public VAbstractDropHandler dropHandler; + /** For internal use only. May be removed or replaced in the future. */ + public UploadHandler uploadHandler; + private VDragEvent vaadinDragEvent; int filecounter = 0; @@ -239,9 +242,9 @@ public class VDragAndDropWrapper extends VCustomComponent implements @Override public void onReadyStateChange(XMLHttpRequest xhr) { if (xhr.getReadyState() == XMLHttpRequest.DONE) { - // visit server for possible - // variable changes - client.sendPendingVariableChanges(); + // #19616 Notify the upload handler that the request is complete + // and let it poll the server for changes. + uploadHandler.uploadDone(); uploading = false; startNextUpload(); xhr.clearOnReadyStateChange(); @@ -727,4 +730,10 @@ public class VDragAndDropWrapper extends VCustomComponent implements return dragImageWidget; } + public interface UploadHandler { + + public void uploadDone(); + + } + } diff --git a/client/src/com/vaadin/client/ui/draganddropwrapper/DragAndDropWrapperConnector.java b/client/src/com/vaadin/client/ui/draganddropwrapper/DragAndDropWrapperConnector.java index f222721e24..7ea9596809 100644 --- a/client/src/com/vaadin/client/ui/draganddropwrapper/DragAndDropWrapperConnector.java +++ b/client/src/com/vaadin/client/ui/draganddropwrapper/DragAndDropWrapperConnector.java @@ -30,11 +30,18 @@ import com.vaadin.client.ui.VDragAndDropWrapper; import com.vaadin.client.ui.customcomponent.CustomComponentConnector; import com.vaadin.shared.ui.Connect; import com.vaadin.shared.ui.draganddropwrapper.DragAndDropWrapperConstants; +import com.vaadin.shared.ui.draganddropwrapper.DragAndDropWrapperServerRpc; import com.vaadin.ui.DragAndDropWrapper; @Connect(DragAndDropWrapper.class) public class DragAndDropWrapperConnector extends CustomComponentConnector - implements Paintable { + implements Paintable, VDragAndDropWrapper.UploadHandler { + + @Override + protected void init() { + super.init(); + getWidget().uploadHandler = this; + } @Override public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { @@ -121,4 +128,11 @@ public class DragAndDropWrapperConnector extends CustomComponentConnector private static Logger getLogger() { return Logger.getLogger(DragAndDropWrapperConnector.class.getName()); } + + @Override + public void uploadDone() { + // #19616 RPC to poll the server for changes + getRpcProxy(DragAndDropWrapperServerRpc.class).poll(); + } + } diff --git a/server/src/com/vaadin/ui/DragAndDropWrapper.java b/server/src/com/vaadin/ui/DragAndDropWrapper.java index 90b3b56ef6..29179ddca7 100644 --- a/server/src/com/vaadin/ui/DragAndDropWrapper.java +++ b/server/src/com/vaadin/ui/DragAndDropWrapper.java @@ -40,6 +40,7 @@ import com.vaadin.shared.MouseEventDetails; import com.vaadin.shared.ui.dd.HorizontalDropLocation; import com.vaadin.shared.ui.dd.VerticalDropLocation; import com.vaadin.shared.ui.draganddropwrapper.DragAndDropWrapperConstants; +import com.vaadin.shared.ui.draganddropwrapper.DragAndDropWrapperServerRpc; import com.vaadin.ui.declarative.DesignContext; @SuppressWarnings("serial") @@ -111,6 +112,14 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, } + private final DragAndDropWrapperServerRpc rpc = new DragAndDropWrapperServerRpc() { + + @Override + public void poll() { + // #19616 RPC to poll the server for changes + } + }; + private Map receivers = new HashMap(); public class WrapperTargetDetails extends TargetDetailsImpl { @@ -197,6 +206,7 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, @Deprecated public DragAndDropWrapper() { super(); + registerRpc(rpc); } /** diff --git a/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java b/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java new file mode 100644 index 0000000000..d5100aba3f --- /dev/null +++ b/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java @@ -0,0 +1,36 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.shared.ui.draganddropwrapper; + +import com.vaadin.shared.communication.ServerRpc; + +/** + * RPC interface for calls from client to server. + * + * @since + * @author Vaadin Ltd + */ +public interface DragAndDropWrapperServerRpc extends ServerRpc { + + /** + * Called to poll the server to see if any changes have been made e.g. when + * the upload is complete. + * + * @since + */ + public void poll(); + +} -- cgit v1.2.3 From 7c1223bc5ff94c22e9f4fbc8ffca5a17eee98bd2 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Tue, 8 Mar 2016 19:29:38 +0200 Subject: Update @since tags for 7.6.4 and related javadoc Change-Id: Ia548da265c4cdfae13c6f0f76939f767ccf60975 --- client/src/com/vaadin/client/ui/VDragAndDropWrapper.java | 7 +++++++ client/src/com/vaadin/client/ui/VFilterSelect.java | 2 +- server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java | 4 ++-- .../shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java | 4 +--- 4 files changed, 11 insertions(+), 6 deletions(-) (limited to 'shared') diff --git a/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java b/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java index a4cdd6e70f..d0584d150a 100644 --- a/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java +++ b/client/src/com/vaadin/client/ui/VDragAndDropWrapper.java @@ -730,6 +730,13 @@ public class VDragAndDropWrapper extends VCustomComponent implements return dragImageWidget; } + /** + * Internal client side interface used by the connector and the widget for + * the drag and drop wrapper to signal the completion of an HTML5 file + * upload. + * + * @since 7.6.4 + */ public interface UploadHandler { public void uploadDone(); diff --git a/client/src/com/vaadin/client/ui/VFilterSelect.java b/client/src/com/vaadin/client/ui/VFilterSelect.java index 1d3e4768d5..8a6b442fb8 100644 --- a/client/src/com/vaadin/client/ui/VFilterSelect.java +++ b/client/src/com/vaadin/client/ui/VFilterSelect.java @@ -1134,7 +1134,7 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, /** * Creates a new filter select text box. * - * @since + * @since 7.6.4 */ public FilterSelectTextBox() { /*- diff --git a/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java b/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java index 4e9617c018..bbfd90b2cc 100644 --- a/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java +++ b/server/src/com/vaadin/ui/declarative/DesignAttributeHandler.java @@ -458,7 +458,7 @@ public class DesignAttributeHandler implements Serializable { /** * Read the alignment from the given child component attributes. * - * @since + * @since 7.6.4 * @param attr * the child component attributes * @return the component alignment @@ -486,7 +486,7 @@ public class DesignAttributeHandler implements Serializable { /** * Writes the alignment to the given child element attributes. * - * @since + * @since 7.6.4 * @param childElement * the child element * @param alignment diff --git a/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java b/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java index d5100aba3f..241518c3e3 100644 --- a/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java +++ b/shared/src/com/vaadin/shared/ui/draganddropwrapper/DragAndDropWrapperServerRpc.java @@ -20,7 +20,7 @@ import com.vaadin.shared.communication.ServerRpc; /** * RPC interface for calls from client to server. * - * @since + * @since 7.6.4 * @author Vaadin Ltd */ public interface DragAndDropWrapperServerRpc extends ServerRpc { @@ -28,8 +28,6 @@ public interface DragAndDropWrapperServerRpc extends ServerRpc { /** * Called to poll the server to see if any changes have been made e.g. when * the upload is complete. - * - * @since */ public void poll(); -- cgit v1.2.3