summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-02-19 15:46:07 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-02-19 15:46:07 +0000
commit7b11d7c37b4d85a49a883d14229aa481e1a3164a (patch)
tree8a17006e6e883a426063ef08d5b1a3f09329db58
parent1640902d0c533354034f75b050849de982a2d99a (diff)
downloadvaadin-framework-7b11d7c37b4d85a49a883d14229aa481e1a3164a.tar.gz
vaadin-framework-7b11d7c37b4d85a49a883d14229aa481e1a3164a.zip
changes
svn changeset:11409/svn branch:6.3_dd
-rw-r--r--src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java14
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java15
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java (renamed from src/com/vaadin/terminal/gwt/client/ui/dd/VIdentifierIs.java)2
-rw-r--r--src/com/vaadin/ui/AbstractSelect.java8
-rw-r--r--tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java6
5 files changed, 20 insertions, 25 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
index 9f08c4df51..824d4770ea 100644
--- a/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
+++ b/src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
@@ -213,12 +213,14 @@ public class VUIDLBrowser extends Tree implements MouseOutHandler {
private static void highlight(Paintable paintable) {
Widget w = (Widget) paintable;
- Style style = highlight.getStyle();
- style.setTop(w.getAbsoluteTop(), Unit.PX);
- style.setLeft(w.getAbsoluteLeft(), Unit.PX);
- style.setWidth(w.getOffsetWidth(), Unit.PX);
- style.setHeight(w.getOffsetHeight(), Unit.PX);
- RootPanel.getBodyElement().appendChild(highlight);
+ if (w != null) {
+ Style style = highlight.getStyle();
+ style.setTop(w.getAbsoluteTop(), Unit.PX);
+ style.setLeft(w.getAbsoluteLeft(), Unit.PX);
+ style.setWidth(w.getOffsetWidth(), Unit.PX);
+ style.setHeight(w.getOffsetHeight(), Unit.PX);
+ RootPanel.getBodyElement().appendChild(highlight);
+ }
}
private static void deHiglight() {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
index 27a14f9c80..dee43cae96 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
@@ -29,19 +29,10 @@ import com.vaadin.terminal.gwt.client.ui.dd.VerticalDropLocation;
/**
*
- * Must have features:
- *
- * stylenames to root element depending on place on component
- *
- *
- * allow size to change on emphasis/deemphasis (behave well for vaadin layout
- * system)
- *
- * html5 drops
+ * Must have features pending:
*
* drop details: locations + sizes in document hierarchy up to wrapper
*
- *
*/
public class VDragAndDropWrapper extends VCustomComponent implements
VHasDropHandler {
@@ -65,7 +56,7 @@ public class VDragAndDropWrapper extends VCustomComponent implements
transferable.setData("component", paintable);
VDragEvent startDrag = VDragAndDropManager.get().startDrag(
transferable, event.getNativeEvent(), true);
- if (dragStarMode == WRAPPER) {
+ if (dragStarMode == WRAPPER || paintable == null) {
paintable = VDragAndDropWrapper.this;
}
@@ -382,6 +373,8 @@ public class VDragAndDropWrapper extends VCustomComponent implements
}
}
client.handleComponentRelativeSize(VDragAndDropWrapper.this);
+ Util.notifyParentOfSizeChange(this, false);
+
}
}
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VIdentifierIs.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
index c9b8a1d018..116cd2719f 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/dd/VIdentifierIs.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
@@ -7,7 +7,7 @@ import java.util.Set;
import com.vaadin.terminal.gwt.client.UIDL;
-final public class VIdentifierIs extends VAcceptCriterion {
+final public class VItemIdIs extends VAcceptCriterion {
@Override
public boolean validates(VDragEvent drag, UIDL configuration) {
diff --git a/src/com/vaadin/ui/AbstractSelect.java b/src/com/vaadin/ui/AbstractSelect.java
index a553a9ad90..9a6917331f 100644
--- a/src/com/vaadin/ui/AbstractSelect.java
+++ b/src/com/vaadin/ui/AbstractSelect.java
@@ -29,8 +29,8 @@ import com.vaadin.terminal.KeyMapper;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.PaintTarget;
import com.vaadin.terminal.Resource;
-import com.vaadin.terminal.gwt.client.ui.dd.VIdentifierIs;
import com.vaadin.terminal.gwt.client.ui.dd.VIsOverId;
+import com.vaadin.terminal.gwt.client.ui.dd.VItemIdIs;
import com.vaadin.ui.Tree.Location;
/**
@@ -1742,9 +1742,9 @@ public abstract class AbstractSelect extends AbstractField implements
* criterion drop is accepted only if {@link Transferable} (from this
* {@link AbstractSelect}) contains given item identifier or identifiers.
*/
- @ClientCriterion(VIdentifierIs.class)
- public static class IdentifierIs extends AbstractItemSetCriterion {
- public IdentifierIs(AbstractSelect select, Object... itemId) {
+ @ClientCriterion(VItemIdIs.class)
+ public static class ItemIdIs extends AbstractItemSetCriterion {
+ public ItemIdIs(AbstractSelect select, Object... itemId) {
super(select, itemId);
}
diff --git a/tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java b/tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java
index 72cfd17b13..b9e63d9dda 100644
--- a/tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java
+++ b/tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java
@@ -37,13 +37,13 @@ public class AcceptAnythingWindow extends Window {
.getDropTargetData();
Transferable transferable = event.getTransferable();
TransferableImpl ctr = (TransferableImpl) transferable;
- // use "component" (from DragDropPane) if available, else
- // take
- // the source component
Component component = ctr.getSourceComponent();
if (component == wrapper) {
+ // if the drag source was wrapper we are interested about
+ // the dragged component
WrapperTransferable tr = (WrapperTransferable) transferable;
component = tr.getDraggedComponent();
+ // html5 drag created by wrapper set component null
}
if (component != null) {