eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditorInput.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditSequenceHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/LoadPherogramHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenAlignmentEditor.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenTaxonEditorHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveAllHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveTaxonHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SpecimenPropertyTester.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/TaxonParameterConverter.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ToggleInsertOverwriteHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ToggleLeftRightInsertionHandler.java -text
id="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifResponseImportView"
name="%view.name.5">
</view>
+ <view
+ allowMultiple="false"
+ category="eu.etaxonomy.taxeditor.editor.category"
+ class="eu.etaxonomy.taxeditor.editor.view.validation.ValidationProblemsView"
+ icon="icons/edit_16x16.gif"
+ id="eu.etaxonomy.taxeditor.editor.view.validation.problems"
+ name="%view.name.6">
+ </view>
<view
allowMultiple="true"
class="eu.etaxonomy.taxeditor.editor.molecular.PherogramViewPart"
label="Delete (with children)"
style="push">
</command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.editSequence"
+ label="Edit Sequence"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isSequence">
+ </reference>
+ </visibleWhen>
+ </command>
</menuContribution>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
name="Deep Delete">
</command>
-
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.handler.EditSequenceHandler"
+ id="eu.etaxonomy.taxeditor.editor.editSequence"
+ name="Edit Sequence">
+ </command>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
</test>
</with>
</definition>
+ <definition
+ id="isSequence">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSequence">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
properties="isGroup"
type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
</propertyTester>
+ <propertyTester
+ class="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+ id="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+ namespace="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+ properties="isSequence"
+ type="org.eclipse.jface.viewers.IStructuredSelection">
+ </propertyTester>
</extension>
<extension
point="org.eclipse.ui.bindings">
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.handler;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.TreeNode;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.cdm.model.media.MediaUtils;
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.molecular.SingleReadAlignment;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+
+
+public class EditSequenceHandler extends AbstractHandler {
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+ TreeNode treeNodeOfSelection = EditorUtil.getTreeNodeOfSelection(currentSelection);
+ if(treeNodeOfSelection!=null && treeNodeOfSelection.getValue() instanceof Sequence){
+ Sequence sequence = (Sequence)treeNodeOfSelection.getValue();
+ List<URI> pherogramUris = new ArrayList<URI>();
+ Set<SingleReadAlignment> singleReadAlignments = sequence.getSingleReadAlignments();
+ for (SingleReadAlignment singleReadAlignment : singleReadAlignments) {
+ if(singleReadAlignment.getSingleRead()!=null){
+ Media pherogram = singleReadAlignment.getSingleRead().getPherogram();
+ MediaRepresentationPart firstMediaRepresentationPart = MediaUtils.getFirstMediaRepresentationPart(pherogram);
+ if(firstMediaRepresentationPart!=null){
+ System.out.println(firstMediaRepresentationPart.getUri());
+ }
+ }
+ }
+// Set<Media> pherograms = sequence.getPherograms();
+// for (Media media : pherograms) {
+// System.out.println("med");
+// MediaRepresentationPart firstMediaRepresentationPart = MediaUtils.getFirstMediaRepresentationPart(media);
+// if(firstMediaRepresentationPart!=null){
+// System.out.println(firstMediaRepresentationPart.getUri());
+// }
+// }
+ }
+ return null;
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.handler;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeNode;
+
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+
+public class SpecimenPropertyTester extends PropertyTester {
+
+ public SpecimenPropertyTester() {
+ // TODO Auto-generated constructor stub
+ }
+ private static final String SEQUENCE = "isSequence";
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public boolean test(Object receiver, String property, Object[] args,
+ Object expectedValue) {
+
+ if(receiver instanceof IStructuredSelection){
+ IStructuredSelection selection = (IStructuredSelection) receiver;
+ TreeNode treeNodeOfSelection = EditorUtil.getTreeNodeOfSelection(selection);
+ if(treeNodeOfSelection!=null){
+ if(SEQUENCE.equals(property)){
+ return isSequence(treeNodeOfSelection.getValue());
+ }
+ }
+
+ }
+ return false;
+ }
+
+ private boolean isSequence(Object object) {
+ if(object instanceof Sequence){
+ return true;
+ }
+ return false;
+ }
+
+}