package eu.etaxonomy.taxeditor.editor.view.descriptive;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.IDescribable;
-import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
-import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
import eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
/**
- * <p>DescriptiveViewPart class.</p>
- *
* @author n.hoffmann
* @created Jun 9, 2010
* @version 1.0
createToolbar();
- // set initial input
-// if(getEditor() != null){
-// viewer.setInput(getEditor().getEditorInput());
-// }
-
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- //Open derivate editor when specimen description element is double clicked
- TreeSelection selection = (TreeSelection) viewer.getSelection();
- Iterator iterator = selection.iterator();
- Set<UUID> specimenUuids = new HashSet<UUID>();
- while(iterator.hasNext()){
- Object next = iterator.next();
- if(next instanceof IndividualsAssociation){
- SpecimenOrObservationBase<?> specimen = ((IndividualsAssociation)next).getAssociatedSpecimenOrObservation();
- if(specimen!=null){
- specimenUuids.add(specimen.getUuid());
- }
- }
- }
- try {
- if(!specimenUuids.isEmpty()){
- EditorUtil.open(new DerivateViewEditorInput(specimenUuids));
- }
- } catch (PartInitException e) {
- MessagingUtils.error(DescriptiveViewPart.class, "Could not open Derivative Editor", e);
- }
-
-
- //TODO: extend command to accept parameter to open editor
-// String commandId = "eu.etaxonomy.taxeditor.editor.handler.openDerivateView";
-// IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
-// try {
-// handlerService.executeCommand(commandId, null);
-// } catch (ExecutionException e) {
-// MessagingUtils.error(DerivateSearchCompositeController.class, e);
-// } catch (NotDefinedException e) {
-// MessagingUtils.error(DerivateSearchCompositeController.class, e);
-// } catch (NotEnabledException e) {
-// MessagingUtils.error(DerivateSearchCompositeController.class, e);
-// } catch (NotHandledException e) {
-// MessagingUtils.error(DerivateSearchCompositeController.class, e);
-// }
-
- }
- });
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection()
- */
/** {@inheritDoc} */
@Override
protected ISelection getInitialSelection() {
return viewer;
}
- /**
- * <p>onComplete</p>
- *
- * @return a boolean.
- */
@Override
public boolean onComplete() {
return false;