import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
menu.remove(ITextEditorActionConstants.SHIFT_LEFT);
menu.remove(ITextEditorActionConstants.CONTEXT_PREFERENCES);
}
+
+ @Override
+ public boolean canAttachMedia() {
+ return getEditorInput() instanceof TaxonEditorInput?true:false;
+ }
}
</test>
</with>
</definition>
+ <definition
+ id="isSequence">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSequence">
+ </test>
+ </with>
+ </definition>
+ <definition
+ id="isSingleRead">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleRead">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
properties="isGroupEditor"
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,isSingleRead"
+ type="org.eclipse.jface.viewers.IStructuredSelection">
+ </propertyTester>
</extension>
<extension
point="org.eclipse.ui.bindings">
super.dispose();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
- */
/** {@inheritDoc} */
@Override
protected void addPages() {
firePropertyChange(PROP_DIRTY);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.MultiPageEditorPart#isDirty()
- */
- /**
- * <p>
- * isDirty
- * </p>
- *
- * @return a boolean.
- */
@Override
public boolean isDirty() {
return dirty;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.forms.editor.FormEditor#editorDirtyStateChanged()
- */
/** {@inheritDoc} */
@Override
public void editorDirtyStateChanged() {
* place before passing property change along to
* <code>super.handlePropertyChange(int propertyId)</code>.
*/
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int)
- */
@Override
protected void handlePropertyChange(int propertyId) {
if (propertyId == PROP_DIRTY) {
setPartName();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
- */
@Override
public void forceDirty() {
changed(null);
return input.getTaxon();
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
- * ()
- */
- /**
- * <p>
- * getConversationHolder
- * </p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- */
@Override
public ConversationHolder getConversationHolder() {
return conversation;
}
- /**
- * <p>
- * setConversationHolder
- * </p>
- *
- * @param conversation
- * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- */
public void setConversationHolder(ConversationHolder conversation) {
this.conversation = conversation;
}
- /**
- * <p>
- * Getter for the field <code>undoContext</code>.
- * </p>
- *
- * @return a {@link org.eclipse.core.commands.operations.IUndoContext}
- * object.
- */
public IUndoContext getUndoContext() {
return undoContext;
}
- /**
- * <p>
- * Setter for the field <code>undoContext</code>.
- * </p>
- *
- * @param undoContext
- * a {@link org.eclipse.core.commands.operations.IUndoContext}
- * object.
- */
public void setUndoContext(IUndoContext undoContext) {
this.undoContext = undoContext;
}
getActiveEditor().setFocus();
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostCrudObserver#update(eu
- * .etaxonomy.cdm.persistence.hibernate.CdmCrudEvent)
- */
- /** {@inheritDoc} */
+ /** {@inheritDoc} */
@Override
public void update(CdmDataChangeMap events) {
if (dataChangeBehavior == null) {
DataChangeBridge.handleDataChange(events, dataChangeBehavior);
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.store.operations.IPostOperationEnabled#postOperation
- * ()
- */
/** {@inheritDoc} */
@Override
public boolean postOperation(CdmBase objectAffectedByOperation) {
return editorPage != null && editorPage.redraw(focus);
}
- /**
- * <p>
- * onComplete
- * </p>
- *
- * @return a boolean.
- */
@Override
public boolean onComplete() {
return false;
}
return true;
}
+
+ @Override
+ public boolean canAttachMedia() {
+ return true;
+ }
}
-package eu.etaxonomy.taxeditor.molecular.handler;
+package eu.etaxonomy.taxeditor.editor.handler;
import org.eclipse.core.expressions.PropertyTester;
public SpecimenPropertyTester() {}
-
- /* (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) {
return false;
}
-
private boolean isSequence(Object object) {
return (object instanceof Sequence);
}
-
private boolean isSingleReadAlignment(Object object) {
return (object instanceof SingleRead);
}
public DerivateView() {
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
@Override
public void createPartControl(Composite parent) {
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
viewer.addDropSupport(dndOperations, transfers, new DerivateDropListener(this));
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
- */
@Override
public void doSave(IProgressMonitor monitor) {
String taskName = "Saving hierarchy";
refreshTree();
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#doSaveAs()
- */
@Override
public void doSaveAs() {
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#getTitleToolTip()
- */
@Override
public String getTitleToolTip() {
if(getEditorInput() instanceof DerivateViewEditorInput){
return "Derivative Editor";
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
- */
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
setSite(site);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#isDirty()
- */
@Override
public boolean isDirty() {
return isDirty;
this.isDirty = isDirty;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
- */
@Override
public boolean isSaveAsAllowed() {
return false;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
@Override
public void setFocus() {
viewer.getControl().setFocus();
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
@Override
public void update(CdmDataChangeMap changeEvents) {
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
@Override
public ConversationHolder getConversationHolder() {
return conversation;
return viewer;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(java.lang.Object)
- */
@Override
public void changed(Object element) {
setDirty(true);
viewer.refresh();
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
- */
@Override
public void forceDirty() {
changed(null);
viewer.refresh();
}
-
private void generateMultiLinkSingleReads() {
Set<SingleRead> multiLinkSingleReads = new HashSet<SingleRead>();
for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
return this.multiLinkSingleReads;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
@Override
public void selectionChanged(SelectionChangedEvent event) {
this.selection = event.getSelection();
return labelProvider;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
- */
@Override
public boolean postOperation(CdmBase objectAffectedByOperation) {
refreshTree();
return true;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
- */
@Override
public boolean onComplete() {
return true;
}
+ @Override
+ public boolean canAttachMedia() {
+ return true;
+ }
+
}
return;
}
- if(part instanceof IPartContentHasMedia){
+ if(part instanceof IPartContentHasMedia && ((IPartContentHasMedia) part).canAttachMedia()){
if(part instanceof MultiPageTaxonEditor){
IEditorInput input = ((IEditorPart) part).getEditorInput();
showViewer(part, new StructuredSelection(input));
commandId="eu.etaxonomy.taxeditor.molecular.pherogramComponent.changeQualityOutput">
</handler>
</extension>
- <extension
- point="org.eclipse.core.expressions.definitions">
- <definition
- id="isSequence">
- <with
- variable="selection">
- <test
- property="eu.etaxonomy.taxeditor.molecular.SpecimenPropertyTester.isSequence">
- </test>
- </with>
- </definition>
- <definition
- id="isSingleRead">
- <with
- variable="selection">
- <test
- property="eu.etaxonomy.taxeditor.molecular.SpecimenPropertyTester.isSingleRead">
- </test>
- </with>
- </definition>
- </extension>
- <extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="eu.etaxonomy.taxeditor.molecular.handler.SpecimenPropertyTester"
- id="eu.etaxonomy.taxeditor.molecular.SpecimenPropertyTester"
- namespace="eu.etaxonomy.taxeditor.molecular.SpecimenPropertyTester"
- properties="isSequence,isSingleRead"
- type="org.eclipse.jface.viewers.IStructuredSelection">
- </propertyTester>
- </extension>
<extension
point="org.eclipse.ui.bindings">
<scheme
import org.biojava.bio.chromatogram.ChromatogramFactory;
import org.biojava.bio.chromatogram.UnsupportedChromatogramFormatException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.action.Action;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.part.EditorPart;
private final ConversationHolder conversationHolder;
-
private final AlignmentModelChangeListener DIRTY_LISTENER = new AlignmentModelChangeListener() {
@Override
public <T> void afterTokenChange(TokenChangeEvent<T> e) {
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
setSite(site);
setInput(input);
+ System.out.println("AlignmentEditor.init(): " + ActionFactory.COPY.getId());
+ site.getActionBars().setGlobalActionHandler(ActionFactory.COPY.getId(), new Action(ActionFactory.COPY.getId()) {
+ @Override
+ public boolean isEnabled() {
+ System.out.println("isEnabled()");
+ return true;
+ }
+
+ @Override
+ public void run() {
+ System.out.println("run");
+ super.run();
+ }
+ });
}
if (tokens != null) { // If either an edited sequence or a pherogram URI was provided.
provider.insertTokensAt(id, 0, tokens);
- // Create pherogram area:
- PherogramArea pherogramArea = new PherogramArea(getReadsArea().getContentArea(),
- new PherogramAreaModel(pherogramProvider));
-
- // Set position properties and shifts:
- PherogramAreaModel model = pherogramArea.getModel();
- if ((firstSeqPos != null) && (leftCutPos != null)) {
- model.setFirstSeqLeftCutPos(firstSeqPos, leftCutPos);
- }
- if (rightCutPos != null) {
- model.setRightCutPosition(rightCutPos);
- }
- if ((shifts != null) && (shifts.length > 0)) {
- for (int i = 0; i < shifts.length; i++) {
- model.addShiftChange(shifts[i].position, shifts[i].shift);
- }
- setDirty();
- }
-
- // Add pherogram area to GUI:
- pherogramArea.addMouseListener(new PherogramMouseListener(pherogramArea));
- getReadsArea().getDataAreas().getSequenceAreas(id).add(pherogramArea);
- }
+ if (pherogramProvider != null) {
+ // Create pherogram area:
+ PherogramArea pherogramArea = new PherogramArea(getReadsArea().getContentArea(),
+ new PherogramAreaModel(pherogramProvider));
+
+ // Set position properties and shifts:
+ PherogramAreaModel model = pherogramArea.getModel();
+ if ((firstSeqPos != null) && (leftCutPos != null)) {
+ model.setFirstSeqLeftCutPos(firstSeqPos, leftCutPos);
+ }
+ if (rightCutPos != null) {
+ model.setRightCutPosition(rightCutPos);
+ }
+ if ((shifts != null) && (shifts.length > 0)) {
+ for (int i = 0; i < shifts.length; i++) {
+ model.addShiftChange(shifts[i].position, shifts[i].shift);
+ }
+ setDirty();
+ }
+
+ // Add pherogram area to GUI:
+ pherogramArea.addMouseListener(new PherogramMouseListener(pherogramArea));
+ getReadsArea().getDataAreas().getSequenceAreas(id).add(pherogramArea);
+ }
+ }
return id;
}
}
\ No newline at end of file
// $Id$
/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
package eu.etaxonomy.taxeditor.model;
-
/**
*
- * Clients implementing this interface indicate, that the data they present is suitable for the media view
- * and that the media view should handle selection from the implementing part.
+ * Clients implementing this interface indicate, that the data they present is
+ * suitable for the media view and that the media view should handle selection
+ * from the implementing part.
*
* @author pplitzner
* @date Sep 16, 2014
*/
public interface IPartContentHasMedia {
+ /**
+ * Return <code>true</code> if media can be attached to the editor input and
+ * <code>false</code> otherwise
+ *
+ * @return true or false depending on the input of the implementing part
+ */
+ public boolean canAttachMedia();
+
}
private EntitySelectionElement<Reference> selection_SecRef;
private Taxon taxon;
-
+
private Reference secReference;
private TextWithLabelElement textNewTaxonName;
setTaxon(selection_reuseExistingTaxon.getEntity());
}
complete = !textNewTaxonName.getText().isEmpty();
-
-
+
+
} else if (eventSource == selection_reuseExistingName) {
boolean enabled = selection_reuseExistingName.getEntity() == null;
selection_reuseExistingTaxon.setEnabled(enabled);
setTaxon(selection_reuseExistingName.getEntity());
} else if (eventSource == textNewTaxonName) {
- boolean enabled = CdmUtils.isEmpty(textNewTaxonName.getText());
+ boolean enabled = CdmUtils.isBlank(textNewTaxonName.getText());
selection_reuseExistingTaxon.setEnabled(enabled);
selection_reuseExistingName.setEnabled(enabled);
this.parentTreeNode = selection_classification.getEntity();
}
}
-
+
private void setSecReference(Reference secRef){
this.secReference = secRef;
setTaxon(textNewTaxonName.getText());
private void setTaxon(Taxon taxon) {
this.taxon = taxon;
textNewTaxonName.setText(taxon.getName().getTitleCache());
-
+
}
private void setTaxon(String taxonNameString) {
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<prerequisites>
<maven>3.0</maven>