X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBViewer.java;h=721b6a714820ae55ef2c297a83237d03f4792138;hb=92bd4313e2f23a65df1eb965e836d178c1eacdd1;hp=f9c7602cef45fdffb92cb832323cdd9a22125e3d;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index f9c7602..721b6a7 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -24,8 +24,10 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.gui.AlignmentPanel; import jalview.gui.Desktop; +import jalview.gui.JvOptionPane; import jalview.gui.OOMWarning; import jalview.gui.UserDefinedColours; +import jalview.io.DataSourceType; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.schemes.BuriedColourScheme; @@ -39,6 +41,7 @@ import jalview.schemes.ZappoColourScheme; import jalview.util.MessageManager; import jalview.ws.ebi.EBIFetchClient; +import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; @@ -52,6 +55,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.PrintWriter; +import java.util.Map; import javax.swing.ButtonGroup; import javax.swing.JCheckBoxMenuItem; @@ -60,9 +64,7 @@ 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 { @@ -80,12 +82,12 @@ public class PDBViewer extends JInternalFrame implements Runnable AlignmentPanel ap; - String protocol; + DataSourceType protocol; String tmpPDBFile; public PDBViewer(PDBEntry pdbentry, SequenceI[] seq, String[] chains, - AlignmentPanel ap, String protocol) + AlignmentPanel ap, DataSourceType protocol) { this.pdbentry = pdbentry; this.seq = seq; @@ -114,7 +116,7 @@ public class PDBViewer extends JInternalFrame implements Runnable { tmpPDBFile = pdbentry.getFile(); PDBfile pdbfile = new PDBfile(false, false, false, tmpPDBFile, - jalview.io.AppletFormatAdapter.FILE); + DataSourceType.FILE); pdbcanvas.init(pdbentry, seq, chains, ap, protocol); @@ -129,29 +131,29 @@ public class PDBViewer extends JInternalFrame implements Runnable worker.start(); } - if (pdbentry.getProperty() != null) + String method = (String) pdbentry.getProperty("method"); + if (method != null) { - if (pdbentry.getProperty().get("method") != null) - { - title.append(" Method: "); - title.append(pdbentry.getProperty().get("method")); - } - if (pdbentry.getProperty().get("chains") != null) - { - title.append(" Chain:"); - title.append(pdbentry.getProperty().get("chains")); - } + title.append(" Method: "); + title.append(method); + } + String ch = (String) pdbentry.getProperty("chains"); + if (ch != null) + { + title.append(" Chain:"); + title.append(ch); } Desktop.addInternalFrame(this, title.toString(), 400, 400); } + @Override public void run() { try { EBIFetchClient ebi = new EBIFetchClient(); String query = "pdb:" + pdbentry.getId(); - pdbentry.setFile(ebi.fetchDataAsFile(query, "default", "raw") + pdbentry.setFile(ebi.fetchDataAsFile(query, "default", "xml") .getAbsolutePath()); if (pdbentry.getFile() != null) @@ -169,6 +171,7 @@ public class PDBViewer extends JInternalFrame implements Runnable { this.addKeyListener(new KeyAdapter() { + @Override public void keyPressed(KeyEvent evt) { pdbcanvas.keyPressed(evt); @@ -183,6 +186,7 @@ public class PDBViewer extends JInternalFrame implements Runnable png.setText("PNG"); png.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { png_actionPerformed(e); @@ -191,6 +195,7 @@ public class PDBViewer extends JInternalFrame implements Runnable eps.setText("EPS"); eps.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { eps_actionPerformed(e); @@ -199,6 +204,7 @@ public class PDBViewer extends JInternalFrame implements Runnable mapping.setText(MessageManager.getString("label.view_mapping")); mapping.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { mapping_actionPerformed(e); @@ -207,6 +213,7 @@ public class PDBViewer extends JInternalFrame implements Runnable wire.setText(MessageManager.getString("label.wireframe")); wire.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { wire_actionPerformed(e); @@ -216,6 +223,7 @@ public class PDBViewer extends JInternalFrame implements Runnable depth.setText(MessageManager.getString("label.depthcue")); depth.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { depth_actionPerformed(e); @@ -225,6 +233,7 @@ public class PDBViewer extends JInternalFrame implements Runnable zbuffer.setText(MessageManager.getString("label.z_buffering")); zbuffer.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { zbuffer_actionPerformed(e); @@ -233,6 +242,7 @@ public class PDBViewer extends JInternalFrame implements Runnable charge.setText(MessageManager.getString("label.charge_cysteine")); charge.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { charge_actionPerformed(e); @@ -241,6 +251,7 @@ public class PDBViewer extends JInternalFrame implements Runnable chain.setText(MessageManager.getString("action.by_chain")); chain.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { chain_actionPerformed(e); @@ -250,6 +261,7 @@ public class PDBViewer extends JInternalFrame implements Runnable seqButton.setText(MessageManager.getString("action.by_sequence")); seqButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { seqButton_actionPerformed(e); @@ -259,62 +271,75 @@ public class PDBViewer extends JInternalFrame implements Runnable allchains.setText(MessageManager.getString("label.show_all_chains")); allchains.addItemListener(new ItemListener() { + @Override public void itemStateChanged(ItemEvent e) { allchains_itemStateChanged(e); } }); - zappo.setText(MessageManager.getString("label.zappo")); + zappo.setText(MessageManager.getString("label.colourScheme_zappo")); zappo.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { zappo_actionPerformed(e); } }); - taylor.setText(MessageManager.getString("label.taylor")); + taylor.setText(MessageManager.getString("label.colourScheme_taylor")); taylor.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { taylor_actionPerformed(e); } }); - hydro.setText(MessageManager.getString("label.hydrophobicity")); + hydro.setText(MessageManager + .getString("label.colourScheme_hydrophobic")); hydro.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { hydro_actionPerformed(e); } }); - helix.setText(MessageManager.getString("label.helix_propensity")); + helix.setText(MessageManager + .getString("label.colourScheme_helix_propensity")); helix.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { helix_actionPerformed(e); } }); - strand.setText(MessageManager.getString("label.strand_propensity")); + strand.setText(MessageManager + .getString("label.colourScheme_strand_propensity")); strand.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { strand_actionPerformed(e); } }); - turn.setText(MessageManager.getString("label.turn_propensity")); + turn.setText(MessageManager + .getString("label.colourScheme_turn_propensity")); turn.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { turn_actionPerformed(e); } }); - buried.setText(MessageManager.getString("label.buried_index")); + buried.setText(MessageManager + .getString("label.colourScheme_buried_index")); buried.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { buried_actionPerformed(e); @@ -323,16 +348,18 @@ public class PDBViewer extends JInternalFrame implements Runnable user.setText(MessageManager.getString("action.user_defined")); user.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { user_actionPerformed(e); } }); viewMenu.setText(MessageManager.getString("action.view")); - background.setText(MessageManager.getString("label.background_colour") - + "..."); + background + .setText(MessageManager.getString("action.background_colour")); background.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { background_actionPerformed(e); @@ -341,6 +368,7 @@ public class PDBViewer extends JInternalFrame implements Runnable savePDB.setText(MessageManager.getString("label.pdb_file")); savePDB.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { savePDB_actionPerformed(e); @@ -379,53 +407,70 @@ public class PDBViewer extends JInternalFrame implements Runnable bg.add(buried); bg.add(user); - if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null) + Map userColourSchemes = UserDefinedColours + .getUserColourSchemes(); + if (userColourSchemes != null) { - java.util.Enumeration userColours = jalview.gui.UserDefinedColours - .getUserColourSchemes().keys(); - - while (userColours.hasMoreElements()) + for (String userColour : userColourSchemes.keySet()) { final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( - userColours.nextElement().toString()); + userColour); radioItem.setName("USER_DEFINED"); radioItem.addMouseListener(new MouseAdapter() { + @Override public void mousePressed(MouseEvent evt) { - if (evt.isControlDown() - || SwingUtilities.isRightMouseButton(evt)) + if (evt.isPopupTrigger()) // Mac { - radioItem.removeActionListener(radioItem.getActionListeners()[0]); - - int option = JOptionPane.showInternalConfirmDialog( - jalview.gui.Desktop.desktop, - MessageManager - .getString("label.remove_from_default_list"), - MessageManager - .getString("label.remove_user_defined_colour"), - JOptionPane.YES_NO_OPTION); - if (option == JOptionPane.YES_OPTION) - { - jalview.gui.UserDefinedColours - .removeColourFromDefaults(radioItem.getText()); - coloursMenu.remove(radioItem); - } - else + offerRemoval(radioItem); + } + } + + @Override + public void mouseReleased(MouseEvent evt) + { + if (evt.isPopupTrigger()) // Windows + { + offerRemoval(radioItem); + } + } + + /** + * @param radioItem + */ + void offerRemoval(final JRadioButtonMenuItem radioItem) + { + radioItem.removeActionListener(radioItem.getActionListeners()[0]); + + int option = JvOptionPane.showInternalConfirmDialog( + jalview.gui.Desktop.desktop, MessageManager + .getString("label.remove_from_default_list"), + MessageManager + .getString("label.remove_user_defined_colour"), + JvOptionPane.YES_NO_OPTION); + if (option == JvOptionPane.YES_OPTION) + { + jalview.gui.UserDefinedColours + .removeColourFromDefaults(radioItem.getText()); + coloursMenu.remove(radioItem); + } + else + { + radioItem.addActionListener(new ActionListener() { - radioItem.addActionListener(new ActionListener() + @Override + public void actionPerformed(ActionEvent evt) { - public void actionPerformed(ActionEvent evt) - { - user_actionPerformed(evt); - } - }); - } + user_actionPerformed(evt); + } + }); } } }); radioItem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent evt) { user_actionPerformed(evt); @@ -524,22 +569,21 @@ public class PDBViewer extends JInternalFrame implements Runnable if (type == jalview.util.ImageMaker.TYPE.PNG) { im = new jalview.util.ImageMaker(this, - jalview.util.ImageMaker.TYPE.PNG, - "Make PNG image from view", width, height, null, null); + jalview.util.ImageMaker.TYPE.PNG, "Make PNG image from view", + width, height, null, null, null, 0, false); } 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()); + jalview.util.ImageMaker.TYPE.EPS, "Make EPS file from view", + width, height, null, this.getTitle(), null, 0, false); } else { im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.TYPE.SVG, "Make SVG file from PCA", - width, height, null, this.getTitle()); + width, height, null, this.getTitle(), null, 0, false); } if (im.getGraphics() != null) @@ -685,7 +729,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } else { - UserColourScheme udc = (UserColourScheme) UserDefinedColours + UserColourScheme udc = UserDefinedColours .getUserColourSchemes().get(e.getActionCommand()); pdbcanvas.pdb.setColours(udc); @@ -696,8 +740,8 @@ public class PDBViewer extends JInternalFrame implements Runnable public void background_actionPerformed(ActionEvent e) { - java.awt.Color col = JColorChooser.showDialog(this, - MessageManager.getString("label.select_backgroud_colour"), + Color col = JColorChooser.showDialog(this, + MessageManager.getString("label.select_background_colour"), pdbcanvas.backgroundColour); if (col != null)