- if(!associatedTaxa.isEmpty()){
- ListViewer viewer = new ListViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getList().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
- @Override
- public String getText(Object element) {
- return "Associated with "+element.toString();
- }
- });
- viewer.setInput(associatedTaxa);
- viewer.addDoubleClickListener(this);
- }
- if(!typeDesignations.isEmpty()){
- ListViewer viewer = new ListViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getList().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
- @Override
- public String getText(Object element) {
- SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)element;
- String label = typeDesignation.getTypeStatus()!=null?typeDesignation.getTypeStatus().getLabel()+" of ":"Type of ";
- Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
- for (TaxonNameBase taxonNameBase : typifiedNames) {
- label += taxonNameBase+", ";
- }
- if(label.endsWith(", ")){
- label = label.substring(0, label.length()-2);
- }
- return label;
- }
- });
- viewer.setInput(typeDesignations);
- viewer.addDoubleClickListener(this);
- }
- if(!determinationEvents.isEmpty()){
- ListViewer viewer = new ListViewer(getLayoutComposite(), SWT.FULL_SELECTION);
- viewer.getList().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- viewer.setContentProvider(new ArrayContentProvider());
- viewer.setLabelProvider(new LabelProvider(){
- @Override
- public String getText(Object element) {
- DeterminationEvent determinationEvent = (DeterminationEvent)element;
- if(determinationEvent.getTaxon()!=null){
- return "Determined as taxon "+determinationEvent.getTaxon();
- }
- if(determinationEvent.getTaxonName()!=null){
- return "Determined as name "+determinationEvent.getTaxonName();
- }
- return element.toString();
- }
- });
- viewer.setInput(determinationEvents);
- viewer.addDoubleClickListener(this);
+ if(!associations.isEmpty()){
+ ListViewer viewer = new ListViewer(getLayoutComposite(), SWT.SINGLE);
+ viewer.getList().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ viewer.setContentProvider(new ArrayContentProvider());
+ viewer.setLabelProvider(new LabelProvider(){
+ @Override
+ public String getText(Object element) {
+ if(element instanceof TaxonBase){
+ return "Associated with "+element.toString();
+ }
+ else if(element instanceof DeterminationEvent){
+ DeterminationEvent determinationEvent = (DeterminationEvent)element;
+ if(determinationEvent.getTaxon()!=null){
+ return "Determined as taxon "+determinationEvent.getTaxon();
+ }
+ if(determinationEvent.getTaxonName()!=null){
+ return "Determined as name "+determinationEvent.getTaxonName();
+ }
+ }
+ else if(element instanceof SpecimenTypeDesignation){
+ SpecimenTypeDesignation typeDesignation = (SpecimenTypeDesignation)element;
+ String label = typeDesignation.getTypeStatus()!=null?typeDesignation.getTypeStatus().getLabel()+" of ":"Type of ";
+ Set<TaxonNameBase> typifiedNames = typeDesignation.getTypifiedNames();
+ for (TaxonNameBase taxonNameBase : typifiedNames) {
+ label += taxonNameBase+", ";
+ }
+ if(label.endsWith(", ")){
+ label = label.substring(0, label.length()-2);
+ }
+ return label;
+ }
+ return "";
+ }
+ });
+ viewer.setInput(associations);
+ viewer.addDoubleClickListener(this);