classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: more JSlider fixes


From: David Gilbert
Subject: [cp-patches] FYI: more JSlider fixes
Date: Wed, 20 Jul 2005 12:57:44 +0000
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050426)

I committed this patch to make JSlider pass all the Mauve tests I added:

2005-07-20  David Gilbert  <address@hidden>

        * javax/swing/JSlider.java
        (setMinimum): fire PropertyChangeEvent for new value,
        (setMaximum): likewise,
        (setSnapToTicks): fire PropertyChangeEvent, not ChangeEvent,
        (setPaintTrack): fire PropertyChangeEvent for new value,
        (setPaintLabels): initialise label table.

I think there is more work to do on the labels, but I'll be looking at
that more closely as I work more on BasicSliderUI and MetalSliderUI.

Regards,

Dave

Index: javax/swing/JSlider.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JSlider.java,v
retrieving revision 1.16
diff -u -r1.16 JSlider.java
--- javax/swing/JSlider.java    19 Jul 2005 13:20:38 -0000      1.16
+++ javax/swing/JSlider.java    20 Jul 2005 10:28:14 -0000
@@ -509,7 +509,10 @@
    */
   public void setMinimum(int minimum)
   {
+    int old = sliderModel.getMinimum();
     sliderModel.setMinimum(minimum);
+    if (minimum != old)
+      firePropertyChange("minimum", old, minimum);
   }
 
   /**
@@ -529,7 +532,10 @@
    */
   public void setMaximum(int maximum)
   {
+    int old = sliderModel.getMaximum();
     sliderModel.setMaximum(maximum);
+    if (maximum != old)
+      firePropertyChange("maximum", old, maximum);
   }
 
   /**
@@ -817,7 +823,7 @@
     if (snap != snapToTicks)
       {
        snapToTicks = snap;
-       fireStateChanged();
+       firePropertyChange("snapToTicks", !snap, snap);
       }
   }
 
@@ -863,13 +869,19 @@
   }
 
   /**
-   * This method sets whether the track will be painted.
+   * Sets the flag that controls whether or not the track is painted, and
+   * sends a address@hidden PropertyChangeEvent} (for the "paintTrack" 
property) to all
+   * registered listeners.
    *
    * @param paint Whether the track will be painted.
    */
   public void setPaintTrack(boolean paint)
   {
-    paintTrack = paint;
+    if (paintTrack != paint)
+    {
+      paintTrack = paint;
+      firePropertyChange("paintTrack", !paint, paint);
+    }
   }
 
   /**
@@ -891,9 +903,10 @@
   {
     if (paint != paintLabels)
       {
-       boolean oldPaintLabels = paintLabels;
        paintLabels = paint;
-       firePropertyChange("paintLabels", oldPaintLabels, paintLabels);
+        if (paint && majorTickSpacing > 0)
+          labelTable = createStandardLabels(majorTickSpacing);
+       firePropertyChange("paintLabels", !paint, paint);
       }
   }
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]