X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBViewer.java;h=a2248f45f0be0e2674740fe550b623d3a38a920c;hb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;hp=b3aae5130c3836b5158aa0f89a6060c6d3e5c6e6;hpb=28787d9646cca5dd77190930f59b7ff32cf995b4;p=jalview.git diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index b3aae51..a2248f4 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -1,41 +1,69 @@ /* - * 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 + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) + * Copyright (C) 2015 The Jalview Authors * * This file is part of Jalview. * * 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. + * 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 Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package MCview; -import java.io.*; - -import java.awt.event.*; -import javax.swing.*; -import javax.xml.parsers.ParserConfigurationException; - -import org.xml.sax.SAXException; - -import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax; -import fr.orsay.lri.varna.exceptions.ExceptionLoadingFailed; -import fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied; -import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; - -import jalview.datamodel.*; -import jalview.gui.*; -import jalview.io.*; -import jalview.schemes.*; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.gui.AlignmentPanel; +import jalview.gui.Desktop; +import jalview.gui.OOMWarning; +import jalview.gui.UserDefinedColours; +import jalview.io.JalviewFileChooser; +import jalview.io.JalviewFileView; +import jalview.schemes.BuriedColourScheme; +import jalview.schemes.HelixColourScheme; +import jalview.schemes.HydrophobicColourScheme; +import jalview.schemes.StrandColourScheme; +import jalview.schemes.TaylorColourScheme; +import jalview.schemes.TurnColourScheme; +import jalview.schemes.UserColourScheme; +import jalview.schemes.ZappoColourScheme; +import jalview.util.MessageManager; import jalview.ws.ebi.EBIFetchClient; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.PrintWriter; + +import javax.swing.ButtonGroup; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JColorChooser; +import javax.swing.JInternalFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.SwingUtilities; + public class PDBViewer extends JInternalFrame implements Runnable { @@ -57,8 +85,7 @@ public class PDBViewer extends JInternalFrame implements Runnable String tmpPDBFile; public PDBViewer(PDBEntry pdbentry, SequenceI[] seq, String[] chains, - AlignmentPanel ap, String protocol) throws ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses - + AlignmentPanel ap, String protocol) { this.pdbentry = pdbentry; this.seq = seq; @@ -86,7 +113,7 @@ public class PDBViewer extends JInternalFrame implements Runnable try { tmpPDBFile = pdbentry.getFile(); - PDBfile pdbfile = new PDBfile(tmpPDBFile, + PDBfile pdbfile = new PDBfile(false, false, false, tmpPDBFile, jalview.io.AppletFormatAdapter.FILE); pdbcanvas.init(pdbentry, seq, chains, ap, protocol); @@ -128,7 +155,9 @@ public class PDBViewer extends JInternalFrame implements Runnable .getAbsolutePath()); if (pdbentry.getFile() != null) + { pdbcanvas.init(pdbentry, seq, chains, ap, protocol); + } } catch (Exception ex) { pdbcanvas.errorMessage = "Error retrieving file: " + pdbentry.getId(); @@ -147,10 +176,10 @@ public class PDBViewer extends JInternalFrame implements Runnable }); this.setJMenuBar(jMenuBar1); - fileMenu.setText("File"); - coloursMenu.setText("Colours"); - saveMenu.setActionCommand("Save Image"); - saveMenu.setText("Save As"); + fileMenu.setText(MessageManager.getString("action.file")); + coloursMenu.setText(MessageManager.getString("label.colours")); + saveMenu.setActionCommand(MessageManager.getString("action.save_image")); + saveMenu.setText(MessageManager.getString("action.save_as")); png.setText("PNG"); png.addActionListener(new ActionListener() { @@ -167,7 +196,7 @@ public class PDBViewer extends JInternalFrame implements Runnable eps_actionPerformed(e); } }); - mapping.setText("View Mapping"); + mapping.setText(MessageManager.getString("label.view_mapping")); mapping.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -175,7 +204,7 @@ public class PDBViewer extends JInternalFrame implements Runnable mapping_actionPerformed(e); } }); - wire.setText("Wireframe"); + wire.setText(MessageManager.getString("label.wireframe")); wire.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -184,7 +213,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } }); depth.setSelected(true); - depth.setText("Depthcue"); + depth.setText(MessageManager.getString("label.depthcue")); depth.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -193,7 +222,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } }); zbuffer.setSelected(true); - zbuffer.setText("Z Buffering"); + zbuffer.setText(MessageManager.getString("label.z_buffering")); zbuffer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -201,7 +230,7 @@ public class PDBViewer extends JInternalFrame implements Runnable zbuffer_actionPerformed(e); } }); - charge.setText("Charge & Cysteine"); + charge.setText(MessageManager.getString("label.charge_cysteine")); charge.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -209,7 +238,7 @@ public class PDBViewer extends JInternalFrame implements Runnable charge_actionPerformed(e); } }); - chain.setText("By Chain"); + chain.setText(MessageManager.getString("action.by_chain")); chain.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -218,7 +247,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } }); seqButton.setSelected(true); - seqButton.setText("By Sequence"); + seqButton.setText(MessageManager.getString("action.by_sequence")); seqButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -227,7 +256,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } }); allchains.setSelected(true); - allchains.setText("Show All Chains"); + allchains.setText(MessageManager.getString("label.show_all_chains")); allchains.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) @@ -235,7 +264,7 @@ public class PDBViewer extends JInternalFrame implements Runnable allchains_itemStateChanged(e); } }); - zappo.setText("Zappo"); + zappo.setText(MessageManager.getString("label.zappo")); zappo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -243,7 +272,7 @@ public class PDBViewer extends JInternalFrame implements Runnable zappo_actionPerformed(e); } }); - taylor.setText("Taylor"); + taylor.setText(MessageManager.getString("label.taylor")); taylor.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -251,7 +280,7 @@ public class PDBViewer extends JInternalFrame implements Runnable taylor_actionPerformed(e); } }); - hydro.setText("Hydro"); + hydro.setText(MessageManager.getString("label.hydrophobicity")); hydro.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -259,7 +288,7 @@ public class PDBViewer extends JInternalFrame implements Runnable hydro_actionPerformed(e); } }); - helix.setText("Helix"); + helix.setText(MessageManager.getString("label.helix_propensity")); helix.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -267,7 +296,7 @@ public class PDBViewer extends JInternalFrame implements Runnable helix_actionPerformed(e); } }); - strand.setText("Strand"); + strand.setText(MessageManager.getString("label.strand_propensity")); strand.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -275,7 +304,7 @@ public class PDBViewer extends JInternalFrame implements Runnable strand_actionPerformed(e); } }); - turn.setText("Turn"); + turn.setText(MessageManager.getString("label.turn_propensity")); turn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -283,7 +312,7 @@ public class PDBViewer extends JInternalFrame implements Runnable turn_actionPerformed(e); } }); - buried.setText("Buried"); + buried.setText(MessageManager.getString("label.buried_index")); buried.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -291,7 +320,7 @@ public class PDBViewer extends JInternalFrame implements Runnable buried_actionPerformed(e); } }); - user.setText("User Defined..."); + user.setText(MessageManager.getString("action.user_defined")); user.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -299,8 +328,9 @@ public class PDBViewer extends JInternalFrame implements Runnable user_actionPerformed(e); } }); - viewMenu.setText("View"); - background.setText("Background Colour..."); + viewMenu.setText(MessageManager.getString("action.view")); + background + .setText(MessageManager.getString("action.background_colour")); background.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -308,7 +338,7 @@ public class PDBViewer extends JInternalFrame implements Runnable background_actionPerformed(e); } }); - savePDB.setText("PDB File"); + savePDB.setText(MessageManager.getString("label.pdb_file")); savePDB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -370,8 +400,10 @@ public class PDBViewer extends JInternalFrame implements Runnable int option = JOptionPane.showInternalConfirmDialog( jalview.gui.Desktop.desktop, - "Remove from default list?", - "Remove user defined colour", + MessageManager + .getString("label.remove_from_default_list"), + MessageManager + .getString("label.remove_user_defined_colour"), JOptionPane.YES_NO_OPTION); if (option == JOptionPane.YES_OPTION) { @@ -468,7 +500,7 @@ public class PDBViewer extends JInternalFrame implements Runnable */ public void eps_actionPerformed(ActionEvent e) { - makePDBImage(jalview.util.ImageMaker.EPS); + makePDBImage(jalview.util.ImageMaker.TYPE.EPS); } /** @@ -479,26 +511,34 @@ public class PDBViewer extends JInternalFrame implements Runnable */ public void png_actionPerformed(ActionEvent e) { - makePDBImage(jalview.util.ImageMaker.PNG); + makePDBImage(jalview.util.ImageMaker.TYPE.PNG); } - void makePDBImage(int type) + void makePDBImage(jalview.util.ImageMaker.TYPE type) { int width = pdbcanvas.getWidth(); int height = pdbcanvas.getHeight(); jalview.util.ImageMaker im; - if (type == jalview.util.ImageMaker.PNG) + if (type == jalview.util.ImageMaker.TYPE.PNG) { - im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG, - "Make PNG image from view", width, height, null, null); + im = new jalview.util.ImageMaker(this, + jalview.util.ImageMaker.TYPE.PNG, "Make PNG image from view", + width, height, null, null); + } + else if (type == jalview.util.ImageMaker.TYPE.EPS) + { + im = new jalview.util.ImageMaker(this, + jalview.util.ImageMaker.TYPE.EPS, "Make EPS file from view", + width, height, null, this.getTitle()); } else { - im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS, - "Make EPS file from view", width, height, null, - this.getTitle()); + + im = new jalview.util.ImageMaker(this, + jalview.util.ImageMaker.TYPE.SVG, "Make SVG file from PCA", + width, height, null, this.getTitle()); } if (im.getGraphics() != null) @@ -572,7 +612,9 @@ public class PDBViewer extends JInternalFrame implements Runnable try { cap.setText(pdbcanvas.mappingDetails.toString()); - Desktop.addInternalFrame(cap, "PDB - Sequence Mapping", 550, 600); + Desktop.addInternalFrame(cap, + MessageManager.getString("label.pdb_sequence_mapping"), 550, + 600); } catch (OutOfMemoryError oom) { new OOMWarning("Opening sequence to structure mapping report", oom); @@ -635,7 +677,8 @@ public class PDBViewer extends JInternalFrame implements Runnable public void user_actionPerformed(ActionEvent e) { - if (e.getActionCommand().equals("User Defined...")) + if (e.getActionCommand().equals( + MessageManager.getString("action.user_defined"))) { // new UserDefinedColours(pdbcanvas, null); } @@ -653,7 +696,8 @@ public class PDBViewer extends JInternalFrame implements Runnable public void background_actionPerformed(ActionEvent e) { java.awt.Color col = JColorChooser.showDialog(this, - "Select Background Colour", pdbcanvas.backgroundColour); + MessageManager.getString("label.select_backgroud_colour"), + pdbcanvas.backgroundColour); if (col != null) { @@ -669,8 +713,8 @@ public class PDBViewer extends JInternalFrame implements Runnable jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle("Save PDB File"); - chooser.setToolTipText("Save"); + chooser.setDialogTitle(MessageManager.getString("label.save_pdb_file")); + chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this);