]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeLabelProvider.java
+ first draft of anonymous perspective
[gpl/argeo-slc.git] / plugins / org.argeo.slc.client.ui.dist / src / main / java / org / argeo / slc / client / ui / dist / controllers / DistTreeLabelProvider.java
diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeLabelProvider.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeLabelProvider.java
new file mode 100644 (file)
index 0000000..fe45871
--- /dev/null
@@ -0,0 +1,44 @@
+package org.argeo.slc.client.ui.dist.controllers;
+
+import org.argeo.slc.client.ui.dist.DistImages;
+import org.argeo.slc.client.ui.dist.model.DistParentElem;
+import org.argeo.slc.client.ui.dist.model.GroupElem;
+import org.argeo.slc.client.ui.dist.model.RepoElem;
+import org.argeo.slc.client.ui.dist.model.WorkspaceElem;
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Manages icons and labels for the distributions browser
+ */
+public class DistTreeLabelProvider extends ColumnLabelProvider {
+       @Override
+       public String getText(Object element) {
+               if (element instanceof DistParentElem)
+                       return ((DistParentElem) element).getLabel();
+               else
+                       return element.toString();
+       }
+
+       @Override
+       public Image getImage(Object element) {
+               if (element instanceof DistParentElem) {
+                       DistParentElem bElement = (DistParentElem) element;
+                       if (bElement instanceof RepoElem)
+                               if (bElement.inHome())
+                                       return DistImages.IMG_HOME_REPO;
+                               else if (bElement.isReadOnly())
+                                       return DistImages.IMG_REPO_READONLY;
+                               else
+                                       return DistImages.IMG_REPO;
+                       else if (bElement instanceof GroupElem)
+                               return DistImages.IMG_WKSP;
+                       else if (element instanceof WorkspaceElem)
+                               if (((WorkspaceElem) element).isReadOnly())
+                                       return DistImages.IMG_DISTGRP_READONLY;
+                               else
+                                       return DistImages.IMG_DISTGRP;
+               }
+               return null;
+       }
+}
\ No newline at end of file