X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2FDefaultNodeLabelProvider.java;h=1b8e745be97f8ba44d967a2fcc3fcd3f04ab5754;hb=1d5afdce3e91054f07ddd3c98309c363b4cf1d46;hp=648079ea386d5e978df6fb55049dd170cf9a4f0d;hpb=d5d0ea08027ce18a842c1727a1539e42a1e17857;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java index 648079ea3..1b8e745be 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2007-2012 Mathieu Baudier + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.argeo.eclipse.ui.jcr; import javax.jcr.Node; @@ -7,22 +22,32 @@ import javax.jcr.nodetype.NodeType; import org.argeo.ArgeoException; import org.argeo.jcr.ArgeoTypes; -import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.swt.graphics.Image; /** Provides reasonable overridable defaults for know JCR types. */ -public class DefaultNodeLabelProvider extends LabelProvider { +public class DefaultNodeLabelProvider extends ColumnLabelProvider { // Images - public final static Image NODE = JcrUiPlugin.getImageDescriptor( - "icons/node.gif").createImage(); - public final static Image FOLDER = JcrUiPlugin.getImageDescriptor( - "icons/folder.gif").createImage(); - public final static Image FILE = JcrUiPlugin.getImageDescriptor( - "icons/file.gif").createImage(); - public final static Image BINARY = JcrUiPlugin.getImageDescriptor( - "icons/binary.png").createImage(); - public final static Image HOME = JcrUiPlugin.getImageDescriptor( - "icons/home.gif").createImage(); + /** + * @deprecated Use {@link JcrImages#NODE} instead + */ + public final static Image NODE = JcrImages.NODE; + /** + * @deprecated Use {@link JcrImages#FOLDER} instead + */ + public final static Image FOLDER = JcrImages.FOLDER; + /** + * @deprecated Use {@link JcrImages#FILE} instead + */ + public final static Image FILE = JcrImages.FILE; + /** + * @deprecated Use {@link JcrImages#BINARY} instead + */ + public final static Image BINARY = JcrImages.BINARY; + /** + * @deprecated Use {@link JcrImages#HOME} instead + */ + public final static Image HOME = JcrImages.HOME; public String getText(Object element) { try { @@ -66,15 +91,35 @@ public class DefaultNodeLabelProvider extends LabelProvider { protected Image getImage(Node node) throws RepositoryException { // optimized order if (node.getPrimaryNodeType().isNodeType(NodeType.NT_FILE)) - return FILE; + return JcrImages.FILE; else if (node.getPrimaryNodeType().isNodeType(NodeType.NT_FOLDER)) - return FOLDER; + return JcrImages.FOLDER; else if (node.getPrimaryNodeType().isNodeType(NodeType.NT_RESOURCE)) - return BINARY; + return JcrImages.BINARY; else if (node.isNodeType(ArgeoTypes.ARGEO_USER_HOME)) - return HOME; + return JcrImages.HOME; else - return NODE; + return JcrImages.NODE; + } + + @Override + public String getToolTipText(Object element) { + try { + if (element instanceof Node) { + return getToolTipText((Node) element); + } else if (element instanceof WrappedNode) { + return getToolTipText(((WrappedNode) element).getNode()); + } else if (element instanceof NodesWrapper) { + return getToolTipText(((NodesWrapper) element).getNode()); + } + } catch (RepositoryException e) { + throw new ArgeoException("Cannot get tooltip for " + element, e); + } + return super.getToolTipText(element); + } + + protected String getToolTipText(Node node) throws RepositoryException { + return null; } }