From: Matti Tahvonen Date: Mon, 15 Feb 2010 15:05:56 +0000 (+0000) Subject: small changes X-Git-Tag: 6.7.0.beta1~1988^2~16 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=020312bc89558c8c5a28840dc979c6b80f64f912;p=vaadin-framework.git small changes svn changeset:11324/svn branch:6.3_dd --- diff --git a/WebContent/VAADIN/themes/base/common/common.css b/WebContent/VAADIN/themes/base/common/common.css index 48091fc35e..082f6b4f7f 100644 --- a/WebContent/VAADIN/themes/base/common/common.css +++ b/WebContent/VAADIN/themes/base/common/common.css @@ -218,4 +218,12 @@ div.v-app-loading { .v-window select, .v-window textarea { padding: 2px; +} + +.v-drag-element { + z-index:60000; + position:absolute; + opacity: 0.4; + filter: alpha(opacity=40); + border: 1px solid #999; } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/base/styles.css b/WebContent/VAADIN/themes/base/styles.css index 28d412536e..f8cd9a8f8b 100644 --- a/WebContent/VAADIN/themes/base/styles.css +++ b/WebContent/VAADIN/themes/base/styles.css @@ -1,5 +1,5 @@ -.v-theme-version:after {content:"9_9_9_INTERNAL-DEBUG-BUILD";} -.v-theme-version-9_9_9_INTERNAL-DEBUG-BUILD {display: none;} +.v-theme-version:after {content:"6_3_0_dev-20100215";} +.v-theme-version-6_3_0_dev-20100215 {display: none;} /* Automatically compiled css file from subdirectories. */ .v-absolutelayout-wrapper { @@ -450,6 +450,14 @@ div.v-app-loading { padding: 2px; } +.v-drag-element { + z-index:60000; + position:absolute; + opacity: 0.4; + filter: alpha(opacity=40); + border: 1px solid #999; +} + .v-csslayout { overflow: hidden; } diff --git a/WebContent/VAADIN/themes/reindeer/styles.css b/WebContent/VAADIN/themes/reindeer/styles.css index c4d29c78ce..eebbff3ee2 100644 --- a/WebContent/VAADIN/themes/reindeer/styles.css +++ b/WebContent/VAADIN/themes/reindeer/styles.css @@ -1,5 +1,5 @@ -.v-theme-version:after {content:"9_9_9_INTERNAL-DEBUG-BUILD";} -.v-theme-version-9_9_9_INTERNAL-DEBUG-BUILD {display: none;} +.v-theme-version:after {content:"6_3_0_dev-20100215";} +.v-theme-version-6_3_0_dev-20100215 {display: none;} /* Automatically compiled css file from subdirectories. */ .v-absolutelayout-wrapper { @@ -450,6 +450,14 @@ div.v-app-loading { padding: 2px; } +.v-drag-element { + z-index:60000; + position:absolute; + opacity: 0.4; + filter: alpha(opacity=40); + border: 1px solid #999; +} + .v-csslayout { overflow: hidden; } diff --git a/WebContent/VAADIN/themes/runo/styles.css b/WebContent/VAADIN/themes/runo/styles.css index 7e14ce6d40..29929ae32e 100644 --- a/WebContent/VAADIN/themes/runo/styles.css +++ b/WebContent/VAADIN/themes/runo/styles.css @@ -1,5 +1,5 @@ -.v-theme-version:after {content:"9_9_9_INTERNAL-DEBUG-BUILD";} -.v-theme-version-9_9_9_INTERNAL-DEBUG-BUILD {display: none;} +.v-theme-version:after {content:"6_3_0_dev-20100215";} +.v-theme-version-6_3_0_dev-20100215 {display: none;} /* Automatically compiled css file from subdirectories. */ .v-absolutelayout-wrapper { @@ -450,6 +450,14 @@ div.v-app-loading { padding: 2px; } +.v-drag-element { + z-index:60000; + position:absolute; + opacity: 0.4; + filter: alpha(opacity=40); + border: 1px solid #999; +} + .v-csslayout { overflow: hidden; } diff --git a/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java b/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java index e1bcf506b8..80321ef963 100644 --- a/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java +++ b/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java @@ -16,9 +16,6 @@ import com.vaadin.ui.Tree.TreeDropDetails; */ public class OverTreeNode extends ClientSideCriterion { - /** - * - */ private static final long serialVersionUID = 1L; public boolean accepts(DragAndDropEvent dragEvent) { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTree.java b/src/com/vaadin/terminal/gwt/client/ui/VTree.java index 1eb2867a6b..1a3edd32be 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTree.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTree.java @@ -167,7 +167,8 @@ public class VTree extends FlowPanel implements Paintable, VHasDropHandler { if (currentMouseOverKey != null) { String detail = getDropDetail(drag.getCurrentGwtEvent()); Boolean overTreeNode = null; - if (!keyToNode.get(currentMouseOverKey).isLeaf() + TreeNode treeNode = keyToNode.get(currentMouseOverKey); + if (treeNode != null && !treeNode.isLeaf() && "Center".equals(detail)) { overTreeNode = true; } @@ -243,7 +244,10 @@ public class VTree extends FlowPanel implements Paintable, VHasDropHandler { }, currentDrag); if (oldIdOver != null && oldIdOver != currentMouseOverKey) { - keyToNode.get(oldIdOver).emphasis(null); + TreeNode treeNode = keyToNode.get(oldIdOver); + if (treeNode != null) { + treeNode.emphasis(null); + } } } diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java index 027a03eeda..69053f45ec 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java +++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragAndDropManager.java @@ -7,7 +7,6 @@ import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.dom.client.Node; import com.google.gwt.dom.client.Style; import com.google.gwt.dom.client.Style.Display; -import com.google.gwt.dom.client.Style.Position; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.Command; @@ -575,9 +574,7 @@ public class VDragAndDropManager { } dragElement = node; - Style style = node.getStyle(); - style.setPosition(Position.ABSOLUTE); - style.setZIndex(600000); + dragElement.addClassName("v-drag-element"); updateDragImagePosition(); if (isStarted) { diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java index d75e4e0355..3b94fcb606 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java +++ b/src/com/vaadin/terminal/gwt/client/ui/dd/VDragEvent.java @@ -101,7 +101,11 @@ public class VDragEvent { } /** - * Sets the element that will be used as "drag icon". + * Sets the drag image used for current drag and drop operation. Drag image + * is displayed next to mouse cursor during drag and drop. + *

+ * The element to be used as drag image will automatically get CSS style + * name "v-drag-element". * * TODO decide if this method should be here or in {@link VTransferable} (in * HTML5 it is in DataTransfer) or {@link VDragAndDropManager} @@ -126,10 +130,24 @@ public class VDragEvent { return dropDetails; } - public void setDragImage(Element cloneNode, int offsetX, int offsetY) { - cloneNode.getStyle().setMarginLeft(offsetX, Unit.PX); - cloneNode.getStyle().setMarginTop(offsetY, Unit.PX); - VDragAndDropManager.get().setDragElement(cloneNode); + /** + * Sets the drag image used for current drag and drop operation. Drag image + * is displayed next to mouse cursor during drag and drop. + *

+ * The element to be used as drag image will automatically get CSS style + * name "v-drag-element". + * + * @param element + * the dom element to be positioned next to mouse cursor + * @param offsetX + * the horizontal offset of drag image from mouse cursor + * @param offsetY + * the vertical offset of drag image from mouse cursor + */ + public void setDragImage(Element element, int offsetX, int offsetY) { + element.getStyle().setMarginLeft(offsetX, Unit.PX); + element.getStyle().setMarginTop(offsetY, Unit.PX); + VDragAndDropManager.get().setDragElement(element); } @@ -151,10 +169,7 @@ public class VDragEvent { tbody.appendChild(cloneNode); cloneNode = table.cast(); } - cloneNode.getStyle().setProperty("filter", "alpha(opacity=40)"); } - cloneNode.getStyle().setOpacity(0.4); - if (alignImageToEvent) { int absoluteTop = element.getAbsoluteTop(); int absoluteLeft = element.getAbsoluteLeft(); diff --git a/tests/src/com/vaadin/tests/dd/DDTest2.java b/tests/src/com/vaadin/tests/dd/DDTest2.java index ab24955f2e..d099b1d39a 100644 --- a/tests/src/com/vaadin/tests/dd/DDTest2.java +++ b/tests/src/com/vaadin/tests/dd/DDTest2.java @@ -44,7 +44,6 @@ public class DDTest2 extends TestBase { protected void setup() { Window w = getLayout().getWindow(); /* darn reindeer has no icons */ - w.setTheme("runo"); hl.addComponent(tree1); hl.addComponent(table); @@ -252,9 +251,9 @@ public class DDTest2 extends TestBase { } private final static ThemeResource FOLDER = new ThemeResource( - "icons/16/folder.png"); + "../runo/icons/16/folder.png"); private final static ThemeResource DOC = new ThemeResource( - "icons/16/document.png"); + "../runo/icons/16/document.png"); private void popuplateTrees() { HierarchicalContainer hc = new HierarchicalContainer();