toggle of inclusion/exclusion of views for colouring was't working
[jalview.git] / src / jalview / gui / AppJmol.java
index 48c5143..f71cd30 100644 (file)
@@ -153,6 +153,15 @@ public class AppJmol extends GStructureViewer implements Runnable,
   {
     seqColour.setSelected(jmb.isColourBySequence());
     jmolColour.setSelected(!jmb.isColourBySequence());
+    if (_colourwith==null)
+    {
+      _colourwith=new Vector<AlignmentPanel>();
+    }
+    if (_alignwith==null)
+    {
+      _alignwith=new Vector<AlignmentPanel>();
+    }
+    
     seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,
             new ItemListener()
             {
@@ -351,13 +360,13 @@ public class AppJmol extends GStructureViewer implements Runnable,
   /**
    * list of alignment panels to use for superposition
    */
-  ArrayList<AlignmentPanel> _alignwith = new ArrayList();
+  Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
 
   /**
    * list of alignment panels that are used for colouring structures by aligned
    * sequences
    */
-  ArrayList<AlignmentPanel> _colourwith = new ArrayList();
+  Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
 
   /**
    * set the primary alignmentPanel reference and add another alignPanel to the
@@ -924,13 +933,13 @@ public class AppJmol extends GStructureViewer implements Runnable,
     jmb.setColourBySequence(seqColour.isSelected());
     if (_colourwith == null)
     {
-      _colourwith = new ArrayList<AlignmentPanel>();
+      _colourwith = new Vector<AlignmentPanel>();
     }
     if (jmb.isColourBySequence())
     {
       if (!jmb.isLoadingFromArchive())
       {
-        if (ap!=null) {
+        if (_colourwith.size()==0 && ap!=null) {
           // Make the currently displayed alignment panel the associated view
           _colourwith.add(ap.alignFrame.alignPanel);
         }
@@ -1143,7 +1152,7 @@ public class AppJmol extends GStructureViewer implements Runnable,
   {
     if (_alignwith == null)
     {
-      _alignwith = new ArrayList<AlignmentPanel>();
+      _alignwith = new Vector<AlignmentPanel>();
     }
     if (_alignwith.size() == 0 && ap != null)
     {