JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / src / jalview / gui / SliderPanel.java
index 46b47a2..31ad083 100755 (executable)
@@ -26,7 +26,6 @@ import jalview.jbgui.GSliderPanel;
 import jalview.renderer.ResidueShaderI;
 import jalview.util.MessageManager;
 
-import java.awt.event.ActionEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.beans.PropertyVetoException;
@@ -45,14 +44,11 @@ import javax.swing.event.InternalFrameEvent;
  * @author $author$
  * @version $Revision$
  */
+@SuppressWarnings("serial")
 public class SliderPanel extends GSliderPanel
 {
   private static final String BACKGROUND = "Background";
 
-  static JInternalFrame conservationSlider;
-
-  static JInternalFrame PIDSlider;
-
   AlignmentPanel ap;
 
   boolean forConservation = true;
@@ -66,6 +62,12 @@ public class SliderPanel extends GSliderPanel
    */
   public static SliderPanel getSliderPanel()
   {
+
+    JInternalFrame conservationSlider = Desktop
+            .getInstance().conservationSlider;
+
+    JInternalFrame PIDSlider = Desktop.getInstance().PIDSlider;
+
     if (conservationSlider != null && conservationSlider.isVisible())
     {
       return (SliderPanel) conservationSlider.getContentPane();
@@ -153,10 +155,14 @@ public class SliderPanel extends GSliderPanel
   {
     SliderPanel sliderPanel = null;
 
+    JInternalFrame conservationSlider = Desktop
+            .getInstance().conservationSlider;
+
     if (conservationSlider == null)
     {
       sliderPanel = new SliderPanel(ap, rs.getConservationInc(), true, rs);
-      conservationSlider = new JInternalFrame();
+      conservationSlider = Desktop
+              .getInstance().conservationSlider = new JInternalFrame();
       conservationSlider.setContentPane(sliderPanel);
       conservationSlider.setLayer(JLayeredPane.PALETTE_LAYER);
     }
@@ -192,12 +198,14 @@ public class SliderPanel extends GSliderPanel
    */
   public static void hidePIDSlider()
   {
+    JInternalFrame PIDSlider = Desktop.getInstance().PIDSlider;
+
     if (PIDSlider != null)
     {
       try
       {
         PIDSlider.setClosed(true);
-        PIDSlider = null;
+        Desktop.getInstance().PIDSlider = null;
       } catch (PropertyVetoException ex)
       {
       }
@@ -209,12 +217,15 @@ public class SliderPanel extends GSliderPanel
    */
   public static void hideConservationSlider()
   {
+    JInternalFrame conservationSlider = Desktop
+            .getInstance().conservationSlider;
+
     if (conservationSlider != null)
     {
       try
       {
         conservationSlider.setClosed(true);
-        conservationSlider = null;
+        Desktop.getInstance().conservationSlider = null;
       } catch (PropertyVetoException ex)
       {
       }
@@ -228,6 +239,9 @@ public class SliderPanel extends GSliderPanel
   {
     hidePIDSlider();
 
+    JInternalFrame conservationSlider = Desktop
+            .getInstance().conservationSlider;
+
     if (!conservationSlider.isVisible())
     {
       Desktop.addInternalFrame(conservationSlider,
@@ -238,7 +252,7 @@ public class SliderPanel extends GSliderPanel
         @Override
         public void internalFrameClosed(InternalFrameEvent e)
         {
-          conservationSlider = null;
+          Desktop.getInstance().conservationSlider = null;
         }
       });
       conservationSlider.setLayer(JLayeredPane.PALETTE_LAYER);
@@ -264,10 +278,12 @@ public class SliderPanel extends GSliderPanel
 
     SliderPanel sliderPanel = null;
 
+    JInternalFrame PIDSlider = Desktop.getInstance().PIDSlider;
+
     if (PIDSlider == null)
     {
       sliderPanel = new SliderPanel(ap, threshold, false, rs);
-      PIDSlider = new JInternalFrame();
+      PIDSlider = Desktop.getInstance().PIDSlider = new JInternalFrame();
       PIDSlider.setContentPane(sliderPanel);
       PIDSlider.setLayer(JLayeredPane.PALETTE_LAYER);
     }
@@ -305,6 +321,8 @@ public class SliderPanel extends GSliderPanel
   {
     hideConservationSlider();
 
+    JInternalFrame PIDSlider = Desktop.getInstance().PIDSlider;
+
     if (!PIDSlider.isVisible())
     {
       Desktop.addInternalFrame(PIDSlider, PIDSlider.getTitle(), true,
@@ -315,7 +333,7 @@ public class SliderPanel extends GSliderPanel
         @Override
         public void internalFrameClosed(InternalFrameEvent e)
         {
-          PIDSlider = null;
+          Desktop.getInstance().PIDSlider = null;
         }
       });
       PIDSlider.setLayer(JLayeredPane.PALETTE_LAYER);
@@ -451,7 +469,7 @@ public class SliderPanel extends GSliderPanel
 
   public static int getConservationValue()
   {
-    return getValue(conservationSlider);
+    return getValue(Desktop.getInstance().conservationSlider);
   }
 
   static int getValue(JInternalFrame slider)
@@ -462,7 +480,7 @@ public class SliderPanel extends GSliderPanel
 
   public static int getPIDValue()
   {
-    return getValue(PIDSlider);
+    return getValue(Desktop.getInstance().PIDSlider);
   }
 
   /**
@@ -485,6 +503,10 @@ public class SliderPanel extends GSliderPanel
   public String getTitle()
   {
     String title = null;
+    JInternalFrame conservationSlider = Desktop
+            .getInstance().conservationSlider;
+    JInternalFrame PIDSlider = Desktop.getInstance().PIDSlider;
+
     if (isForConservation())
     {
       if (conservationSlider != null)