*/
package eu.etaxonomy.taxeditor.view.derivateSearch;
+import java.util.HashSet;
+import java.util.Set;
+
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.swt.graphics.Image;
*/
public class DerivateLabelProvider extends ColumnLabelProvider {
+ private Set<SingleRead> multiLinkSingleReads = new HashSet<SingleRead>();
+
/** {@inheritDoc} */
@Override
public String getText(Object element) {
@Override
public Image getImage(Object element) {
if(element instanceof TreeNode){
- element = ((TreeNode) element).getValue();
- }
- if(element instanceof FieldUnit){
- return ImageResources.getImage(ImageResources.FIELD_UNIT);
- }
- else if(element instanceof DerivedUnit){
- DerivedUnit derivedUnit = (DerivedUnit)element;
- if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
+ TreeNode treeNode = (TreeNode)element;
+ Object nodeValue = treeNode.getValue();
+ if(nodeValue instanceof FieldUnit){
return ImageResources.getImage(ImageResources.FIELD_UNIT);
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
- return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
- }
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
- return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
+ else if(nodeValue instanceof DerivedUnit){
+ DerivedUnit derivedUnit = (DerivedUnit)nodeValue;
+ if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
+ return ImageResources.getImage(ImageResources.FIELD_UNIT);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
+ return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
+ return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
+ return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){
+ return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
+ }
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
- return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
+ else if(nodeValue instanceof Sequence){
+ return ImageResources.getImage(ImageResources.SEQUENCE_DERIVATE);
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){
- return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
+ else if(nodeValue instanceof SingleRead){
+ if(multiLinkSingleReads.contains(nodeValue)){
+ return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE_MULTILINK);
+ }
+ else{
+ return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE);
+ }
}
}
- else if(element instanceof Sequence){
- return ImageResources.getImage(ImageResources.SEQUENCE_DERIVATE);
- }
- else if(element instanceof SingleRead){
- return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE);
- }
return super.getImage(element);
}
+ /**
+ * @param multiLinkSingleReads the multiLinkSingleReads to set
+ */
+ public void setMultiLinkSingleReads(Set<SingleRead> multiLinkSingleReads) {
+ this.multiLinkSingleReads = multiLinkSingleReads;
+ }
+
}