Revision 329832d3
Added by Patrick Plitzner over 8 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java | ||
---|---|---|
11 | 11 |
package eu.etaxonomy.taxeditor.editor.view.descriptive; |
12 | 12 |
|
13 | 13 |
import java.util.HashMap; |
14 |
import java.util.HashSet; |
|
15 |
import java.util.Iterator; |
|
16 | 14 |
import java.util.Map; |
17 |
import java.util.Set; |
|
18 |
import java.util.UUID; |
|
19 | 15 |
|
20 | 16 |
import org.eclipse.jface.action.Action; |
21 | 17 |
import org.eclipse.jface.action.GroupMarker; |
... | ... | |
23 | 19 |
import org.eclipse.jface.action.IToolBarManager; |
24 | 20 |
import org.eclipse.jface.action.MenuManager; |
25 | 21 |
import org.eclipse.jface.resource.ImageDescriptor; |
26 |
import org.eclipse.jface.viewers.DoubleClickEvent; |
|
27 |
import org.eclipse.jface.viewers.IDoubleClickListener; |
|
28 | 22 |
import org.eclipse.jface.viewers.ISelection; |
29 | 23 |
import org.eclipse.jface.viewers.IStructuredSelection; |
30 | 24 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
31 | 25 |
import org.eclipse.jface.viewers.StructuredSelection; |
32 | 26 |
import org.eclipse.jface.viewers.TreeNode; |
33 |
import org.eclipse.jface.viewers.TreeSelection; |
|
34 | 27 |
import org.eclipse.jface.viewers.TreeViewer; |
35 | 28 |
import org.eclipse.jface.viewers.Viewer; |
36 | 29 |
import org.eclipse.swt.SWT; |
... | ... | |
43 | 36 |
import org.eclipse.swt.widgets.Tree; |
44 | 37 |
import org.eclipse.ui.IWorkbenchActionConstants; |
45 | 38 |
import org.eclipse.ui.IWorkbenchPart; |
46 |
import org.eclipse.ui.PartInitException; |
|
47 | 39 |
|
48 | 40 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
49 | 41 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
50 | 42 |
import eu.etaxonomy.cdm.model.description.DescriptionElementBase; |
51 | 43 |
import eu.etaxonomy.cdm.model.description.IDescribable; |
52 |
import eu.etaxonomy.cdm.model.description.IndividualsAssociation; |
|
53 | 44 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
54 | 45 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
55 | 46 |
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor; |
56 | 47 |
import eu.etaxonomy.taxeditor.editor.EditorUtil; |
57 | 48 |
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor; |
58 | 49 |
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView; |
59 |
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput; |
|
60 | 50 |
import eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart; |
61 | 51 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
62 | 52 |
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; |
... | ... | |
65 | 55 |
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData; |
66 | 56 |
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData; |
67 | 57 |
import eu.etaxonomy.taxeditor.model.ImageResources; |
68 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
|
69 | 58 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
70 | 59 |
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart; |
71 | 60 |
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart; |
72 | 61 |
import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart; |
73 | 62 |
|
74 | 63 |
/** |
75 |
* <p>DescriptiveViewPart class.</p> |
|
76 |
* |
|
77 | 64 |
* @author n.hoffmann |
78 | 65 |
* @created Jun 9, 2010 |
79 | 66 |
* @version 1.0 |
... | ... | |
126 | 113 |
|
127 | 114 |
createToolbar(); |
128 | 115 |
|
129 |
// set initial input |
|
130 |
// if(getEditor() != null){ |
|
131 |
// viewer.setInput(getEditor().getEditorInput()); |
|
132 |
// } |
|
133 |
|
|
134 |
viewer.addDoubleClickListener(new IDoubleClickListener() { |
|
135 |
@Override |
|
136 |
public void doubleClick(DoubleClickEvent event) { |
|
137 |
//Open derivate editor when specimen description element is double clicked |
|
138 |
TreeSelection selection = (TreeSelection) viewer.getSelection(); |
|
139 |
Iterator iterator = selection.iterator(); |
|
140 |
Set<UUID> specimenUuids = new HashSet<UUID>(); |
|
141 |
while(iterator.hasNext()){ |
|
142 |
Object next = iterator.next(); |
|
143 |
if(next instanceof IndividualsAssociation){ |
|
144 |
SpecimenOrObservationBase<?> specimen = ((IndividualsAssociation)next).getAssociatedSpecimenOrObservation(); |
|
145 |
if(specimen!=null){ |
|
146 |
specimenUuids.add(specimen.getUuid()); |
|
147 |
} |
|
148 |
} |
|
149 |
} |
|
150 |
try { |
|
151 |
if(!specimenUuids.isEmpty()){ |
|
152 |
EditorUtil.open(new DerivateViewEditorInput(specimenUuids)); |
|
153 |
} |
|
154 |
} catch (PartInitException e) { |
|
155 |
MessagingUtils.error(DescriptiveViewPart.class, "Could not open Derivative Editor", e); |
|
156 |
} |
|
157 |
|
|
158 |
|
|
159 |
//TODO: extend command to accept parameter to open editor |
|
160 |
// String commandId = "eu.etaxonomy.taxeditor.editor.handler.openDerivateView"; |
|
161 |
// IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class); |
|
162 |
// try { |
|
163 |
// handlerService.executeCommand(commandId, null); |
|
164 |
// } catch (ExecutionException e) { |
|
165 |
// MessagingUtils.error(DerivateSearchCompositeController.class, e); |
|
166 |
// } catch (NotDefinedException e) { |
|
167 |
// MessagingUtils.error(DerivateSearchCompositeController.class, e); |
|
168 |
// } catch (NotEnabledException e) { |
|
169 |
// MessagingUtils.error(DerivateSearchCompositeController.class, e); |
|
170 |
// } catch (NotHandledException e) { |
|
171 |
// MessagingUtils.error(DerivateSearchCompositeController.class, e); |
|
172 |
// } |
|
173 |
|
|
174 |
} |
|
175 |
}); |
|
176 | 116 |
} |
177 | 117 |
|
178 |
/* (non-Javadoc) |
|
179 |
* @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection() |
|
180 |
*/ |
|
181 | 118 |
/** {@inheritDoc} */ |
182 | 119 |
@Override |
183 | 120 |
protected ISelection getInitialSelection() { |
... | ... | |
356 | 293 |
return viewer; |
357 | 294 |
} |
358 | 295 |
|
359 |
/** |
|
360 |
* <p>onComplete</p> |
|
361 |
* |
|
362 |
* @return a boolean. |
|
363 |
*/ |
|
364 | 296 |
@Override |
365 | 297 |
public boolean onComplete() { |
366 | 298 |
return false; |
Also available in: Unified diff
Remove double-click support for opening specimen from the factual data
view