*/
package jalview.gui;
-import java.awt.*;
-import java.awt.datatransfer.*;
-import java.awt.event.*;
-import javax.swing.*;
-
-import jalview.datamodel.*;
-import jalview.io.*;
-import jalview.jbgui.*;
+import jalview.datamodel.Alignment;
+import jalview.io.FileParse;
+import jalview.io.FormatAdapter;
+import jalview.io.HtmlFile;
+import jalview.io.IdentifyFile;
+import jalview.io.JSONFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.jbgui.GCutAndPasteTransfer;
import jalview.util.MessageManager;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JPopupMenu;
+import javax.swing.SwingUtilities;
+
/**
* Cut'n'paste files into the desktop See JAL-1105
*
AlignViewport viewport;
+ FileParse source = null;
public CutAndPasteTransfer()
{
SwingUtilities.invokeLater(new Runnable()
{
try
{
- al = new FormatAdapter().readFile(getText(), "Paste", format);
+ FormatAdapter fa = new FormatAdapter(viewport);
+ al = fa.readFile(getText(), "Paste", format);
+ source = fa.getAlignFile();
+
} catch (java.io.IOException ex)
{
JOptionPane.showInternalMessageDialog(Desktop.desktop,
if (al != null)
{
+ String title = MessageManager.formatMessage(
+ "label.input_cut_paste_params", new String[]
+ { format });
if (viewport != null)
{
- for (int i = 0; i < al.getHeight(); i++)
- {
- viewport.getAlignment().addSequence(al.getSequenceAt(i));
- }
-
- viewport.firePropertyChange("alignment", null, viewport
- .getAlignment().getSequences());
+ viewport.addAlignment(al, title);
}
else
{
AlignFrame af = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);
af.currentFileFormat = format;
- Desktop.addInternalFrame(af, MessageManager.formatMessage(
- "label.input_cut_paste_params", new String[]
- { format }), AlignFrame.DEFAULT_WIDTH,
+ Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);
af.statusBar.setText(MessageManager
.getString("label.successfully_pasted_alignment_file"));
+ if (source instanceof HtmlFile)
+ {
+ ((HtmlFile) source).applySettingsToAlignmentView(af);
+ }
+ else if (source instanceof JSONFile)
+ {
+ ((JSONFile) source).applySettingsToAlignmentView(af);
+ }
+
+
try
{
af.setMaximum(jalview.bin.Cache.getDefault("SHOW_FULLSCREEN",
}
}
+
/**
* DOCUMENT ME!
*