JAL-3390 Chimera showStructures() respects visible/chain selections
[jalview.git] / src / jalview / gui / ChimeraViewFrame.java
index 6c35a9c..1a5ed5e 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.gui;
 
+import jalview.api.AlignmentViewPanel;
 import jalview.api.FeatureRenderer;
 import jalview.bin.Cache;
 import jalview.datamodel.AlignmentI;
@@ -49,7 +50,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Random;
 
-import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JInternalFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
@@ -362,19 +362,12 @@ public class ChimeraViewFrame extends StructureViewerBase
   @Override
   void showSelectedChains()
   {
-    List<String> toshow = new ArrayList<>();
-    for (int i = 0; i < chainMenu.getItemCount(); i++)
-    {
-      if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
-      {
-        JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);
-        if (item.isSelected())
-        {
-          toshow.add(item.getText());
-        }
-      }
-    }
-    jmb.showChains(toshow);
+    setSelectedChains();
+
+    /*
+     * refresh display without resizing - easier to see what changed
+     */
+    jmb.showStructures(getAlignmentPanel().getAlignViewport(), false);
   }
 
   /**
@@ -584,9 +577,9 @@ public class ChimeraViewFrame extends StructureViewerBase
       }
 
       // refresh the sequence colours for the new structure(s)
-      for (AlignmentPanel ap : _colourwith)
+      for (AlignmentViewPanel avp : _colourwith)
       {
-        jmb.updateColours(ap);
+        jmb.updateColours(avp);
       }
       // do superposition if asked to
       if (alignAddedStructures)