X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureViewerBase.java;h=bd757e8946173d36939a047136014a09a4d197c9;hb=9fef0746bf53cc0faff2bd45f1dbdb82398f4c62;hp=09d2dcb4bdb1581e589226881287bc31e8d3cccc;hpb=39c97de2f7b8ef87b42f121f37d4f158d1651fe9;p=jalview.git diff --git a/src/jalview/gui/StructureViewerBase.java b/src/jalview/gui/StructureViewerBase.java index 09d2dcb..bd757e8 100644 --- a/src/jalview/gui/StructureViewerBase.java +++ b/src/jalview/gui/StructureViewerBase.java @@ -35,6 +35,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Random; import java.util.Vector; @@ -89,8 +90,9 @@ public abstract class StructureViewerBase extends GStructureViewer } /** - * Singleton list of all (open) instances of structureViewerBase - * TODO: JAL-3362 - review and adopt the swingJS-safe singleton pattern so each structure viewer base instance is kept to its own JalviewJS parent + * Singleton list of all (open) instances of structureViewerBase TODO: + * JAL-3362 - review and adopt the swingJS-safe singleton pattern so each + * structure viewer base instance is kept to its own JalviewJS parent */ private static List svbs = new ArrayList<>(); @@ -606,7 +608,8 @@ public abstract class StructureViewerBase extends GStructureViewer chainMenu.add(menuItem); } } - void setHetatmMenuItems(List hetatmNames) + + void setHetatmMenuItems(Map hetatmNames) { hetatmMenu.removeAll(); if (hetatmNames == null || hetatmNames.isEmpty()) @@ -615,7 +618,7 @@ public abstract class StructureViewerBase extends GStructureViewer return; } hetatmMenu.setVisible(true); - allHetatmBeingSelected=false; + allHetatmBeingSelected = false; JMenuItem allMenuItem = new JMenuItem( MessageManager.getString("label.all")); JMenuItem noneMenuItem = new JMenuItem( @@ -623,53 +626,60 @@ public abstract class StructureViewerBase extends GStructureViewer allMenuItem.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent e) { - allHetatmBeingSelected=true; - // Toggle state of everything - on - for (int i = 0; i < hetatmMenu.getItemCount(); i++) { - if (hetatmMenu.getItem(i) instanceof JCheckBoxMenuItem) + allHetatmBeingSelected = true; + // Toggle state of everything - on + for (int i = 0; i < hetatmMenu.getItemCount(); i++) { - ((JCheckBoxMenuItem) hetatmMenu.getItem(i)).setSelected(true); + if (hetatmMenu.getItem(i) instanceof JCheckBoxMenuItem) + { + ((JCheckBoxMenuItem) hetatmMenu.getItem(i)).setSelected(true); + } } + allHetatmBeingSelected = false; + showSelectedHetatms(); } - allHetatmBeingSelected=false; - showSelectedHetatms(); } - }}); + }); noneMenuItem.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent e) { - allHetatmBeingSelected=true; - // Toggle state of everything off - for (int i = 0; i < hetatmMenu.getItemCount(); i++) { - if (hetatmMenu.getItem(i) instanceof JCheckBoxMenuItem) + allHetatmBeingSelected = true; + // Toggle state of everything off + for (int i = 0; i < hetatmMenu.getItemCount(); i++) { - ((JCheckBoxMenuItem) hetatmMenu.getItem(i)).setSelected(false); + if (hetatmMenu.getItem(i) instanceof JCheckBoxMenuItem) + { + ((JCheckBoxMenuItem) hetatmMenu.getItem(i)) + .setSelected(false); + } } + allHetatmBeingSelected = false; + showSelectedHetatms(); } - allHetatmBeingSelected=false; - showSelectedHetatms(); } - }}); + }); hetatmMenu.add(noneMenuItem); hetatmMenu.add(allMenuItem); - for (String chain : hetatmNames) + for (Map.Entry chain : hetatmNames.entrySet()) { - JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(chain, false); + JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(chain.getKey(), + false); + menuItem.setToolTipText(chain.getValue()); menuItem.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent evt) { if (!allHetatmBeingSelected) - { + { // update viewer only when we were clicked, not programmatically // checked/unchecked showSelectedHetatms(); @@ -1235,6 +1245,7 @@ public abstract class StructureViewerBase extends GStructureViewer } getBinding().showChains(toshow); } + /** * Display selected hetatms in viewer */ @@ -1254,6 +1265,7 @@ public abstract class StructureViewerBase extends GStructureViewer } getBinding().showHetatms(toshow); } + /** * Tries to fetch a PDB file and save to a temporary local file. Returns the * saved file path if successful, or null if not. @@ -1457,12 +1469,15 @@ public abstract class StructureViewerBase extends GStructureViewer // TODO: check for memory leaks where instance isn't finalised because jmb // holds a reference to the window // jmb = null; - - try { + + try + { svbs.remove(this); } catch (Throwable t) { - Console.info("Unexpected exception when deregistering structure viewer",t); + Console.info( + "Unexpected exception when deregistering structure viewer", + t); } dispose(); }