]> source.dussan.org Git - vaadin-framework.git/commitdiff
changes
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 19 Feb 2010 15:46:07 +0000 (15:46 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 19 Feb 2010 15:46:07 +0000 (15:46 +0000)
svn changeset:11409/svn branch:6.3_dd

src/com/vaadin/terminal/gwt/client/VUIDLBrowser.java
src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java
src/com/vaadin/terminal/gwt/client/ui/dd/VIdentifierIs.java [deleted file]
src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java [new file with mode: 0644]
src/com/vaadin/ui/AbstractSelect.java
tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java

index 9f08c4df51881079a3209b7f48eb8641aa2c9424..824d4770ea610c7ecb8d7846f43c2e1a3f4fdf32 100644 (file)
@@ -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() {
index 27a14f9c8031438da0c370b57563900a8523c317..dee43cae961dd02dfbf5ba533256c0143e238c24 100644 (file)
@@ -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/VIdentifierIs.java
deleted file mode 100644 (file)
index c9b8a1d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * 
- */
-package com.vaadin.terminal.gwt.client.ui.dd;
-
-import java.util.Set;
-
-import com.vaadin.terminal.gwt.client.UIDL;
-
-final public class VIdentifierIs extends VAcceptCriterion {
-
-    @Override
-    public boolean validates(VDragEvent drag, UIDL configuration) {
-        try {
-            Object data = drag.getTransferable().getData("itemId");
-            Set<String> stringArrayVariableAsSet = configuration
-                    .getStringArrayVariableAsSet("keys");
-            return stringArrayVariableAsSet.contains(data);
-        } catch (Exception e) {
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VItemIdIs.java
new file mode 100644 (file)
index 0000000..116cd27
--- /dev/null
@@ -0,0 +1,23 @@
+/**
+ * 
+ */
+package com.vaadin.terminal.gwt.client.ui.dd;
+
+import java.util.Set;
+
+import com.vaadin.terminal.gwt.client.UIDL;
+
+final public class VItemIdIs extends VAcceptCriterion {
+
+    @Override
+    public boolean validates(VDragEvent drag, UIDL configuration) {
+        try {
+            Object data = drag.getTransferable().getData("itemId");
+            Set<String> stringArrayVariableAsSet = configuration
+                    .getStringArrayVariableAsSet("keys");
+            return stringArrayVariableAsSet.contains(data);
+        } catch (Exception e) {
+        }
+        return false;
+    }
+}
\ No newline at end of file
index a553a9ad90d056b4607c632162e976bb52d36d82..9a6917331fd7b4d8f872d2e2c7304a6df361c5fe 100644 (file)
@@ -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);
         }
 
index 72cfd17b1301f235a3b35b94922cb2c6f1786692..b9e63d9dda53e938952b5b0f51144e5aa2e7d15e 100644 (file)
@@ -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) {