JAL-4307 also report molecule name in tooltip for show/hide HETATM feature/JAL-4307_hetatm_showhide
authorJames Procter <j.procter@dundee.ac.uk>
Fri, 20 Oct 2023 13:17:18 +0000 (14:17 +0100)
committerJames Procter <j.procter@dundee.ac.uk>
Fri, 20 Oct 2023 13:17:18 +0000 (14:17 +0100)
src/jalview/ext/jmol/JalviewJmolBinding.java
src/jalview/gui/StructureViewerBase.java
src/jalview/structures/models/AAStructureBindingModel.java

index 5b931e1..9d49a93 100644 (file)
@@ -192,7 +192,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
   //
   
   @Override
-  public List<String> getHetatmNames()
+  public Map<String,String> getHetatmNames()
   {
     HashMap<String,String> hetlist=new HashMap();
     for (int mc=0;mc<jmolViewer.ms.mc; mc++)
@@ -203,7 +203,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel
         hetlist.putAll(hets);
       }
     }
-    return Arrays.asList(hetlist.keySet().toArray(new String[0]));
+    return hetlist;
   }
   //
   ////////////////////////////
index 09d2dcb..085be71 100644 (file)
@@ -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;
 
@@ -606,7 +607,7 @@ public abstract class StructureViewerBase extends GStructureViewer
       chainMenu.add(menuItem);
     }
   }
-  void setHetatmMenuItems(List<String> hetatmNames)
+  void setHetatmMenuItems(Map<String,String> hetatmNames)
   {
     hetatmMenu.removeAll();
     if (hetatmNames == null || hetatmNames.isEmpty())
@@ -660,9 +661,10 @@ public abstract class StructureViewerBase extends GStructureViewer
     hetatmMenu.add(noneMenuItem);
     hetatmMenu.add(allMenuItem);
 
-    for (String chain : hetatmNames)
+    for (Map.Entry<String, String> 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
index 55955a8..9c8afdf 100644 (file)
@@ -2008,8 +2008,12 @@ public abstract class AAStructureBindingModel
     return 0;
   }
 
-  public List<String> getHetatmNames() {
-    return Collections.EMPTY_LIST;
+  /**
+   * list the ligands available for display/hiding in the current view
+   * @return HETATM CODE:Molecule name
+   */
+  public Map<String, String> getHetatmNames() {
+    return Collections.EMPTY_MAP;
   }
   /**
    * Generates and executes a command to show the given hetatm types as CPK