Revision 1dfcb0a6
Added by Patrick Plitzner about 6 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/SpecimenSelectionDialog.java | ||
---|---|---|
20 | 20 |
import org.eclipse.jface.viewers.IStructuredSelection; |
21 | 21 |
import org.eclipse.jface.viewers.LabelProvider; |
22 | 22 |
import org.eclipse.jface.viewers.TableViewer; |
23 |
import org.eclipse.swt.graphics.Image; |
|
24 | 23 |
import org.eclipse.swt.layout.FillLayout; |
25 | 24 |
import org.eclipse.swt.widgets.Composite; |
26 | 25 |
import org.eclipse.swt.widgets.Control; |
... | ... | |
33 | 32 |
import eu.etaxonomy.cdm.model.description.WorkingSet; |
34 | 33 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
35 | 34 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
36 |
import eu.etaxonomy.taxeditor.model.ImageResources; |
|
37 | 35 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
38 | 36 |
|
39 | 37 |
/** |
... | ... | |
59 | 57 |
Composite composite = (Composite) super.createDialogArea(parent); |
60 | 58 |
composite.setLayout(new FillLayout()); |
61 | 59 |
list = new TableViewer(composite); |
62 |
list.setContentProvider(new ArrayContentProvider());
|
|
63 |
list.setLabelProvider(new DescriptionLabelProvider());
|
|
60 |
list.setContentProvider(new DescriptionContentProvider());
|
|
61 |
list.setLabelProvider(new LabelProvider()); |
|
64 | 62 |
|
65 | 63 |
//gather descriptions |
66 | 64 |
Set<SpecimenOrObservationBase> specimens = new HashSet<>(); |
... | ... | |
106 | 104 |
return selectedSpecimens; |
107 | 105 |
} |
108 | 106 |
|
109 |
private class DescriptionLabelProvider extends LabelProvider{ |
|
107 |
private class DescriptionContentProvider extends ArrayContentProvider{ |
|
108 |
|
|
110 | 109 |
/** |
111 | 110 |
* {@inheritDoc} |
112 | 111 |
*/ |
113 | 112 |
@Override |
114 |
public Image getImage(Object element) { |
|
115 |
if(workingSet.getDescriptions().contains(element)){ |
|
116 |
return ImageResources.getImage(ImageResources.SYNCED); |
|
117 |
} |
|
118 |
return null; |
|
113 |
public Object[] getElements(Object inputElement) { |
|
114 |
return ((Collection<SpecimenOrObservationBase>) inputElement).stream().filter(specimen -> |
|
115 |
specimen.getDescriptions().stream().noneMatch(description -> |
|
116 |
workingSet.getDescriptions().contains(description))).toArray(); |
|
119 | 117 |
} |
120 | 118 |
} |
121 | 119 |
} |
Also available in: Unified diff
ref #7095 Filter out specimens that are already added