eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.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/ToggleInsertOverwriteHandler.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ToggleLeftRightInsertionHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewNameHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewPersonHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewReferenceHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ContigSequenceDataProvider.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/PherogramMouseListener.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/PherogramViewPart.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ToggleInsertOverwriteButton.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ToggleLeftRightInsertionButton.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractGroup.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractGroupedContainer.java -text
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=eu.etaxonomy.taxeditor.navigation.search.toolbar">
<toolbar
id="eu.etaxonomy.taxeditor.editor.alignmentToolbar">
- <control
- class="eu.etaxonomy.taxeditor.editor.molecular.ToggleLeftRightInsertionButton">
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite"
+ label="Toggle insert/overwrite"
+ style="push">
<visibleWhen
checkEnabled="true">
<with
</equals>
</with>
</visibleWhen>
- </control>
- <control
- class="eu.etaxonomy.taxeditor.editor.molecular.ToggleInsertOverwriteButton">
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion"
+ label="Toggle left/right insertion"
+ style="push">
<visibleWhen
checkEnabled="true">
<with
</equals>
</with>
</visibleWhen>
- </control>
+ </command>
</toolbar>
</menuContribution>
class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.handler.ToggleInsertOverwriteHandler"
+ commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite">
+ </handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.handler.ToggleLeftRightInsertionHandler"
+ commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion">
+ </handler>
</extension>
<extension
name="%extension.name"
id="eu.etaxonomy.taxeditor.editor.handler.OpenAlignmentEditor"
name="Open Alignment Editor">
</command>
- <command
- id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.addA"
- name="Add A">
- </command>
<command
id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.loadPherogram"
name="Load Pherogram">
id="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations"
name="Show Only Individual Associations">
</command>
+ <command
+ id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite"
+ name="Toggle insert/overwrite">
+ </command>
+ <command
+ id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion"
+ name="Toggle left/right insertion in base call sequence">
+ </command>
</extension>
<extension
*/
package eu.etaxonomy.taxeditor.editor.handler;
+
+import java.util.Map;
+
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.menus.UIElement;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor;
import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditorInput;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+
+
/**
+ * Opens the {@link AlignmentEditor}.
+ *
* @author pplitzner
* @date 04.08.2014
- *
*/
public class OpenAlignmentEditor extends AbstractHandler {
-
/* (non-Javadoc)
* @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
-
AlignmentEditorInput input = new AlignmentEditorInput();
try {
EditorUtil.open(input);
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.handler;\r
+\r
+\r
+import java.util.Map;\r
+\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.ui.IEditorPart;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.commands.IElementUpdater;\r
+import org.eclipse.ui.menus.UIElement;\r
+\r
+import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor;\r
+import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
+\r
+\r
+\r
+/**\r
+ * Switches an {@link AlignmentEditor} between insertion and overwrite mode.\r
+ * \r
+ * @author Ben Stöver\r
+ * @date 04.12.2014\r
+ */\r
+public class ToggleInsertOverwriteHandler extends AbstractHandler implements IElementUpdater {\r
+ public static final String COMMAND_ID = \r
+ "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite";\r
+ \r
+ \r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ IEditorPart activeEditor = AbstractUtility.getActiveEditor();\r
+ if (activeEditor instanceof AlignmentEditor) {\r
+ ((AlignmentEditor)activeEditor).toggleInsertOverwrite();\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ \r
+ @Override\r
+ public void updateElement(UIElement element, @SuppressWarnings("rawtypes") Map parameters) {\r
+ IEditorPart activeEditor = AbstractUtility.getActiveEditor();\r
+ if (activeEditor instanceof AlignmentEditor) {\r
+ if (((AlignmentEditor)activeEditor).isInsertMode()) {\r
+ element.setText(" INS ");\r
+ element.setTooltip("Click to switch to overwrite mode");\r
+ }\r
+ else {\r
+ element.setText("OVR");\r
+ element.setTooltip("Click to switch to insertion mode");\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.handler;\r
+\r
+\r
+import java.util.Map;\r
+\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.ui.IEditorPart;\r
+import org.eclipse.ui.commands.IElementUpdater;\r
+import org.eclipse.ui.menus.UIElement;\r
+\r
+import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor;\r
+import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
+\r
+\r
+\r
+/**\r
+ * Switches an {@link AlignmentEditor} between insertion in the base sequence to the left or to the right.\r
+ * \r
+ * @author Ben Stöver\r
+ * @date 04.12.2014\r
+ */\r
+public class ToggleLeftRightInsertionHandler extends AbstractHandler implements IElementUpdater {\r
+ public static final String COMMAND_ID = \r
+ "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleLeftRightInsertion";\r
+ \r
+ \r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ IEditorPart activeEditor = AbstractUtility.getActiveEditor();\r
+ if (activeEditor instanceof AlignmentEditor) {\r
+ ((AlignmentEditor)activeEditor).toggleLeftRightInsertionInPherogram();\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ \r
+ @Override\r
+ public void updateElement(UIElement element, @SuppressWarnings("rawtypes") Map parameters) {\r
+ IEditorPart activeEditor = AbstractUtility.getActiveEditor();\r
+ if (activeEditor instanceof AlignmentEditor) {\r
+ //TODO Use icons instead.\r
+ if (((AlignmentEditor)activeEditor).isInsertLeftInPherogram()) {\r
+ element.setText(" Left ");\r
+ element.setTooltip("Click to switch to insert new distorsions of the base call sequence right of future edits.");\r
+ }\r
+ else {\r
+ element.setText("Right");\r
+ element.setTooltip("Click to switch to insert new distorsions of the base call sequence left of future edits.");\r
+ }\r
+ }\r
+ }\r
+}\r
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.part.EditorPart;
+import eu.etaxonomy.taxeditor.editor.handler.ToggleInsertOverwriteHandler;
+import eu.etaxonomy.taxeditor.editor.handler.ToggleLeftRightInsertionHandler;
+
/**
return getAlignmentsContainer().getEditSettings().isInsertLeftInDataArea();
}
+
+ private void refreshToolbarElement(String id) {
+ ICommandService commandService =
+ (ICommandService)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getService(ICommandService.class);
+ if (commandService != null) {
+ commandService.refreshElements(id, Collections.EMPTY_MAP);
+ }
+ }
+
public void toggleLeftRightInsertionInPherogram() {
getAlignmentsContainer().getEditSettings().toggleInsertLeftInDataArea();
+ refreshToolbarElement(ToggleLeftRightInsertionHandler.COMMAND_ID);
}
public void toggleInsertOverwrite() {
getAlignmentsContainer().getEditSettings().toggleInsert();
+ refreshToolbarElement(ToggleInsertOverwriteHandler.COMMAND_ID);
}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2014 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.editor.molecular;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.menus.WorkbenchWindowControlContribution;
-
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
-
-/**
- * @author pplitzner
- * @author Ben Stöver
- * @date Nov 5, 2014
- */
-public class ToggleInsertOverwriteButton extends WorkbenchWindowControlContribution {
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.ControlContribution#createControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Control createControl(Composite parent) {
- Button button = new Button(parent, SWT.TOGGLE);
-// button.setImage(ImageResources.getImage(ImageResources.SWAP_SYNONYM_AND_TAXON_ICON));
- button.setText("Toggle Insert/Overwrite");
- button.setToolTipText("Toggle Insert/Overwrite");
- button.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- IEditorPart activeEditor = AbstractUtility.getActiveEditor();
- if (activeEditor instanceof AlignmentEditor) {
- AlignmentEditor alignmentEditor = (AlignmentEditor)activeEditor;
- alignmentEditor.toggleInsertOverwrite();
- }
- }
- });
-
- IEditorPart activeEditor = AbstractUtility.getActiveEditor();
- if (activeEditor instanceof AlignmentEditor) {
- AlignmentEditor alignmentEditor = (AlignmentEditor)activeEditor;
- button.setSelection(alignmentEditor.isInsertMode());
- }
- return button;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2014 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.editor.molecular;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.menus.WorkbenchWindowControlContribution;
-
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
-
-/**
- * @author pplitzner
- * @date Nov 5, 2014
- *
- */
-public class ToggleLeftRightInsertionButton extends WorkbenchWindowControlContribution {
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.ControlContribution#createControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Control createControl(Composite parent) {
- final Button button = new Button(parent, SWT.TOGGLE);
-// button.setImage(ImageResources.getImage(ImageResources.SWAP_SYNONYM_AND_TAXON_ICON));
- button.setText("Toggle Left/Right Insertion");
- button.setToolTipText("Toggle Left/Right Insertion");
- button.addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event event) {
- IEditorPart activeEditor = AbstractUtility.getActiveEditor();
- if (activeEditor instanceof AlignmentEditor) {
- AlignmentEditor alignmentEditor = (AlignmentEditor)activeEditor;
- alignmentEditor.toggleLeftRightInsertionInPherogram();
- }
- }
- });
-
- IEditorPart activeEditor = AbstractUtility.getActiveEditor();
- if (activeEditor instanceof AlignmentEditor) {
- AlignmentEditor alignmentEditor = (AlignmentEditor)activeEditor;
- button.setSelection(alignmentEditor.isInsertLeftInPherogram());
- }
- return button;
- }
-}