JAL-2371 CollectionColourScheme wraps ColourSchemeI
[jalview.git] / src / jalview / gui / AlignFrame.java
index 3c0569e..2405bbd 100644 (file)
@@ -3354,21 +3354,29 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     {
       ColourMenuHelper.setColourSelected(colourMenu, cs.getSchemeName());
       // Make sure viewport is up to date w.r.t. any sliders
-      if (viewport.getAbovePIDThreshold())
-      {
-        int threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,
-                "Background");
-        viewport.setThreshold(threshold);
-      }
-
-      if (viewport.getConservationSelected())
-      {
-        cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
-                cs, "Background"));
-      }
+      // ? not needed as handled by SliderPanel.valueChanged?
+//       if (viewport.getAbovePIDThreshold())
+//       {
+      // int threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,
+//       "Background");
+       //todo is threshold held in viewport style or in colour scheme?
+//       viewport.setThreshold(threshold);
+      // }
+      //
+      // if (viewport.getConservationSelected())
+      // {
+      // cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
+      // cs, "Background"));
+      // }
     }
 
     viewport.setGlobalColourScheme(cs);
+    if (viewport.getConservationSelected())
+    {
+      int conservationInc = SliderPanel.getConservationValue();
+      viewport.getViewportColourScheme()
+              .setConservationInc(conservationInc);
+    }
 
     alignPanel.paintAlignment(true);
   }
@@ -3382,11 +3390,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   @Override
   protected void modifyPID_actionPerformed()
   {
-    if (viewport.getAbovePIDThreshold()
-            && viewport.getGlobalColourScheme() != null)
+    if (viewport.getAbovePIDThreshold())
     {
       SliderPanel.setPIDSliderSource(alignPanel,
-              viewport.getGlobalColourScheme(), "Background");
+              viewport.getViewportColourScheme(), "Background");
       SliderPanel.showPIDSlider();
     }
   }
@@ -3404,7 +3411,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
             && viewport.getGlobalColourScheme() != null)
     {
       SliderPanel.setConservationSlider(alignPanel,
-              viewport.getGlobalColourScheme(), "Background");
+              viewport.getViewportColourScheme(), "Background");
       SliderPanel.showConservationSlider();
     }
   }
@@ -5699,17 +5706,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     colourMenu.add(modifyPID);
     colourMenu.add(annotationColour);
 
-    /*
-     * select the default colour for the alignment (this may be
-     * overridden later)
-     */
-    boolean nucleotide = viewport.getAlignment().isNucleotide();
-    String defaultColourScheme = Cache.getDefault(
-            nucleotide ? Preferences.DEFAULT_COLOUR_NUC
-                    : Preferences.DEFAULT_COLOUR_PROT,
-            ResidueColourScheme.NONE);
+    ColourSchemeI colourScheme = viewport.getGlobalColourScheme();
+    String schemeName = colourScheme == null ? null : colourScheme
+            .getSchemeName();
 
-    ColourMenuHelper.setColourSelected(colourMenu, defaultColourScheme);
+    ColourMenuHelper.setColourSelected(colourMenu, schemeName);
   }
 }