From b8c6ecdd255cf6beab4a9983578acd0d3c35c6fc Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Mon, 23 May 2011 12:51:58 +0000 Subject: [PATCH] Reverted [18907] (fix for #6745 "Connectors for Tree" * Moving to 6.7 branch * Modifying the selector structure and images in the 6.7 branch, the last fix was not final svn changeset:18999/svn branch:6.6 --- .../themes/base/tree/img/connector-item.png | Bin 157 -> 0 bytes .../VAADIN/themes/base/tree/img/connector.png | Bin 140 -> 0 bytes WebContent/VAADIN/themes/base/tree/tree.css | 20 +- .../VAADIN/themes/liferay/tree/tree.css | 4 +- .../VAADIN/themes/reindeer/tree/tree.css | 4 +- WebContent/VAADIN/themes/runo/tree/tree.css | 4 +- src/com/vaadin/ui/themes/BaseTheme.java | 8 - .../components/tree/TreeWithConnectors.java | 215 ------------------ 8 files changed, 10 insertions(+), 245 deletions(-) delete mode 100644 WebContent/VAADIN/themes/base/tree/img/connector-item.png delete mode 100644 WebContent/VAADIN/themes/base/tree/img/connector.png delete mode 100644 tests/src/com/vaadin/tests/components/tree/TreeWithConnectors.java diff --git a/WebContent/VAADIN/themes/base/tree/img/connector-item.png b/WebContent/VAADIN/themes/base/tree/img/connector-item.png deleted file mode 100644 index a64c209cb1c319fc83e635ecec93eb12b02a2f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^>_Du+!3-o>%LJH!lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlBDMgZ5Z8$lC;tEce^%wCD4+;aNswRge}<>q4ZMInc~2L| zkcwML2?;FB8b?n!SjqEfUhvPhTlIT|4>OAd!va}G7FAOrexOnYPgg&ebxsLQ09G|C A(f|Me diff --git a/WebContent/VAADIN/themes/base/tree/img/connector.png b/WebContent/VAADIN/themes/base/tree/img/connector.png deleted file mode 100644 index c56b8f424466f9350b2f8a837d32458967315c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr9!3-qV#k+|DDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MQi~+A+8fAPW=D>|E$VOQ6Mu)g8YL2Gd$gH;05IIdAc}; iRNP8RNJ(JeFkoO{XJF!7zH|amhQZU-&t;ucLK6U}kS4PL diff --git a/WebContent/VAADIN/themes/base/tree/tree.css b/WebContent/VAADIN/themes/base/tree/tree.css index 37af1d11a8..9e056dc4d6 100644 --- a/WebContent/VAADIN/themes/base/tree/tree.css +++ b/WebContent/VAADIN/themes/base/tree/tree.css @@ -4,29 +4,17 @@ padding: 1px 0; outline: none; } -.v-tree .v-tree-node { +.v-tree-node { background: transparent url(../common/img/sprites.png) no-repeat 5px -37px; padding: 1px 0; } .v-tree-node-caption:focus { outline: none; } -.v-tree div.v-tree-node-leaf { - background: transparent; -} -.v-tree-connectors div.v-tree-node-leaf { - background: transparent url(img/connector-item.png) no-repeat 8px 0; -} -.v-tree-connectors div.v-tree-node-leaf-last { - background: transparent url(img/connector-item.png) no-repeat 8px bottom; -} -.v-tree .v-tree-node-expanded { - background: transparent url(../common/img/sprites.png) no-repeat -5px -10px; -} -.v-tree-connectors .v-tree-node-children { - background: transparent url(img/connector.png) repeat-y 8px bottom; +.v-tree-node-expanded { + background-position: -5px -10px; } -.v-tree-connectors .v-tree-node-children-last { +div.v-tree-node-leaf { background: transparent; } .v-tree-node-caption { diff --git a/WebContent/VAADIN/themes/liferay/tree/tree.css b/WebContent/VAADIN/themes/liferay/tree/tree.css index 3c3c6abdfe..23fe10f52e 100644 --- a/WebContent/VAADIN/themes/liferay/tree/tree.css +++ b/WebContent/VAADIN/themes/liferay/tree/tree.css @@ -1,4 +1,4 @@ -.v-tree .v-tree-node { +.v-tree-node { background: transparent url(arrows_sprites.png) no-repeat -42px 1px; -background: transparent url(arrows_sprites-ie6.png) no-repeat -42px 1px; } @@ -13,7 +13,7 @@ background-position: -14px -30px; } -.v-tree .v-tree-node-expanded { +.v-tree-node-expanded { background-position: -28px -14px; } diff --git a/WebContent/VAADIN/themes/reindeer/tree/tree.css b/WebContent/VAADIN/themes/reindeer/tree/tree.css index 4f31d43960..3f77bd991d 100644 --- a/WebContent/VAADIN/themes/reindeer/tree/tree.css +++ b/WebContent/VAADIN/themes/reindeer/tree/tree.css @@ -1,4 +1,4 @@ -.v-tree .v-tree-node { +.v-tree-node { background: transparent url(img/arrows.png) no-repeat 6px -10px; } .v-ie6 .v-tree-node { @@ -8,7 +8,7 @@ .v-ie6 div.v-tree-node-leaf { background: transparent; } -.v-tree .v-tree-node-expanded { +.v-tree-node-expanded { background-position: -7px 5px; } .v-tree-node-caption { diff --git a/WebContent/VAADIN/themes/runo/tree/tree.css b/WebContent/VAADIN/themes/runo/tree/tree.css index c2458bc0b8..bec3b318dd 100644 --- a/WebContent/VAADIN/themes/runo/tree/tree.css +++ b/WebContent/VAADIN/themes/runo/tree/tree.css @@ -1,7 +1,7 @@ -.v-tree .v-tree-node { +.v-tree-node { background: transparent url(img/collapsed.png) no-repeat 2px 1px; } -.v-tree .v-tree-node-expanded { +.v-tree-node-expanded { background: transparent url(img/expanded.png) no-repeat 2px 1px; } .v-tree-node-caption { diff --git a/src/com/vaadin/ui/themes/BaseTheme.java b/src/com/vaadin/ui/themes/BaseTheme.java index babdb1f1d5..c8ba08d30d 100644 --- a/src/com/vaadin/ui/themes/BaseTheme.java +++ b/src/com/vaadin/ui/themes/BaseTheme.java @@ -44,12 +44,4 @@ public class BaseTheme { @Deprecated public static final String PANEL_LIGHT = "light"; - /** - * Adds connector lines between the tree nodes to better visualize the - * hierarchy. - * - * @since 6.6.1 - */ - public static final String TREE_CONNECTORS = "connectors"; - } \ No newline at end of file diff --git a/tests/src/com/vaadin/tests/components/tree/TreeWithConnectors.java b/tests/src/com/vaadin/tests/components/tree/TreeWithConnectors.java deleted file mode 100644 index 996b5aafc9..0000000000 --- a/tests/src/com/vaadin/tests/components/tree/TreeWithConnectors.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.vaadin.tests.components.tree; - -import java.util.Collection; -import java.util.Date; - -import com.vaadin.data.Item; -import com.vaadin.data.util.HierarchicalContainer; -import com.vaadin.event.DataBoundTransferable; -import com.vaadin.event.Transferable; -import com.vaadin.event.dd.DragAndDropEvent; -import com.vaadin.event.dd.DropHandler; -import com.vaadin.event.dd.acceptcriteria.AcceptCriterion; -import com.vaadin.terminal.ThemeResource; -import com.vaadin.terminal.gwt.client.ui.dd.VerticalDropLocation; -import com.vaadin.tests.components.TestBase; -import com.vaadin.ui.Panel; -import com.vaadin.ui.Tree; -import com.vaadin.ui.AbstractSelect.AcceptItem; -import com.vaadin.ui.Tree.TreeDragMode; -import com.vaadin.ui.Tree.TreeTargetDetails; -import com.vaadin.ui.themes.Reindeer; - -public class TreeWithConnectors extends TestBase { - - @Override - protected void setup() { - ThemeResource notCachedFileIcon = new ThemeResource( - "../runo/icons/16/document.png?" + new Date().getTime()); - ThemeResource notCachedFolderIconHuge = new ThemeResource( - "../runo/icons/64/folder.png?" + new Date().getTime()); - ThemeResource notCachedFolderIconLarge = new ThemeResource( - "../runo/icons/32/folder.png?" + new Date().getTime()); - ThemeResource notCachedFolderIconLargeOther = new ThemeResource( - "../runo/icons/32/ok.png?" + new Date().getTime()); - - Tree t = new Tree(); - t.setImmediate(true); - t.addStyleName(Reindeer.TREE_CONNECTORS); - - for (int i = 1; i <= 5; i++) { - String item = "Root " + i; - t.addItem(item); - if (i == 1) { - t.setItemIcon(item, notCachedFileIcon); - addChildren(t, item, true); - } else if (i == 2) { - t.setItemIcon(item, notCachedFolderIconHuge); - addChildren(t, item, false); - } else if (i == 3) { - t.setItemIcon(item, notCachedFolderIconLarge); - addChildren(t, item, true); - } else if (i == 4) { - t.setItemIcon(item, notCachedFolderIconLargeOther); - addChildren(t, item, false); - } else if (i == 5) { - addChildren(t, item, true); - } - } - - Panel p = new Panel(); - p.addComponent(t); - p.setSizeFull(); - getLayout().setSizeFull(); - - addComponent(p); - - addDnD(t); - } - - private void addDnD(final Tree t) { - t.setDragMode(TreeDragMode.NODE); - DropHandler itemSorter = new DropHandler() { - - @SuppressWarnings("unused") - private void populateSubTree(HierarchicalContainer idx, - HierarchicalContainer subtree, Object itemId) { - Collection children = subtree.getChildren(itemId); - if (children != null) { - - for (Object childId : children) { - Item addItem = idx.addItem(childId); - if (addItem != null) { - // did not exist, populate properties - Item item = subtree.getItem(itemId); - Collection itemPropertyIds = item - .getItemPropertyIds(); - for (Object propId : itemPropertyIds) { - addItem.getItemProperty(propId) - .setValue( - item.getItemProperty(propId) - .getValue()); - } - } - idx.setParent(childId, itemId); - populateSubTree(idx, subtree, childId); - } - } - - } - - @SuppressWarnings("unused") - private HierarchicalContainer getSubTree(HierarchicalContainer idx, - Object itemId) { - HierarchicalContainer hierarchicalContainer = new HierarchicalContainer(); - Collection containerPropertyIds = idx - .getContainerPropertyIds(); - for (Object object : containerPropertyIds) { - hierarchicalContainer.addContainerProperty(object, idx - .getType(object), null); - } - hierarchicalContainer.addItem(itemId); - copyChildren(idx, hierarchicalContainer, itemId); - return hierarchicalContainer; - } - - private void copyChildren(HierarchicalContainer source, - HierarchicalContainer target, Object itemId) { - Collection children = source.getChildren(itemId); - if (children != null) { - for (Object childId : children) { - Item item = source.getItem(childId); - Item addedItem = target.addItem(childId); - target.setParent(childId, itemId); - Collection itemPropertyIds = item - .getItemPropertyIds(); - for (Object propertyId : itemPropertyIds) { - addedItem.getItemProperty(propertyId) - .setValue( - item.getItemProperty(propertyId) - .getValue()); - } - copyChildren(source, target, childId); - } - } - - } - - public void drop(DragAndDropEvent event) { - TreeTargetDetails details = (TreeTargetDetails) event - .getTargetDetails(); - // TODO set properties, so same sorter could be used in Table - Transferable transferable = event.getTransferable(); - if (transferable instanceof DataBoundTransferable) { - DataBoundTransferable transferrable2 = (DataBoundTransferable) transferable; - - Object itemId = transferrable2.getItemId(); - - Object itemIdOver = details.getItemIdOver(); - - // TODO could use the "folder" node id to make the drop - // logic simpler - Object itemIdInto = details.getItemIdInto(); - VerticalDropLocation dropLocation = details - .getDropLocation(); - - Object itemIdAfter = details.getItemIdAfter(); - - if (itemIdOver.equals(itemIdInto)) { // directly on a node - t.setParent(itemId, itemIdOver); - return; - } - - ((HierarchicalContainer) t.getContainerDataSource()) - .setParent(itemId, itemIdInto); - - if (dropLocation == null) { - System.err.println("No detail of drop place available"); - } - ((HierarchicalContainer) t.getContainerDataSource()) - .moveAfterSibling(itemId, itemIdAfter); - } - - return; - } - - public AcceptCriterion getAcceptCriterion() { - // TODO should actually check that source is same as target - return AcceptItem.ALL; - } - - }; - - t.setDropHandler(itemSorter); - } - - protected void addChildren(Tree t, String parent, boolean recurse) { - for (int i = 1; i <= Math.max(3, 3 + Math.random() * 2); i++) { - String item = parent + ", child " + i; - t.addItem(item); - t.setChildrenAllowed(parent, true); - t.setParent(item, parent); - if (recurse) { - if (i % 2 == 0) { - addChildren(t, item, false); - t.expandItem(parent); - } else { - t.setChildrenAllowed(item, false); - } - } else { - t.setChildrenAllowed(item, false); - } - } - } - - @Override - protected String getDescription() { - return "A tree using the 'connectors' stylename should have Windows-like dotted connector lines joining the different hierarchy levels."; - } - - @Override - protected Integer getTicketNumber() { - return 6745; - } - -} \ No newline at end of file -- 2.39.5