Revision 4a6c88be
Added by Patrick Plitzner over 8 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenView/SpecimenView.java | ||
---|---|---|
9 | 9 |
*/ |
10 | 10 |
package eu.etaxonomy.taxeditor.view.specimenView; |
11 | 11 |
|
12 |
import org.eclipse.jface.action.MenuManager; |
|
12 | 13 |
import org.eclipse.jface.viewers.DoubleClickEvent; |
13 | 14 |
import org.eclipse.jface.viewers.IDoubleClickListener; |
14 | 15 |
import org.eclipse.jface.viewers.ISelection; |
... | ... | |
17 | 18 |
import org.eclipse.jface.viewers.TableViewerColumn; |
18 | 19 |
import org.eclipse.swt.SWT; |
19 | 20 |
import org.eclipse.swt.widgets.Composite; |
21 |
import org.eclipse.swt.widgets.Control; |
|
22 |
import org.eclipse.swt.widgets.Menu; |
|
20 | 23 |
import org.eclipse.ui.ISelectionListener; |
21 | 24 |
import org.eclipse.ui.ISelectionService; |
22 | 25 |
import org.eclipse.ui.IWorkbenchPart; |
23 | 26 |
import org.eclipse.ui.part.ViewPart; |
24 | 27 |
|
25 | 28 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
29 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
|
26 | 30 |
|
27 | 31 |
/** |
28 | 32 |
* This class visualizes a list of field units associated to a taxon. |
... | ... | |
95 | 99 |
//enable header |
96 | 100 |
viewer.getTable().setHeaderVisible(true); |
97 | 101 |
|
102 |
//create context menu |
|
103 |
MenuManager menuManager = new MenuManager(); |
|
104 |
getSite().registerContextMenu(menuManager, viewer); |
|
105 |
Control control = viewer.getControl(); |
|
106 |
Menu menu = menuManager.createContextMenu(control); |
|
107 |
control.setMenu(menu); |
|
108 |
|
|
98 | 109 |
viewer.addDoubleClickListener(new IDoubleClickListener() { |
99 | 110 |
|
100 | 111 |
@Override |
... | ... | |
115 | 126 |
if(part==this){ |
116 | 127 |
return; |
117 | 128 |
} |
129 |
if(AbstractUtility.getActiveEditor() == null){ |
|
130 |
viewer.setInput(null); |
|
131 |
return; |
|
132 |
} |
|
118 | 133 |
|
119 | 134 |
if(selection instanceof IStructuredSelection){ |
120 | 135 |
Object selectedElement = ((IStructuredSelection) selection).getFirstElement(); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenView/SpecimenViewContentProvider.java | ||
---|---|---|
17 | 17 |
|
18 | 18 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
19 | 19 |
import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO; |
20 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
|
20 | 21 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
21 | 22 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
22 | 23 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
... | ... | |
47 | 48 |
public Object[] getElements(Object inputElement) { |
48 | 49 |
List<FieldUnitDTO> fieldUnitDTOs = new ArrayList<FieldUnitDTO>(); |
49 | 50 |
if(inputElement instanceof Taxon){ |
50 |
Taxon taxon = (Taxon) inputElement;
|
|
51 |
Taxon taxon = HibernateProxyHelper.deproxy(inputElement, Taxon.class);
|
|
51 | 52 |
List<SpecimenOrObservationBase> fieldUnits = CdmStore.getService(IOccurrenceService.class).pageFieldUnitsByAssociatedTaxon(null, taxon, null, null, null, null, null).getRecords(); |
52 | 53 |
for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) { |
53 |
if(specimenOrObservationBase instanceof FieldUnit){
|
|
54 |
fieldUnitDTOs.add(CdmStore.getService(IOccurrenceService.class).assembleFieldUnitDTO((FieldUnit) specimenOrObservationBase, taxon.getUuid()));
|
|
54 |
if(specimenOrObservationBase.isInstanceOf(FieldUnit.class)){
|
|
55 |
fieldUnitDTOs.add(CdmStore.getService(IOccurrenceService.class).assembleFieldUnitDTO(HibernateProxyHelper.deproxy(specimenOrObservationBase, FieldUnit.class), taxon.getUuid()));
|
|
55 | 56 |
} |
56 | 57 |
} |
57 | 58 |
return fieldUnitDTOs.toArray(); |
Also available in: Unified diff
Use deproxy