diff options
-rw-r--r-- | WebContent/VAADIN/themes/base/tree/img/connector-item.png | bin | 157 -> 0 bytes | |||
-rw-r--r-- | WebContent/VAADIN/themes/base/tree/img/connector.png | bin | 140 -> 0 bytes | |||
-rw-r--r-- | WebContent/VAADIN/themes/base/tree/tree.css | 20 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/liferay/tree/tree.css | 4 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/reindeer/tree/tree.css | 4 | ||||
-rw-r--r-- | WebContent/VAADIN/themes/runo/tree/tree.css | 4 | ||||
-rw-r--r-- | src/com/vaadin/ui/themes/BaseTheme.java | 8 | ||||
-rw-r--r-- | tests/src/com/vaadin/tests/components/tree/TreeWithConnectors.java | 215 |
8 files changed, 10 insertions, 245 deletions
diff --git a/WebContent/VAADIN/themes/base/tree/img/connector-item.png b/WebContent/VAADIN/themes/base/tree/img/connector-item.png Binary files differdeleted file mode 100644 index a64c209cb1..0000000000 --- a/WebContent/VAADIN/themes/base/tree/img/connector-item.png +++ /dev/null diff --git a/WebContent/VAADIN/themes/base/tree/img/connector.png b/WebContent/VAADIN/themes/base/tree/img/connector.png Binary files differdeleted file mode 100644 index c56b8f4244..0000000000 --- a/WebContent/VAADIN/themes/base/tree/img/connector.png +++ /dev/null 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 |