[Top][All Lists]
[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);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] FYI: more JSlider fixes,
David Gilbert <=