</menuContribution>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
+ <separator
+ name="eu.etaxonomy.taxeditor.editor.separator4"
+ visible="true">
+ </separator>
+ <dynamic
+ class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
+ id="eu.etaxonomy.taxeditor.editor.derivativeEditor.CdmViewerContextMenu">
+ </dynamic>
+ <dynamic
+ class="eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu.DerivateViewContextMenu"
+ id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
+ </dynamic>
+ <separator
+ name="eu.etaxonomy.taxeditor.editor.separator3"
+ visible="true">
+ </separator>
<command
commandId="org.eclipse.ui.edit.delete"
label="%command.label.52"
label="%command.label.54"
style="push">
</command>
- <dynamic
- class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
- id="eu.etaxonomy.taxeditor.editor.derivativeEditor.CdmViewerContextMenu">
- </dynamic>
- <dynamic
- class="eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu.DerivateViewContextMenu"
- id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
- </dynamic>
</menuContribution>
<menuContribution
locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
//create context menu
MenuManager menuManager = new MenuManager();
+ menuManager.setRemoveAllWhenShown(true);
getSite().registerContextMenu(menuManager, viewer);
Control control = viewer.getControl();
Menu menu = menuManager.createContextMenu(control);
createMenuItem(addMenu, TISSUE_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ return;
}
//context menu for Specimen
else if(selectedTreeNode.getValue() instanceof DerivedUnit && ((DerivedUnit)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
createMenuItem(addMenu, TISSUE_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.TissueSample, DerivationEventType.PREPARATION());
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ return;
}
//context menu for TissueSample
else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.TissueSample){
createMenuItem(addMenu, DNA_SAMPLE, selectedTreeNode, DnaSample.class, SpecimenOrObservationType.DnaSample, DerivationEventType.DNA_EXTRACTION());
createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ return;
}
//context menu for DnaSample
else if(selectedTreeNode.getValue() instanceof DnaSample && ((DnaSample)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.DnaSample){
createMenuItem(addMenu, CONSENSUS_SEQUENCE, selectedTreeNode, Sequence.class, null, null);
createMenuItem(addMenu, MEDIA_SPECIMEN, selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media, DerivationEventType.ACCESSIONING());
+ return;
}
//context menu for Sequence
else if(selectedTreeNode.getValue() instanceof Sequence){
createMenuItem(addMenu, SINGLE_READ, selectedTreeNode, SingleRead.class, null, null);
- }
- //default
- else{
- MenuItem menuItem = new MenuItem(addMenu, SWT.NONE);
- menuItem.setText(Messages.CreateDerivateContextMenu_NO_CHILD_DERIVATE);
- menuItem.setEnabled(false);
+ return;
}
}
+ MenuItem menuItem = new MenuItem(addMenu, SWT.NONE);
+ menuItem.setText(Messages.CreateDerivateContextMenu_NO_CHILD_DERIVATE);
+ menuItem.setEnabled(false);
}
package eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu;
import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.CompoundContributionItem;
public class DerivateViewContextMenu extends CompoundContributionItem {
@Override
protected IContributionItem[] getContributionItems() {
IContributionItem[] contributionItems = new IContributionItem[] {
- new CreateFieldUnitContextMenu(),
new CreateDerivateContextMenu(),
- new ListenToSelectionChangeContextMenu(),
+ new CreateFieldUnitContextMenu(),
new SingleReadSequenceContextMenu(),
+ new Separator(),
+ new ListenToSelectionChangeContextMenu(),
};
return contributionItems;
}
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.Separator;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeNode;
@Override
protected IContributionItem[] getContributionItems() {
- IContributionItem[] contributionItems = new IContributionItem[] {
- new ContributionItem() {
- @Override
- public void fill(Menu menu, int index) {
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IEditorPart activeEditor = window.getActivePage().getActiveEditor();
- final ISelection selection = window.getActivePage().getSelection();
- TreeNode selectedTreeNode = EditorUtil.getTreeNodeOfSelection(selection);
- TreeNode clipboardNode = EditorUtil.getTreeNodeOfSelection(LocalSelectionTransfer.getTransfer().getSelection());
- if(selectedTreeNode!=null){
- //context menu for Sequence
- if(selectedTreeNode.getValue() instanceof Sequence
- && clipboardNode!=null && clipboardNode.getValue() instanceof SingleRead){
- MenuItem item = new MenuItem(menu, SWT.NONE);
- item.setText(Messages.SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE);
- item.addSelectionListener(new WidgetSelectionListener(CommandType.ADD_TO_SEQUENCE));
- }
- else if(selectedTreeNode.getValue() instanceof SingleRead){
- MenuItem item = new MenuItem(menu, SWT.NONE);
- item.setText(Messages.SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE);
- item.addSelectionListener(new WidgetSelectionListener(CommandType.COPY_TO_CLIPBOARD));
- if(activeEditor instanceof DerivateView
- && ((DerivateView) activeEditor).getMultiLinkSingleReads().contains(selectedTreeNode.getValue())){
- MenuItem unlinkItem = new MenuItem(menu, SWT.NONE);
- unlinkItem.setText(Messages.SingleReadSequenceContextMenu_REMOVE_FROM_SEQUENCE);
- unlinkItem.addSelectionListener(new WidgetSelectionListener(CommandType.REMOVE_FROM_SEQUENCE));
+ boolean menuVisible = false;
+ final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ final ISelection selection = window.getActivePage().getSelection();
+ TreeNode selectedTreeNode = EditorUtil.getTreeNodeOfSelection(selection);
+ TreeNode clipboardNode = EditorUtil.getTreeNodeOfSelection(LocalSelectionTransfer.getTransfer().getSelection());
+ if(selectedTreeNode!=null &&
+ (selectedTreeNode.getValue() instanceof Sequence && clipboardNode!=null && clipboardNode.getValue() instanceof SingleRead)
+ || (selectedTreeNode.getValue() instanceof SingleRead)){
+ menuVisible = true;
+ }
+ IContributionItem[] contributionItems = new IContributionItem[0];
+ if(menuVisible){
+ contributionItems = new IContributionItem[] {
+ new Separator(),
+ new ContributionItem() {
+ @Override
+ public void fill(Menu menu, int index) {
+ final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ final IEditorPart activeEditor = window.getActivePage().getActiveEditor();
+ final ISelection selection = window.getActivePage().getSelection();
+ TreeNode selectedTreeNode = EditorUtil.getTreeNodeOfSelection(selection);
+ TreeNode clipboardNode = EditorUtil.getTreeNodeOfSelection(LocalSelectionTransfer.getTransfer().getSelection());
+ if(selectedTreeNode!=null){
+ //context menu for Sequence
+ if(selectedTreeNode.getValue() instanceof Sequence
+ && clipboardNode!=null && clipboardNode.getValue() instanceof SingleRead){
+ MenuItem item = new MenuItem(menu, SWT.NONE);
+ item.setText(Messages.SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE);
+ item.addSelectionListener(new WidgetSelectionListener(CommandType.ADD_TO_SEQUENCE));
+ }
+ else if(selectedTreeNode.getValue() instanceof SingleRead){
+ MenuItem item = new MenuItem(menu, SWT.NONE);
+ item.setText(Messages.SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE);
+ item.addSelectionListener(new WidgetSelectionListener(CommandType.COPY_TO_CLIPBOARD));
+ if(activeEditor instanceof DerivateView
+ && ((DerivateView) activeEditor).getMultiLinkSingleReads().contains(selectedTreeNode.getValue())){
+ MenuItem unlinkItem = new MenuItem(menu, SWT.NONE);
+ unlinkItem.setText(Messages.SingleReadSequenceContextMenu_REMOVE_FROM_SEQUENCE);
+ unlinkItem.addSelectionListener(new WidgetSelectionListener(CommandType.REMOVE_FROM_SEQUENCE));
+ }
}
}
}
}
- }
- };
+ };
+ }
return contributionItems;
}
</menu>
</menuContribution>
<menuContribution
- locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView?before=eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
+ locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView?after=eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
+ <separator
+ name="eu.etaxonomy.taxeditor.molecular.separator5"
+ visible="true">
+ </separator>
<command
commandId="eu.etaxonomy.taxeditor.molecular.editSequence"
label="Edit Sequence"