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 {
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;
}
}