use fontchooser to change fonts
[jalview.git] / src / jalview / gui / CutAndPasteTransfer.java
index 8372a79..10f9777 100755 (executable)
-/********************
- * 2004 Jalview Reengineered
- * Barton Group
- * Dundee University
- *
- * AM Waterhouse
- *******************/
-
-package jalview.gui;
-
-import jalview.jbgui.GCutAndPasteTransfer;
-import java.awt.*;
-
-public class CutAndPasteTransfer extends GCutAndPasteTransfer
-{
-  public CutAndPasteTransfer(boolean forImport)
-  {
-    super();
-    for (int i = 0; i < jalview.io.FormatAdapter.formats.size(); i++) {
-     formatChoice.addItem((String)jalview.io.FormatAdapter.formats.elementAt(i));
-   }
-
-
-    if(forImport)
-    {
-      formatLabel.setVisible(false);
-      formatChoice.setVisible(false);
-      textarea.setBounds(new Rectangle(9, 6, 383, 284));
-    }
-  }
-
-  // this method is called once the user has selected an output format
-  public void formatForOutput()
-  {
-    textarea.setFont(new Font("Monospaced", Font.PLAIN, 12));
-    setLayout(new BorderLayout());
-    add(scrollPane, BorderLayout.CENTER);
-    remove(formatLabel);
-    remove(formatChoice);
-  }
-
-  public String getFormat()
-  {
-    return formatChoice.getSelectedItem().toString();
-  }
-  public String getText()
-  {
-    return textarea.getText();
-  }
-
-  public void setText(String text)
-  {
-    textarea.setText(text);
-  }
-}
+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer\r
+ * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ *\r
+ * This program is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License\r
+ * as published by the Free Software Foundation; either version 2\r
+ * of the License, or (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
+ */\r
+package jalview.gui;\r
+\r
+import jalview.datamodel.*;\r
+\r
+import jalview.io.*;\r
+\r
+import jalview.jbgui.*;\r
+\r
+import java.awt.*;\r
+import java.awt.datatransfer.*;\r
+import java.awt.event.*;\r
+\r
+import javax.swing.*;\r
+import javax.swing.event.InternalFrameEvent;\r
+\r
+\r
+/**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @author $author$\r
+ * @version $Revision$\r
+ */\r
+public class CutAndPasteTransfer extends GCutAndPasteTransfer\r
+{\r
+    /**\r
+     * DOCUMENT ME!\r
+     */\r
+    public void setForInput()\r
+    {\r
+        getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\r
+          SwingUtilities.invokeLater(new Runnable()\r
+          {\r
+            public void run()\r
+            {\r
+              textarea.requestFocus();\r
+            }\r
+          });\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @return DOCUMENT ME!\r
+     */\r
+    public String getText()\r
+    {\r
+        return textarea.getText();\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param text DOCUMENT ME!\r
+     */\r
+    public void setText(String text)\r
+    {\r
+        textarea.setText(text);\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param e DOCUMENT ME!\r
+     */\r
+    public void copyItem_actionPerformed(ActionEvent e)\r
+    {\r
+        Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
+        c.setContents(new StringSelection(textarea.getText()), null);\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param e DOCUMENT ME!\r
+     */\r
+    public void pasteMenu_actionPerformed(ActionEvent e)\r
+    {\r
+        Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
+        Transferable contents = c.getContents(this);\r
+\r
+        if (contents == null)\r
+        {\r
+            return;\r
+        }\r
+\r
+        try\r
+        {\r
+            textarea.setText((String) contents.getTransferData(\r
+                    DataFlavor.stringFlavor));\r
+        }\r
+        catch (Exception ex)\r
+        {\r
+        }\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param e DOCUMENT ME!\r
+     */\r
+    public void ok_actionPerformed(ActionEvent e)\r
+    {\r
+        String format = IdentifyFile.Identify(getText(), "Paste");\r
+        SequenceI[] sequences = null;\r
+\r
+        if (FormatAdapter.formats.contains(format))\r
+        {\r
+            sequences = FormatAdapter.readFile(getText(), "Paste", format);\r
+        }\r
+\r
+        if (sequences != null)\r
+        {\r
+            AlignFrame af = new AlignFrame(new Alignment(sequences));\r
+            af.currentFileFormat = format;\r
+            Desktop.addInternalFrame(af, "Cut & Paste input - " + format,\r
+                AlignFrame.NEW_WINDOW_WIDTH, AlignFrame.NEW_WINDOW_HEIGHT);\r
+            af.statusBar.setText("Successfully pasted alignment file");\r
+\r
+            try\r
+            {\r
+                af.setMaximum( jalview.bin.Cache.getDefault("SHOW_FULLSCREEN", false));\r
+            }\r
+            catch (Exception ex)\r
+            {\r
+            }\r
+\r
+            try\r
+            {\r
+                this.setClosed(true);\r
+            }\r
+            catch (Exception ex)\r
+            {\r
+            }\r
+        }\r
+        else\r
+        {\r
+            JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+                "Couldn't read the pasted text.\n" +\r
+                "Formats currently supported are\n" +\r
+                "Fasta, MSF, Clustal, BLC, PIR, MSP, and PFAM",\r
+                "Error parsing text", JOptionPane.WARNING_MESSAGE);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * DOCUMENT ME!\r
+     *\r
+     * @param e DOCUMENT ME!\r
+     */\r
+    public void cancel_actionPerformed(ActionEvent e)\r
+    {\r
+        try\r
+        {\r
+            this.setClosed(true);\r
+        }\r
+        catch (Exception ex)\r
+        {\r
+        }\r
+    }\r
+}\r