I committed this patch to make JSlider pass all the Mauve tests I added: 2005-07-20 David Gilbert <[EMAIL PROTECTED]>
* 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 [EMAIL PROTECTED] 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); } }
_______________________________________________ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches