*/
package jalview.appletgui;
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Dialog;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Label;
-import java.awt.Panel;
-import java.awt.TextArea;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-
import jalview.analysis.AlignmentUtils;
+import jalview.api.ComplexAlignFile;
import jalview.bin.JalviewLite;
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
import jalview.io.AnnotationFile;
import jalview.io.AppletFormatAdapter;
+import jalview.io.FileParse;
import jalview.io.IdentifyFile;
import jalview.io.NewickFile;
import jalview.io.TCoffeeScoreFile;
+import jalview.schemes.ColourSchemeI;
import jalview.schemes.TCoffeeColourScheme;
import jalview.util.MessageManager;
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Dialog;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.TextArea;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
public class CutAndPasteTransfer extends Panel implements ActionListener,
MouseListener
{
AlignFrame alignFrame;
+ FileParse source = null;
+
public CutAndPasteTransfer(boolean forImport, AlignFrame alignFrame)
{
try
}
else if (alignFrame != null)
{
- loadAlignment(text, newWindow);
+ loadAlignment(text, newWindow, alignFrame.getAlignViewport());
}
// TODO: dialog should indicate if data was parsed correctly or not - see
* @param text
* @param newWindow
*/
- protected void loadAlignment(String text, boolean newWindow)
+ protected void loadAlignment(String text, boolean newWindow,
+ AlignViewport viewport)
{
- Alignment al = null;
+ AlignmentI al = null;
String format = new IdentifyFile().Identify(text,
AppletFormatAdapter.PASTE);
+ AppletFormatAdapter afa = new AppletFormatAdapter(alignFrame.alignPanel);
try
{
- al = new AppletFormatAdapter().readFile(text,
- AppletFormatAdapter.PASTE, format);
+ al = afa.readFile(text, AppletFormatAdapter.PASTE, format);
+ source = afa.getAlignFile();
} catch (java.io.IOException ex)
{
ex.printStackTrace();
}
if (newWindow)
{
- AlignFrame af = new AlignFrame(al, alignFrame.viewport.applet,
- "Cut & Paste input - " + format, false);
+ AlignFrame af;
+
+ if (source instanceof ComplexAlignFile)
+ {
+ ColumnSelection colSel = ((ComplexAlignFile) source)
+ .getColumnSelection();
+ SequenceI[] hiddenSeqs = ((ComplexAlignFile) source)
+ .getHiddenSequences();
+ boolean showSeqFeatures = ((ComplexAlignFile) source)
+ .isShowSeqFeatures();
+ ColourSchemeI cs = ((ComplexAlignFile) source).getColourScheme();
+ af = new AlignFrame(al, hiddenSeqs, colSel,
+ alignFrame.viewport.applet, "Cut & Paste input - "
+ + format, false);
+ af.getAlignViewport().setShowSequenceFeatures(showSeqFeatures);
+ af.changeColour(cs);
+ }
+ else
+ {
+ af = new AlignFrame(al, alignFrame.viewport.applet,
+ "Cut & Paste input - " + format, false);
+ }
+
af.statusBar
.setText(MessageManager
.getString("label.successfully_pasted_annotation_to_alignment"));
* @param al
* @return
*/
- protected boolean openSplitFrame(Alignment al, String format)
+ protected boolean openSplitFrame(AlignmentI al, String format)
{
final AlignmentI thisAlignment = this.alignFrame.getAlignViewport().getAlignment();
if (thisAlignment.isNucleotide() == al.isNucleotide())