4 package eu
.etaxonomy
.taxeditor
.navigation
.taxonomictree
;
6 import org
.eclipse
.jface
.viewers
.ColumnLabelProvider
;
7 import org
.eclipse
.jface
.viewers
.ILabelProvider
;
8 import org
.eclipse
.swt
.graphics
.Image
;
9 import org
.eclipse
.ui
.navigator
.IDescriptionProvider
;
11 import eu
.etaxonomy
.cdm
.model
.name
.TaxonNameBase
;
12 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
13 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
14 import eu
.etaxonomy
.taxeditor
.editor
.name
.IterableSynonymyList
;
15 import eu
.etaxonomy
.taxeditor
.store
.model
.NameUtil
;
23 public class TaxonomicTreeLabelProvider
extends ColumnLabelProvider
implements ILabelProvider
, IDescriptionProvider
{
25 public Image
getImage(Object element
) {
26 // This code was to distinct a missaplied name from a accepted taxon name
27 // in the taxonomic tree. Unfortunately lazy loading slows this down, so that
28 // the taxonomic tree will take 10 minutes to initialize.
29 // I will leave this in here as a reminder.
30 // if (element instanceof Taxon){
31 // if(((Taxon) element).isMisappliedName()){
32 // // return misapplication image
33 // return PlatformUI.getWorkbench().getSharedImages().getImage(
34 // ISharedImages.IMG_ELCL_SYNCED);
36 // // return standard taxon image
37 // return PlatformUI.getWorkbench().getSharedImages().getImage(
38 // ISharedImages.IMG_OBJS_INFO_TSK);
46 public String
getText(Object element
) {
47 if (element
instanceof Taxon
) {
48 Taxon data
= (Taxon
) element
;
49 return data
.getName().getTitleCache(); //$NON-NLS-1$
54 public String
getDescription(Object anElement
) {
55 if (anElement
instanceof Taxon
) {
56 Taxon data
= (Taxon
) anElement
;
57 return "Taxon: " + data
.getTitleCache(); //$NON-NLS-1$
62 public String
getToolTipText(Object element
) {
63 if (element
instanceof Taxon
) {
64 return getSynonymyListDisplay((Taxon
) element
);
73 private String
getSynonymyListDisplay(Taxon taxon
) {
74 IterableSynonymyList synonymyList
= new IterableSynonymyList(
76 String synonymyListDisplay
= NameUtil
77 .getDisplayName(taxon
);
79 for (TaxonBase synonymOrMisName
: synonymyList
) {
80 TaxonNameBase name
= synonymOrMisName
.getName();
82 synonymyListDisplay
+= "\n "
83 + NameUtil
.getDisplayName(name
);
86 return synonymyListDisplay
;