e9c8ad128e9e3f2a13c1bea880d626c64b93fd14
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / campanula / derivatesearch / DerivateLabelProvider.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
11
12 import org.eclipse.jface.viewers.ColumnLabelProvider;
13 import org.eclipse.swt.graphics.Image;
14
15 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
16 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
17 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
18 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
19 import eu.etaxonomy.taxeditor.model.ImageResources;
20
21 /**
22 * Label provider for the views to show {@link SpecimenOrObservationBase}s.
23 */
24 public class DerivateLabelProvider extends ColumnLabelProvider {
25
26 /** {@inheritDoc} */
27 @Override
28 public String getText(Object element) {
29 return getDerivateText(element);
30 }
31
32 /** {@inheritDoc} */
33 @Override
34 public String getToolTipText(Object element) {
35 return getDerivateText(element);
36 }
37
38 private String getDerivateText(Object element){
39 if(element instanceof SpecimenOrObservationBase){
40 SpecimenOrObservationBase<?> derivate = (SpecimenOrObservationBase<?>) element;
41 SpecimenOrObservationType type = derivate.getRecordBasis();
42 return derivate.getTitleCache() + (type!=null?" ["+type.toString()+"]":"");
43 }
44 return element.toString();
45 }
46
47 /* (non-Javadoc)
48 * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object)
49 */
50 @Override
51 public Image getImage(Object element) {
52 if(element instanceof FieldUnit){
53 return ImageResources.getImage(ImageResources.FIELD_UNIT);
54 }
55 else if(element instanceof DerivedUnit){
56 DerivedUnit derivedUnit = (DerivedUnit)element;
57 if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
58 return ImageResources.getImage(ImageResources.FIELD_UNIT);
59 }
60 else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
61 return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
62 }
63 else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
64 return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
65 }
66 else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
67 return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
68 }
69 else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){
70 return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
71 }
72 }
73 return super.getImage(element);
74 }
75
76 }