/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2007 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
*/\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
\r
+import jalview.datamodel.*;\r
+import jalview.io.*;\r
+import jalview.jbgui.*;\r
\r
/**\r
* DOCUMENT ME!\r
* @author $author$\r
* @version $Revision$\r
*/\r
-public class CutAndPasteTransfer extends GCutAndPasteTransfer\r
+public class CutAndPasteTransfer\r
+ extends GCutAndPasteTransfer\r
{\r
\r
AlignViewport viewport;\r
\r
}\r
\r
- /**\r
- * DOCUMENT ME!\r
- */\r
- public void setForInput(AlignViewport viewport)\r
+ /**\r
+ * DOCUMENT ME!\r
+ */\r
+ public void setForInput(AlignViewport viewport)\r
+ {\r
+ this.viewport = viewport;\r
+ if (viewport != null)\r
{\r
- this.viewport = viewport;\r
- getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\r
+ ok.setText("Add");\r
}\r
\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @return DOCUMENT ME!\r
- */\r
- public String getText()\r
- {\r
- return textarea.getText();\r
- }\r
+ getContentPane().add(inputButtonPanel, java.awt.BorderLayout.SOUTH);\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
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public String getText()\r
+ {\r
+ return textarea.getText();\r
+ }\r
\r
- public void appendText(String text)\r
- {\r
- textarea.append(text);\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
+ public void appendText(String text)\r
+ {\r
+ textarea.append(text);\r
+ }\r
\r
- public void save_actionPerformed(ActionEvent e)\r
- {\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty(\r
- "LAST_DIRECTORY"));\r
+ public void save_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(\r
+ jalview.bin.Cache.getProperty(\r
+ "LAST_DIRECTORY"));\r
\r
- chooser.setAcceptAllFileFilterUsed(false);\r
- chooser.setFileView(new JalviewFileView());\r
- chooser.setDialogTitle("Save Text to File");\r
- chooser.setToolTipText("Save");\r
+ chooser.setAcceptAllFileFilterUsed(false);\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Save Text to File");\r
+ chooser.setToolTipText("Save");\r
\r
- int value = chooser.showSaveDialog(this);\r
+ int value = chooser.showSaveDialog(this);\r
\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ try\r
{\r
- try\r
- {\r
- java.io.PrintWriter out = new java.io.PrintWriter(\r
- new java.io.FileWriter(chooser.getSelectedFile()));\r
-\r
- out.print(getText());\r
- out.close();\r
- }\r
- catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
+ java.io.PrintWriter out = new java.io.PrintWriter(\r
+ new java.io.FileWriter(chooser.getSelectedFile()));\r
\r
+ out.print(getText());\r
+ out.close();\r
}\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+\r
}\r
+ }\r
\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void copyItem_actionPerformed(ActionEvent e)\r
+ {\r
+ textarea.getSelectedText();\r
+ Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
+ c.setContents(new StringSelection(textarea.getSelectedText()), 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
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void copyItem_actionPerformed(ActionEvent e)\r
+ try\r
+ {\r
+ textarea.append( (String) contents.getTransferData(\r
+ DataFlavor.stringFlavor));\r
+ }\r
+ catch (Exception ex)\r
{\r
- textarea.getSelectedText();\r
- Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
- c.setContents(new StringSelection(textarea.getSelectedText()), null);\r
}\r
+ }\r
\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void pasteMenu_actionPerformed(ActionEvent e)\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void ok_actionPerformed(ActionEvent e)\r
+ {\r
+ String format = new IdentifyFile().Identify(getText(), "Paste");\r
+ Alignment al = null;\r
+\r
+ if (FormatAdapter.isValidFormat(format))\r
{\r
- Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
- Transferable contents = c.getContents(this);\r
+ try\r
+ {\r
+ al = new FormatAdapter().readFile(getText(), "Paste", format);\r
+ }\r
+ catch (java.io.IOException ex)\r
+ {\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ "Couldn't read the pasted text.\n" +\r
+ ex.toString(),\r
+ "Error parsing text",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ }\r
+ }\r
\r
- if (contents == null)\r
+ if (al != null)\r
+ {\r
+ if (viewport != null)\r
+ {\r
+ for (int i = 0; i < al.getHeight(); i++)\r
{\r
- return;\r
+ viewport.getAlignment().addSequence(al.getSequenceAt(i));\r
}\r
\r
+ viewport.firePropertyChange("alignment", null,\r
+ viewport.getAlignment().getSequences());\r
+ }\r
+ else\r
+ {\r
+ AlignFrame af = new AlignFrame(al,\r
+ AlignFrame.DEFAULT_WIDTH,\r
+ AlignFrame.DEFAULT_HEIGHT);\r
+ af.currentFileFormat = format;\r
+ Desktop.addInternalFrame(af, "Cut & Paste input - " + format,\r
+ AlignFrame.DEFAULT_WIDTH,\r
+ AlignFrame.DEFAULT_HEIGHT);\r
+ af.statusBar.setText("Successfully pasted alignment file");\r
+\r
try\r
{\r
- textarea.append((String) contents.getTransferData(\r
- DataFlavor.stringFlavor));\r
+ af.setMaximum(jalview.bin.Cache.getDefault("SHOW_FULLSCREEN", false));\r
}\r
catch (Exception ex)\r
{\r
}\r
+ }\r
}\r
+ }\r
\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void ok_actionPerformed(ActionEvent e)\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
- String format = new IdentifyFile().Identify(getText(), "Paste");\r
- SequenceI[] sequences = null;\r
-\r
- if (FormatAdapter.isValidFormat(format))\r
- {\r
- try{\r
- sequences = new FormatAdapter().readFile(getText(), "Paste", format);\r
- }catch(java.io.IOException ex)\r
- {\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- "Couldn't read the pasted text.\n" +ex.toString(),\r
- "Error parsing text",\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
- }\r
-\r
- if (sequences != null)\r
- {\r
- if(viewport!=null)\r
- {\r
- for(int i=0; i<sequences.length; i++)\r
- viewport.getAlignment().addSequence(sequences[i]);\r
-\r
- viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
- }\r
- else\r
- {\r
- AlignFrame af = new AlignFrame(new Alignment(sequences),\r
- AlignFrame.DEFAULT_WIDTH,\r
- AlignFrame.DEFAULT_HEIGHT);\r
- af.currentFileFormat = format;\r
- Desktop.addInternalFrame(af, "Cut & Paste input - " + format,\r
- AlignFrame.DEFAULT_WIDTH,\r
- AlignFrame.DEFAULT_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
- }\r
}\r
+ }\r
\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void cancel_actionPerformed(ActionEvent e)\r
+ public void textarea_mousePressed(MouseEvent e)\r
+ {\r
+ if (SwingUtilities.isRightMouseButton(e))\r
{\r
- try\r
+ JPopupMenu popup = new JPopupMenu("Edit");\r
+ JMenuItem item = new JMenuItem("Copy");\r
+ item.addActionListener(new ActionListener()\r
+ {\r
+ public void actionPerformed(ActionEvent e)\r
{\r
- this.setClosed(true);\r
+ copyItem_actionPerformed(e);\r
}\r
- catch (Exception ex)\r
+ });\r
+ popup.add(item);\r
+ item = new JMenuItem("Paste");\r
+ item.addActionListener(new ActionListener()\r
+ {\r
+ public void actionPerformed(ActionEvent e)\r
{\r
+ pasteMenu_actionPerformed(e);\r
}\r
- }\r
+ });\r
+ popup.add(item);\r
+ popup.show(this, e.getX() + 10, e.getY() + textarea.getY() + 40);\r
\r
- public void textarea_mousePressed(MouseEvent e)\r
- {\r
- if(SwingUtilities.isRightMouseButton(e))\r
- {\r
- JPopupMenu popup = new JPopupMenu("Edit");\r
- JMenuItem item = new JMenuItem("Copy");\r
- item.addActionListener(new ActionListener()\r
- {public void actionPerformed(ActionEvent e)\r
- {\r
- copyItem_actionPerformed(e);\r
- }\r
- });\r
- popup.add(item);\r
- item = new JMenuItem("Paste");\r
- item.addActionListener(new ActionListener()\r
- {public void actionPerformed(ActionEvent e)\r
- {\r
- pasteMenu_actionPerformed(e);\r
- }\r
- });\r
- popup.add(item);\r
- popup.show(this, e.getX()+10, e.getY()+textarea.getY()+40);\r
-\r
- }\r
}\r
+ }\r
\r
}\r