From 0d472556248431ddc9cc063dae75bf5416816a13 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Wed, 27 Apr 2016 11:38:32 +0200 Subject: [PATCH] Fix dependencies and model update --- .../META-INF/MANIFEST.MF | 4 +- .../molecular/editor/AlignmentEditor.java | 6 +-- .../handler/AlignmentEditorCopyHandler.java | 12 ++--- .../handler/AlignmentEditorPasteHandler.java | 44 +++++++++---------- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF index e6c64f016..6da060181 100644 --- a/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF @@ -44,6 +44,7 @@ Export-Package: info.bioinfweb.commons, info.bioinfweb.libralign.dataarea.implementations, info.bioinfweb.libralign.dataarea.implementations.charset, info.bioinfweb.libralign.dataarea.implementations.pherogram, + info.bioinfweb.libralign.dataarea.implementations.sequenceindex, info.bioinfweb.libralign.editsettings, info.bioinfweb.libralign.model, info.bioinfweb.libralign.model.adapters, @@ -54,13 +55,14 @@ Export-Package: info.bioinfweb.commons, info.bioinfweb.libralign.model.factory, info.bioinfweb.libralign.model.factory.continuous, info.bioinfweb.libralign.model.implementations, + info.bioinfweb.libralign.model.implementations.decorate, info.bioinfweb.libralign.model.implementations.swingundo, info.bioinfweb.libralign.model.implementations.swingundo.edits, info.bioinfweb.libralign.model.implementations.swingundo.edits.sequence, info.bioinfweb.libralign.model.implementations.swingundo.edits.token, - info.bioinfweb.libralign.model.implementations.translation, info.bioinfweb.libralign.model.tokenset, info.bioinfweb.libralign.model.tokenset.continuous, + info.bioinfweb.libralign.model.utils, info.bioinfweb.libralign.multiplealignments, info.bioinfweb.libralign.pherogram, info.bioinfweb.libralign.pherogram.distortion, diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java index 57608d5d8..90b983755 100644 --- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java +++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java @@ -15,13 +15,12 @@ import info.bioinfweb.libralign.alignmentarea.AlignmentArea; import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel; import info.bioinfweb.libralign.alignmentarea.tokenpainter.NucleotideTokenPainter; import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea; -import info.bioinfweb.libralign.dataarea.implementations.SequenceIndexArea; import info.bioinfweb.libralign.dataarea.implementations.pherogram.PherogramArea; +import info.bioinfweb.libralign.dataarea.implementations.sequenceindex.SequenceIndexArea; import info.bioinfweb.libralign.editsettings.EditSettingsChangeEvent; import info.bioinfweb.libralign.editsettings.EditSettingsListener; import info.bioinfweb.libralign.model.AlignmentModel; import info.bioinfweb.libralign.model.AlignmentModelChangeListener; -import info.bioinfweb.libralign.model.AlignmentModelUtils; import info.bioinfweb.libralign.model.adapters.StringAdapter; import info.bioinfweb.libralign.model.events.SequenceChangeEvent; import info.bioinfweb.libralign.model.events.SequenceRenamedEvent; @@ -29,6 +28,7 @@ import info.bioinfweb.libralign.model.events.TokenChangeEvent; import info.bioinfweb.libralign.model.implementations.PackedAlignmentModel; import info.bioinfweb.libralign.model.tokenset.CharacterTokenSet; import info.bioinfweb.libralign.model.tokenset.TokenSet; +import info.bioinfweb.libralign.model.utils.AlignmentModelUtils; import info.bioinfweb.libralign.multiplealignments.AlignmentAreaList; import info.bioinfweb.libralign.multiplealignments.MultipleAlignmentsContainer; import info.bioinfweb.libralign.pherogram.model.PherogramAreaModel; @@ -437,7 +437,7 @@ public class AlignmentEditor extends EditorPart { } // Write single reads: - stringProvider.setUnderlyingProvider(getReadsArea().getAlignmentModel()); + stringProvider.setUnderlyingModel(getReadsArea().getAlignmentModel()); sequenceNode.getSingleReadAlignments().retainAll(cdmMap.values()); // Remove all reads that are not in the alignment anymore. Iterator iterator = getReadsArea().getAlignmentModel().sequenceIDIterator(); while (iterator.hasNext()) { diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java index 381cf3536..95418e5b2 100644 --- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java +++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java @@ -1,11 +1,11 @@ package eu.etaxonomy.taxeditor.molecular.handler; -import java.util.Map; - import info.bioinfweb.libralign.alignmentarea.AlignmentArea; import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel; -import info.bioinfweb.libralign.model.AlignmentModelUtils; +import info.bioinfweb.libralign.model.utils.AlignmentModelUtils; + +import java.util.Map; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.swt.dnd.TextTransfer; @@ -25,8 +25,8 @@ import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor; * nothing will be copied, even if nucleotides are currently selected. *

* If the selection contains parts of multiple sequence, these are separated by the line separator - * of the current operating system. - * + * of the current operating system. + * * @author Ben Stöver * @date 25.08.2015 */ @@ -36,7 +36,7 @@ public class AlignmentEditorCopyHandler extends AbstractFocusedAlignmentAreaHand protected void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea) { SelectionModel selection = focusedArea.getSelection(); if (!selection.isEmpty()) { - editor.CLIPBOARD.setContents(new Object[]{AlignmentModelUtils.selectionAsString(focusedArea, false)}, + editor.CLIPBOARD.setContents(new Object[]{AlignmentModelUtils.selectionAsString(focusedArea, false)}, new Transfer[]{TextTransfer.getInstance()}); } } diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java index ca037657c..590aab56c 100644 --- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java +++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java @@ -1,16 +1,16 @@ package eu.etaxonomy.taxeditor.molecular.handler; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Scanner; - import info.bioinfweb.libralign.alignmentarea.AlignmentArea; import info.bioinfweb.libralign.alignmentarea.order.SequenceOrder; import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel; import info.bioinfweb.libralign.model.AlignmentModel; -import info.bioinfweb.libralign.model.AlignmentModelUtils; +import info.bioinfweb.libralign.model.utils.AlignmentModelUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Scanner; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.jface.dialogs.MessageDialog; @@ -25,7 +25,7 @@ import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor; /** * Handler that pastes the current contents of the clipboard into an active instance of {@link AlignmentEditor}. - * + * * @author Ben Stöver * @date 26.08.2015 */ @@ -35,12 +35,12 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan area.getActionProvider().elongateSequence(sequenceID, area.getSelection().getCursorColumn()); AlignmentModel alignmentModel = (AlignmentModel)area.getAlignmentModel(); - alignmentModel.insertTokensAt(sequenceID, area.getSelection().getCursorColumn(), + alignmentModel.insertTokensAt(sequenceID, area.getSelection().getCursorColumn(), AlignmentModelUtils.charSequenceToTokenList(content, alignmentModel.getTokenSet(), true, alignmentModel.getTokenSet().getGapToken())); } - - + + @Override protected void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea) { SelectionModel selection = focusedArea.getSelection(); @@ -59,7 +59,7 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan finally { scanner.close(); } - + if (!lines.isEmpty()) { //TODO Can lines be empty? (Can an empty string "" be copied to the clipboard?) if (selection.getCursorHeight() == 1) { // If the consensus sequence is focused, this is the only possible case. int sequenceID = focusedArea.getSequenceOrder().idByIndex(selection.getCursorRow()); @@ -67,16 +67,16 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan pasteString(focusedArea, sequenceID, lines.get(0)); } else { - MessageDialog dialog = new MessageDialog(HandlerUtil.getActiveWorkbenchWindow(event).getShell(), //TODO Can the window be null? + MessageDialog dialog = new MessageDialog(HandlerUtil.getActiveWorkbenchWindow(event).getShell(), //TODO Can the window be null? "Pasting multiple lines", null, - "The text to be pasted contains mutlitple lines (" + lines.size() + - ") although the current cursor height is one. What do you want to do?", - MessageDialog.QUESTION, - new String[]{"Ingnore line breaks and paste as one sequence", - "Only paste the first line from the clipboard", "Cancel"}, + "The text to be pasted contains mutlitple lines (" + lines.size() + + ") although the current cursor height is one. What do you want to do?", + MessageDialog.QUESTION, + new String[]{"Ingnore line breaks and paste as one sequence", + "Only paste the first line from the clipboard", "Cancel"}, 0); //TODO Does the dialog have to be disposed in some way? - + switch (dialog.open()) { case 0: // Paste all lines in one sequence. pasteString(focusedArea, sequenceID, clipboardText); @@ -96,10 +96,10 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan } else { MessageDialog.openError(HandlerUtil.getActiveWorkbenchWindow(event).getShell(), //TODO Can the window be null? - "Unable to paste multiple lines", - "The current cursor height (" + selection.getCursorHeight() + - ") does not match the number of lines to be pasted (" + lines.size() + ")." + - System.getProperty("line.separator") + System.getProperty("line.separator") + + "Unable to paste multiple lines", + "The current cursor height (" + selection.getCursorHeight() + + ") does not match the number of lines to be pasted (" + lines.size() + ")." + + System.getProperty("line.separator") + System.getProperty("line.separator") + "You can either change the cursor height accordingly or set the cursor height to one " + "allowing you to paste all lines from the clipboad into one sequence."); } -- 2.34.1