From 96a2eb9a516aef2003370497f3e685b82459aa2b Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 31 Jan 2012 14:13:56 +0200 Subject: [PATCH] #8234 Split test drag source and drop target into paintable + widget --- .../tests/dd/CustomDDImplementation.java | 4 +-- .../com/vaadin/tests/dd/VMyDragSource.java | 17 ++--------- .../tests/dd/VMyDragSourcePaintable.java | 22 +++++++++++++++ .../com/vaadin/tests/dd/VMyDropTarget.java | 25 +++++------------ .../tests/dd/VMyDropTargetPaintable.java | 28 +++++++++++++++++++ 5 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 tests/testbench/com/vaadin/tests/dd/VMyDragSourcePaintable.java create mode 100644 tests/testbench/com/vaadin/tests/dd/VMyDropTargetPaintable.java diff --git a/tests/testbench/com/vaadin/tests/dd/CustomDDImplementation.java b/tests/testbench/com/vaadin/tests/dd/CustomDDImplementation.java index c789ead113..de3312d1a8 100644 --- a/tests/testbench/com/vaadin/tests/dd/CustomDDImplementation.java +++ b/tests/testbench/com/vaadin/tests/dd/CustomDDImplementation.java @@ -38,7 +38,7 @@ public class CustomDDImplementation extends CustomComponent { * Check the @ClientWidget * */ - @ClientWidget(VMyDropTarget.class) + @ClientWidget(VMyDropTargetPaintable.class) class MyDropTarget extends AbstractComponent implements DropTarget { public DropHandler getDropHandler() { return new DropHandler() { @@ -76,7 +76,7 @@ public class CustomDDImplementation extends CustomComponent { * operations that are controlled via server side api. * */ - @ClientWidget(VMyDragSource.class) + @ClientWidget(VMyDragSourcePaintable.class) public class MyDragSource extends AbstractComponent implements Component { } diff --git a/tests/testbench/com/vaadin/tests/dd/VMyDragSource.java b/tests/testbench/com/vaadin/tests/dd/VMyDragSource.java index eb77bfefd7..7e91d2b9aa 100644 --- a/tests/testbench/com/vaadin/tests/dd/VMyDragSource.java +++ b/tests/testbench/com/vaadin/tests/dd/VMyDragSource.java @@ -11,23 +11,19 @@ import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Widget; -import com.vaadin.terminal.gwt.client.ApplicationConnection; -import com.vaadin.terminal.gwt.client.VPaintableWidget; -import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.ui.dd.VDragAndDropManager; import com.vaadin.terminal.gwt.client.ui.dd.VTransferable; /** * Example code to implement Component that has something to drag. */ -public class VMyDragSource extends Composite implements VPaintableWidget, - MouseDownHandler, MouseMoveHandler, MouseOutHandler { +public class VMyDragSource extends Composite implements MouseDownHandler, + MouseMoveHandler, MouseOutHandler { private boolean mouseDown; private MouseDownEvent mDownEvent; - @SuppressWarnings("unused") - private ApplicationConnection client; + @SuppressWarnings("unused") public VMyDragSource() { FlowPanel fp = new FlowPanel(); initWidget(fp); @@ -42,13 +38,6 @@ public class VMyDragSource extends Composite implements VPaintableWidget, } - public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { - if (client.updateComponent(this, uidl, true)) { - return; - } - this.client = client; - } - /* * Below a sophisticated drag start implementation. Drag event is started if * mouse is moved 5 pixels with left mouse key down. diff --git a/tests/testbench/com/vaadin/tests/dd/VMyDragSourcePaintable.java b/tests/testbench/com/vaadin/tests/dd/VMyDragSourcePaintable.java new file mode 100644 index 0000000000..976638fe39 --- /dev/null +++ b/tests/testbench/com/vaadin/tests/dd/VMyDragSourcePaintable.java @@ -0,0 +1,22 @@ +package com.vaadin.tests.dd; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.ui.Widget; +import com.vaadin.terminal.gwt.client.ApplicationConnection; +import com.vaadin.terminal.gwt.client.UIDL; +import com.vaadin.terminal.gwt.client.ui.VAbstractPaintableWidget; + +public class VMyDragSourcePaintable extends VAbstractPaintableWidget { + + public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, true)) { + return; + } + } + + @Override + protected Widget createWidget() { + return GWT.create(VMyDragSource.class); + } + +} diff --git a/tests/testbench/com/vaadin/tests/dd/VMyDropTarget.java b/tests/testbench/com/vaadin/tests/dd/VMyDropTarget.java index 8efec186cb..81bbb09a5c 100644 --- a/tests/testbench/com/vaadin/tests/dd/VMyDropTarget.java +++ b/tests/testbench/com/vaadin/tests/dd/VMyDropTarget.java @@ -1,18 +1,16 @@ package com.vaadin.tests.dd; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.Widget; import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.VPaintableWidget; -import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.ui.dd.VDragEvent; import com.vaadin.terminal.gwt.client.ui.dd.VDropHandler; import com.vaadin.terminal.gwt.client.ui.dd.VHasDropHandler; public class VMyDropTarget extends Composite implements VHasDropHandler, - VDropHandler, VPaintableWidget { + VDropHandler { - private ApplicationConnection client; + ApplicationConnection client; public void dragEnter(VDragEvent drag) { } @@ -31,27 +29,18 @@ public class VMyDropTarget extends Composite implements VHasDropHandler, return false; } - public VPaintableWidget getPaintable() { - // Drophandler implemented by Paintable itself + public VDropHandler getDropHandler() { + // Drophandler implemented by widget itself return this; } - public VDropHandler getDropHandler() { - // Drophandler implemented by Paintable itself - return this; + public VPaintableWidget getPaintable() { + // TODO Auto-generated method stub + return null; } public ApplicationConnection getApplicationConnection() { return client; } - public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { - this.client = client; - - } - - public Widget getWidgetForPaintable() { - return this; - } - } diff --git a/tests/testbench/com/vaadin/tests/dd/VMyDropTargetPaintable.java b/tests/testbench/com/vaadin/tests/dd/VMyDropTargetPaintable.java new file mode 100644 index 0000000000..88455c4e68 --- /dev/null +++ b/tests/testbench/com/vaadin/tests/dd/VMyDropTargetPaintable.java @@ -0,0 +1,28 @@ +package com.vaadin.tests.dd; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.ui.Widget; +import com.vaadin.terminal.gwt.client.ApplicationConnection; +import com.vaadin.terminal.gwt.client.UIDL; +import com.vaadin.terminal.gwt.client.ui.VAbstractPaintableWidget; + +public class VMyDropTargetPaintable extends VAbstractPaintableWidget { + + public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, true)) { + return; + } + getWidgetForPaintable().client = client; + } + + @Override + public VMyDropTarget getWidgetForPaintable() { + return (VMyDropTarget) super.getWidgetForPaintable(); + } + + @Override + protected Widget createWidget() { + return GWT.create(VMyDropTarget.class); + } + +} -- 2.39.5