JAL-3253 miscellaneous tidying up before merge to JS-develop
[jalview.git] / src / jalview / gui / SliderPanel.java
index e6ec822..940bab2 100755 (executable)
@@ -44,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;
@@ -65,6 +62,11 @@ public class SliderPanel extends GSliderPanel
    */
   public static SliderPanel getSliderPanel()
   {
+
+    JInternalFrame conservationSlider = getConservationSlider();
+
+    JInternalFrame PIDSlider = getPIDSlider();
+
     if (conservationSlider != null && conservationSlider.isVisible())
     {
       return (SliderPanel) conservationSlider.getContentPane();
@@ -117,7 +119,7 @@ public class SliderPanel extends GSliderPanel
       @Override
       public void stateChanged(ChangeEvent evt)
       {
-        valueField.setText(slider.getValue() + "");
+        valueField.setText(String.valueOf(slider.getValue()));
         valueChanged(slider.getValue());
       }
     });
@@ -127,12 +129,12 @@ public class SliderPanel extends GSliderPanel
       @Override
       public void mouseReleased(MouseEvent evt)
       {
-        ap.paintAlignment(true);
+        ap.paintAlignment(true, true);
       }
     });
 
     slider.setValue(value);
-    valueField.setText(value + "");
+    valueField.setText(String.valueOf(value));
   }
 
   /**
@@ -152,10 +154,13 @@ public class SliderPanel extends GSliderPanel
   {
     SliderPanel sliderPanel = null;
 
+    JInternalFrame conservationSlider = getConservationSlider();
+
     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);
     }
@@ -191,12 +196,14 @@ public class SliderPanel extends GSliderPanel
    */
   public static void hidePIDSlider()
   {
+    JInternalFrame PIDSlider = getPIDSlider();
+
     if (PIDSlider != null)
     {
       try
       {
         PIDSlider.setClosed(true);
-        PIDSlider = null;
+        Desktop.getInstance().PIDSlider = null;
       } catch (PropertyVetoException ex)
       {
       }
@@ -208,12 +215,14 @@ public class SliderPanel extends GSliderPanel
    */
   public static void hideConservationSlider()
   {
+    JInternalFrame conservationSlider = getConservationSlider();
+
     if (conservationSlider != null)
     {
       try
       {
         conservationSlider.setClosed(true);
-        conservationSlider = null;
+        Desktop.getInstance().conservationSlider = null;
       } catch (PropertyVetoException ex)
       {
       }
@@ -227,16 +236,19 @@ public class SliderPanel extends GSliderPanel
   {
     hidePIDSlider();
 
+    JInternalFrame conservationSlider = getConservationSlider();
+
     if (!conservationSlider.isVisible())
     {
       Desktop.addInternalFrame(conservationSlider,
-              conservationSlider.getTitle(), 420, 90, false);
+              conservationSlider.getTitle(), true, FRAME_WIDTH,
+              FRAME_HEIGHT, false, true);
       conservationSlider.addInternalFrameListener(new InternalFrameAdapter()
       {
         @Override
         public void internalFrameClosed(InternalFrameEvent e)
         {
-          conservationSlider = null;
+          Desktop.getInstance().conservationSlider = null;
         }
       });
       conservationSlider.setLayer(JLayeredPane.PALETTE_LAYER);
@@ -262,10 +274,12 @@ public class SliderPanel extends GSliderPanel
 
     SliderPanel sliderPanel = null;
 
+    JInternalFrame PIDSlider = getPIDSlider();
+
     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);
     }
@@ -303,17 +317,19 @@ public class SliderPanel extends GSliderPanel
   {
     hideConservationSlider();
 
+    JInternalFrame PIDSlider = getPIDSlider();
+
     if (!PIDSlider.isVisible())
     {
-      Desktop.addInternalFrame(PIDSlider, PIDSlider.getTitle(), 420, 90,
-              false);
+      Desktop.addInternalFrame(PIDSlider, PIDSlider.getTitle(), true,
+              FRAME_WIDTH, FRAME_HEIGHT, false, true);
       PIDSlider.setLayer(JLayeredPane.PALETTE_LAYER);
       PIDSlider.addInternalFrameListener(new InternalFrameAdapter()
       {
         @Override
         public void internalFrameClosed(InternalFrameEvent e)
         {
-          PIDSlider = null;
+          Desktop.getInstance().PIDSlider = null;
         }
       });
       PIDSlider.setLayer(JLayeredPane.PALETTE_LAYER);
@@ -396,7 +412,6 @@ public class SliderPanel extends GSliderPanel
   public void setAllGroupsCheckEnabled(boolean b)
   {
     allGroupsCheck.setEnabled(b);
-    allGroupsCheck.setSelected(ap.av.getColourAppliesToAllGroups());
   }
 
   /**
@@ -448,22 +463,6 @@ public class SliderPanel extends GSliderPanel
     }
   }
 
-  public static int getConservationValue()
-  {
-    return getValue(conservationSlider);
-  }
-
-  static int getValue(JInternalFrame slider)
-  {
-    return slider == null ? 0
-            : ((SliderPanel) slider.getContentPane()).getValue();
-  }
-
-  public static int getPIDValue()
-  {
-    return getValue(PIDSlider);
-  }
-
   /**
    * Answers true if the SliderPanel is for Conservation, false if it is for PID
    * threshold
@@ -484,6 +483,9 @@ public class SliderPanel extends GSliderPanel
   public String getTitle()
   {
     String title = null;
+    JInternalFrame conservationSlider = getConservationSlider();
+    JInternalFrame PIDSlider = getPIDSlider();
+
     if (isForConservation())
     {
       if (conservationSlider != null)
@@ -497,4 +499,63 @@ public class SliderPanel extends GSliderPanel
     }
     return title;
   }
+
+  /**
+   * Returns the singleton instance of the Conservation slider within current
+   * application scope, or null if there is none
+   * 
+   * @return
+   */
+  private static JInternalFrame getConservationSlider()
+  {
+    return Desktop.getInstance().conservationSlider;
+  }
+
+  /**
+   * Returns the singleton instance of the PID slider within current application
+   * scope, or null if there is none
+   * 
+   * @return
+   */
+  private static JInternalFrame getPIDSlider()
+  {
+    return Desktop.getInstance().PIDSlider;
+  }
+
+  /**
+   * Returns the current value of the Conservation slider, or zero if there is
+   * no such slider
+   * 
+   * @param slider
+   * @return
+   */
+  public static int getConservationValue()
+  {
+    return getValue(getConservationSlider());
+  }
+
+  /**
+   * Returns the current value of the PID slider, or zero if there is no such
+   * slider
+   * 
+   * @param slider
+   * @return
+   */
+  public static int getPIDValue()
+  {
+    return getValue(getPIDSlider());
+  }
+
+  /**
+   * Returns the current value of the given slider, or zero if {@code slider} is
+   * null
+   * 
+   * @param slider
+   * @return
+   */
+  static int getValue(JInternalFrame slider)
+  {
+    return slider == null ? 0
+            : ((SliderPanel) slider.getContentPane()).getValue();
+  }
 }