eu.etaxonomy.taxeditor.help/tocgettingstarted.xml -text
eu.etaxonomy.taxeditor.help/tocnameparser.xml -text
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditorActionUpdater.java -text
+eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AbstractFocusedAlignmentAreaHandler.java -text
eu.etaxonomy.taxeditor.navigation/.classpath -text
eu.etaxonomy.taxeditor.navigation/.project -text
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF -text
--- /dev/null
+package eu.etaxonomy.taxeditor.molecular.handler;\r
+\r
+\r
+import info.bioinfweb.libralign.alignmentarea.AlignmentArea;\r
+\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+\r
+import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor;\r
+\r
+\r
+\r
+public abstract class AbstractFocusedAlignmentAreaHandler extends AbstractAlignmentEditorHandler {\r
+ @Override\r
+ protected void doExecute(ExecutionEvent event, AlignmentEditor editor) throws ExecutionException {\r
+ AlignmentArea focusedArea = editor.getFocusedArea();\r
+ if (focusedArea != null) {\r
+ doExecute2(event, editor, focusedArea);\r
+ }\r
+ }\r
+ \r
+ \r
+ protected abstract void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea);\r
+}\r
import info.bioinfweb.libralign.model.tokenset.AbstractTokenSet;
import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer;
* @author Ben Stöver
* @date 25.08.2015
*/
-public class AlignmentEditorCopyHandler extends AbstractAlignmentEditorHandler implements IElementUpdater {
+public class AlignmentEditorCopyHandler extends AbstractFocusedAlignmentAreaHandler implements IElementUpdater {
+ @Override
@SuppressWarnings("unchecked")
- public static void copySelectionAsString(AlignmentArea area) {
- SelectionModel selection = area.getSelection();
+ protected void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea) {
+ SelectionModel selection = focusedArea.getSelection();
if (!selection.isEmpty()) {
StringBuilder selectedCharacters = new StringBuilder();
- AlignmentModel<Character> alignmentModel = (AlignmentModel<Character>)area.getAlignmentModel();
+ AlignmentModel<Character> alignmentModel = (AlignmentModel<Character>)focusedArea.getAlignmentModel();
for (int row = selection.getFirstRow(); row <= selection.getLastRow(); row++) {
- int id = area.getSequenceOrder().idByIndex(row);
+ int id = focusedArea.getSequenceOrder().idByIndex(row);
for (int column = selection.getFirstColumn(); column <= selection.getLastColumn(); column++) {
if (alignmentModel.getSequenceLength(id) > column) {
selectedCharacters.append(alignmentModel.getTokenAt(id, column));
new Clipboard(Display.getCurrent()).setContents(new Object[]{selectedCharacters.toString()},
new Transfer[]{TextTransfer.getInstance()});
}
- }
-
-
- @Override
- public void doExecute(ExecutionEvent event, AlignmentEditor editor) throws ExecutionException {
- AlignmentArea focusedArea = editor.getFocusedArea();
- if (focusedArea != null) {
- copySelectionAsString(focusedArea);
- }
}