/*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
*/
package jalview.appletgui;
import jalview.datamodel.*;
import jalview.io.*;
+import jalview.schemes.TCoffeeColourScheme;
+import jalview.util.MessageManager;
public class CutAndPasteTransfer extends Panel implements ActionListener,
MouseListener
public void setPDBImport(Sequence seq)
{
this.seq = seq;
- accept.setLabel("Accept");
+ accept.setLabel(MessageManager.getString("action.accept"));
addSequences.setVisible(false);
pdbImport = true;
}
public void setTreeImport()
{
treeImport = true;
- accept.setLabel("Accept");
+ accept.setLabel(MessageManager.getString("action.accept"));
addSequences.setVisible(false);
}
public void setAnnotationImport()
{
annotationImport = true;
- accept.setLabel("Accept");
+ accept.setLabel(MessageManager.getString("action.accept"));
addSequences.setVisible(false);
}
{
try
{
- jalview.io.NewickFile fin = new jalview.io.NewickFile(textarea
- .getText(), "Paste");
+ jalview.io.NewickFile fin = new jalview.io.NewickFile(
+ textarea.getText(), "Paste");
fin.parse();
if (fin.getTree() != null)
} catch (Exception ex)
{
- textarea.setText("Could not parse Newick file!\n" + ex);
+ // TODO: JAL-1102 - should have a warning message in dialog, not simply
+ // overwrite the broken input data with the exception
+ textarea.setText(MessageManager.formatMessage("label.could_not_parse_newick_file", new String[]{ex.getMessage()}));
return;
}
}
else if (annotationImport)
{
- if (new AnnotationFile().readAnnotationFile(
- alignFrame.viewport.alignment, textarea.getText(),
- jalview.io.AppletFormatAdapter.PASTE))
+ TCoffeeScoreFile tcf = null;
+ try
{
- alignFrame.alignPanel.fontChanged();
- alignFrame.alignPanel.setScrollValues(0, 0);
-
+ tcf = new TCoffeeScoreFile(textarea.getText(),
+ jalview.io.AppletFormatAdapter.PASTE);
+ if (tcf.isValid())
+ {
+ if (tcf.annotateAlignment(alignFrame.viewport.getAlignment(),
+ true))
+ {
+ alignFrame.tcoffeeColour.setEnabled(true);
+ alignFrame.alignPanel.fontChanged();
+ alignFrame.changeColour(new TCoffeeColourScheme(
+ alignFrame.viewport.getAlignment()));
+ alignFrame.statusBar
+ .setText(MessageManager.getString("label.successfully_pasted_tcoffee_scores_to_alignment"));
+ }
+ else
+ {
+ // file valid but didn't get added to alignment for some reason
+ alignFrame.statusBar.setText(MessageManager.formatMessage("label.failed_add_tcoffee_scores", new String[]{(tcf.getWarningMessage() != null ? tcf.getWarningMessage() : "")}));
+ }
+ }
+ else
+ {
+ tcf = null;
+ }
+ } catch (Exception x)
+ {
+ tcf = null;
}
- else
+ if (tcf == null)
{
- alignFrame.parseFeaturesFile(textarea.getText(),
- jalview.io.AppletFormatAdapter.PASTE);
+ if (new AnnotationFile().readAnnotationFile(
+ alignFrame.viewport.getAlignment(), textarea.getText(),
+ jalview.io.AppletFormatAdapter.PASTE))
+ {
+ alignFrame.alignPanel.fontChanged();
+ alignFrame.alignPanel.setScrollValues(0, 0);
+ alignFrame.statusBar
+ .setText(MessageManager.getString("label.successfully_pasted_annotation_to_alignment"));
+
+ }
+ else
+ {
+ if (!alignFrame.parseFeaturesFile(textarea.getText(),
+ jalview.io.AppletFormatAdapter.PASTE))
+ {
+ alignFrame.statusBar
+ .setText(MessageManager.getString("label.couldnt_parse_pasted_text_as_valid_annotation_feature_GFF_tcoffee_file"));
+ }
+ }
}
}
else if (alignFrame != null)
{
AlignFrame af = new AlignFrame(al, alignFrame.viewport.applet,
"Cut & Paste input - " + format, false);
- af.statusBar.setText("Successfully pasted alignment file");
+ af.statusBar.setText(MessageManager.getString("label.successfully_pasted_annotation_to_alignment"));
}
else
{
alignFrame.addSequences(al.getSequencesArray());
+ alignFrame.statusBar
+ .setText(MessageManager.getString("label.successfully_pasted_alignment_file"));
}
}
}
-
+ // TODO: dialog should indicate if data was parsed correctly or not - see
+ // JAL-1102
if (this.getParent() instanceof Frame)
{
((Frame) this.getParent()).setVisible(false);
private void jbInit() throws Exception
{
textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 10));
- textarea.setText("Paste your alignment file here");
+ textarea.setText(MessageManager.getString("label.paste_your_alignment_file"));
textarea.addMouseListener(this);
this.setLayout(borderLayout1);
accept.addActionListener(this);
public void mousePressed(MouseEvent evt)
{
- if (textarea.getText().startsWith("Paste your"))
+ if (textarea.getText().startsWith(MessageManager.getString("label.paste_your")))
{
textarea.setText("");
}