Refactored concept relationship handling as it was not feasable before. Can be improv...
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / concept / ConceptLabelProvider.java
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptLabelProvider.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptLabelProvider.java
new file mode 100644 (file)
index 0000000..c200699
--- /dev/null
@@ -0,0 +1,72 @@
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy 
+* http://www.e-taxonomy.eu
+* 
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.editor.view.concept;
+
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.swt.graphics.Image;
+
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.taxeditor.model.ImageResources;
+
+/**
+ * @author n.hoffmann
+ * @created Jan 24, 2011
+ * @version 1.0
+ */
+public class ConceptLabelProvider extends LabelProvider implements IStyledLabelProvider {
+
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+        */
+       @Override
+       public Image getImage(Object element) {
+               if(element instanceof TaxonRelationship){
+                       TaxonRelationshipType type = ((TaxonRelationship) element).getType();
+                       
+                       return getTaxonRelationshipImage(type);
+               }
+               return super.getImage(element);
+       }
+       
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
+        */
+       @Override
+       public String getText(Object element) {
+               if(element instanceof TaxonRelationship){
+                       TaxonRelationship relationship = (TaxonRelationship) element;
+                       
+                       return String.format("%s %s %s", relationship.getFromTaxon(), relationship.getType().getLabel(), relationship.getToTaxon());
+               }
+               
+               return "";
+       }
+       
+       /* (non-Javadoc)
+        * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)
+        */
+       @Override
+       public StyledString getStyledText(Object element) {
+               return  new StyledString(getText(element), StyledString.QUALIFIER_STYLER);
+       }
+
+       /**
+        * @param type
+        * @return
+        */
+       public Image getTaxonRelationshipImage(TaxonRelationshipType type) {
+               
+               return ImageResources.getImage(ImageResources.CONCEPT_ICON);
+       }
+}