X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBViewer.java;h=1c7a6ee77166c1f07f83dc09a1ee75b27cd7e239;hb=ebb1c48911e4c1d3aaff6e98367cd846baa5074b;hp=39bc4ef65d13655322ce9fc6998a0eccc9740f54;hpb=230fac58c5afe1843bf7177834fe1bd1d7e6f9d5;p=jalview.git diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index 39bc4ef..1c7a6ee 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -24,6 +24,7 @@ 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; @@ -40,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; @@ -53,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; @@ -61,7 +64,6 @@ import javax.swing.JInternalFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; -import javax.swing.JOptionPane; import javax.swing.JRadioButtonMenuItem; public class PDBViewer extends JInternalFrame implements Runnable @@ -129,18 +131,17 @@ 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); } @@ -152,7 +153,7 @@ public class PDBViewer extends JInternalFrame implements Runnable { EBIFetchClient ebi = new EBIFetchClient(); String query = "pdb:" + pdbentry.getId(); - pdbentry.setFile(ebi.fetchDataAsFile(query, "default", ".xml") + pdbentry.setFile(ebi.fetchDataAsFile(query, "default", "xml") .getAbsolutePath()); if (pdbentry.getFile() != null) @@ -401,49 +402,64 @@ 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.isPopupTrigger()) + 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) { - @Override - public void actionPerformed(ActionEvent evt) - { - user_actionPerformed(evt); - } - }); - } + user_actionPerformed(evt); + } + }); } } }); @@ -708,7 +724,7 @@ public class PDBViewer extends JInternalFrame implements Runnable } else { - UserColourScheme udc = (UserColourScheme) UserDefinedColours + UserColourScheme udc = UserDefinedColours .getUserColourSchemes().get(e.getActionCommand()); pdbcanvas.pdb.setColours(udc); @@ -719,8 +735,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)