1 Clazz.declarePackage ("javax.swing");
2 Clazz.load (["java.util.Hashtable", "java.beans.PropertyChangeListener", "javax.swing.JComponent", "$.JLabel", "$.SwingConstants", "javax.swing.event.ChangeListener", "javax.swing.plaf.UIResource"], "javax.swing.JSlider", ["java.lang.IllegalArgumentException", "javax.swing.DefaultBoundedRangeModel", "$.UIManager", "javax.swing.event.ChangeEvent"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.paintTicks = false;
5 this.paintTrack = true;
6 this.paintLabels = false;
7 this.isInverted = false;
8 this.sliderModel = null;
9 this.majorTickSpacing = 0;
10 this.minorTickSpacing = 0;
11 this.snapToTicks = false;
12 this.snapToValue = true;
14 this.labelTable = null;
15 this.changeListener = null;
16 this.changeEvent = null;
17 if (!Clazz.isClassDefined ("javax.swing.JSlider.ModelListener")) {
18 javax.swing.JSlider.$JSlider$ModelListener$ ();
20 if (!Clazz.isClassDefined ("javax.swing.JSlider.JSliderSmartHashtable")) {
21 javax.swing.JSlider.$JSlider$JSliderSmartHashtable$ ();
23 if (!Clazz.isClassDefined ("javax.swing.JSlider.JSliderLabelUIResource")) {
24 javax.swing.JSlider.$JSlider$JSliderLabelUIResource$ ();
26 Clazz.instantialize (this, arguments);
27 }, javax.swing, "JSlider", javax.swing.JComponent, javax.swing.SwingConstants);
28 Clazz.prepareFields (c$, function () {
29 this.changeListener = this.createChangeListener ();
31 Clazz.defineMethod (c$, "checkOrientation",
32 function (orientation) {
33 switch (orientation) {
38 throw new IllegalArgumentException ("orientation must be one of: VERTICAL, HORIZONTAL");
41 Clazz.makeConstructor (c$,
43 this.construct (0, 0, 100, 50);
45 Clazz.makeConstructor (c$,
46 function (orientation) {
47 this.construct (orientation, 0, 100, 50);
49 Clazz.makeConstructor (c$,
51 this.construct (0, min, max, Clazz.doubleToInt ((min + max) / 2));
53 Clazz.makeConstructor (c$,
54 function (min, max, value) {
55 this.construct (0, min, max, value);
57 Clazz.makeConstructor (c$,
58 function (orientation, min, max, value) {
59 Clazz.superConstructor (this, javax.swing.JSlider, []);
60 this.checkOrientation (orientation);
61 this.orientation = orientation;
62 this.sliderModel = new javax.swing.DefaultBoundedRangeModel (value, 0, min, max);
63 this.sliderModel.addChangeListener (this.changeListener);
66 Clazz.makeConstructor (c$,
68 Clazz.superConstructor (this, javax.swing.JSlider, []);
71 this.sliderModel.addChangeListener (this.changeListener);
73 }, "javax.swing.BoundedRangeModel");
74 Clazz.overrideMethod (c$, "getUI",
78 Clazz.defineMethod (c$, "updateUI",
80 this.setUI (javax.swing.UIManager.getUI (this));
81 this.updateLabelUIs ();
83 Clazz.overrideMethod (c$, "getUIClassID",
87 Clazz.defineMethod (c$, "createChangeListener",
89 return Clazz.innerTypeInstance (javax.swing.JSlider.ModelListener, this, null);
91 Clazz.defineMethod (c$, "addChangeListener",
93 this.listenerList.add (javax.swing.event.ChangeListener, l);
94 }, "javax.swing.event.ChangeListener");
95 Clazz.defineMethod (c$, "removeChangeListener",
97 this.listenerList.remove (javax.swing.event.ChangeListener, l);
98 }, "javax.swing.event.ChangeListener");
99 Clazz.defineMethod (c$, "getChangeListeners",
101 return this.listenerList.getListeners (javax.swing.event.ChangeListener);
103 Clazz.defineMethod (c$, "fireStateChanged",
105 var listeners = this.listenerList.getListenerList ();
106 for (var i = listeners.length - 2; i >= 0; i -= 2) {
107 if (listeners[i] === javax.swing.event.ChangeListener) {
108 if (this.changeEvent == null) {
109 this.changeEvent = new javax.swing.event.ChangeEvent (this);
110 }(listeners[i + 1]).stateChanged (this.changeEvent);
113 Clazz.defineMethod (c$, "getModel",
115 return this.sliderModel;
117 Clazz.defineMethod (c$, "setModel",
118 function (newModel) {
119 var oldModel = this.getModel ();
120 if (oldModel != null) {
121 oldModel.removeChangeListener (this.changeListener);
122 }this.sliderModel = newModel;
123 if (newModel != null) {
124 newModel.addChangeListener (this.changeListener);
125 }this.firePropertyChangeObject ("model", oldModel, this.sliderModel);
126 }, "javax.swing.BoundedRangeModel");
127 Clazz.defineMethod (c$, "getValue",
129 return this.getModel ().getValue ();
131 Clazz.defineMethod (c$, "setValue",
133 var m = this.getModel ();
134 var oldValue = m.getValue ();
139 Clazz.defineMethod (c$, "getMinimum",
141 return this.getModel ().getMinimum ();
143 Clazz.defineMethod (c$, "setMinimum",
145 var oldMin = this.getModel ().getMinimum ();
146 this.getModel ().setMinimum (minimum);
147 this.firePropertyChangeObject ("minimum", new Integer (oldMin), new Integer (minimum));
149 Clazz.defineMethod (c$, "getMaximum",
151 return this.getModel ().getMaximum ();
153 Clazz.defineMethod (c$, "setMaximum",
155 var oldMax = this.getModel ().getMaximum ();
156 this.getModel ().setMaximum (maximum);
157 this.firePropertyChangeObject ("maximum", new Integer (oldMax), new Integer (maximum));
159 Clazz.defineMethod (c$, "getValueIsAdjusting",
161 return this.getModel ().getValueIsAdjusting ();
163 Clazz.defineMethod (c$, "setValueIsAdjusting",
165 var m = this.getModel ();
166 m.setValueIsAdjusting (b);
168 Clazz.defineMethod (c$, "getExtent",
170 return this.getModel ().getExtent ();
172 Clazz.defineMethod (c$, "setExtent",
174 this.getModel ().setExtent (extent);
176 Clazz.defineMethod (c$, "getOrientation",
178 return this.orientation;
180 Clazz.defineMethod (c$, "setOrientation",
181 function (orientation) {
182 this.checkOrientation (orientation);
183 var oldValue = this.orientation;
184 this.orientation = orientation;
185 this.firePropertyChangeInt ("orientation", oldValue, orientation);
186 if (orientation != oldValue) {
189 Clazz.defineMethod (c$, "setFont",
191 Clazz.superCall (this, javax.swing.JSlider, "setFont", [font]);
192 this.updateLabelSizes ();
194 Clazz.defineMethod (c$, "getLabelTable",
196 return this.labelTable;
198 Clazz.defineMethod (c$, "setLabelTable",
200 var oldTable = this.labelTable;
201 this.labelTable = labels;
202 this.updateLabelUIs ();
203 this.firePropertyChangeObject ("labelTable", oldTable, this.labelTable);
204 if (labels !== oldTable) {
207 }}, "java.util.Dictionary");
208 Clazz.defineMethod (c$, "updateLabelUIs",
210 if (this.getLabelTable () == null) {
212 }var labels = this.getLabelTable ().keys ();
213 while (labels.hasMoreElements ()) {
214 var value = this.getLabelTable ().get (labels.nextElement ());
215 if (Clazz.instanceOf (value, javax.swing.JComponent)) {
216 var component = value;
217 component.updateUI ();
218 component.setSize (component.getPreferredSize ());
221 Clazz.defineMethod (c$, "updateLabelSizes",
223 var labelTable = this.getLabelTable ();
224 if (labelTable != null) {
225 var labels = labelTable.elements ();
226 while (labels.hasMoreElements ()) {
227 var value = labels.nextElement ();
228 if (Clazz.instanceOf (value, javax.swing.JComponent)) {
229 var component = value;
230 component.setSize (component.getPreferredSize ());
233 Clazz.defineMethod (c$, "createStandardLabels",
234 function (increment) {
235 return this.createStandardLabels (increment, this.getMinimum ());
237 Clazz.defineMethod (c$, "createStandardLabels",
238 function (increment, start) {
239 if (start > this.getMaximum () || start < this.getMinimum ()) {
240 throw new IllegalArgumentException ("Slider label start point out of range.");
241 }if (increment <= 0) {
242 throw new IllegalArgumentException ("Label incremement must be > 0");
243 }var table = Clazz.innerTypeInstance (javax.swing.JSlider.JSliderSmartHashtable, this, null, increment, start);
244 if (this.getLabelTable () != null && (Clazz.instanceOf (this.getLabelTable (), java.beans.PropertyChangeListener))) {
245 this.removePropertyChangeListener (this.getLabelTable ());
246 }this.addPropertyChangeListener (table);
249 Clazz.defineMethod (c$, "getInverted",
251 return this.isInverted;
253 Clazz.defineMethod (c$, "setInverted",
255 var oldValue = this.isInverted;
257 this.firePropertyChangeBool ("inverted", oldValue, this.isInverted);
261 Clazz.defineMethod (c$, "getMajorTickSpacing",
263 return this.majorTickSpacing;
265 Clazz.defineMethod (c$, "setMajorTickSpacing",
267 var oldValue = this.majorTickSpacing;
268 this.majorTickSpacing = n;
269 if (this.labelTable == null && this.getMajorTickSpacing () > 0 && this.getPaintLabels ()) {
270 this.setLabelTable (this.createStandardLabels (this.getMajorTickSpacing ()));
271 }this.firePropertyChangeInt ("majorTickSpacing", oldValue, this.majorTickSpacing);
272 if (this.majorTickSpacing != oldValue && this.getPaintTicks ()) {
275 Clazz.defineMethod (c$, "getMinorTickSpacing",
277 return this.minorTickSpacing;
279 Clazz.defineMethod (c$, "setMinorTickSpacing",
281 var oldValue = this.minorTickSpacing;
282 this.minorTickSpacing = n;
283 this.firePropertyChangeInt ("minorTickSpacing", oldValue, this.minorTickSpacing);
284 if (this.minorTickSpacing != oldValue && this.getPaintTicks ()) {
287 Clazz.defineMethod (c$, "getSnapToTicks",
289 return this.snapToTicks;
291 Clazz.defineMethod (c$, "getSnapToValue",
293 return this.snapToValue;
295 Clazz.defineMethod (c$, "setSnapToTicks",
297 var oldValue = this.snapToTicks;
298 this.snapToTicks = b;
299 this.firePropertyChangeBool ("snapToTicks", oldValue, this.snapToTicks);
301 Clazz.defineMethod (c$, "setSnapToValue",
303 var oldValue = this.snapToValue;
304 this.snapToValue = b;
305 this.firePropertyChangeBool ("snapToValue", oldValue, this.snapToValue);
307 Clazz.defineMethod (c$, "getPaintTicks",
309 return this.paintTicks;
311 Clazz.defineMethod (c$, "setPaintTicks",
313 var oldValue = this.paintTicks;
315 this.firePropertyChangeBool ("paintTicks", oldValue, this.paintTicks);
316 if (this.paintTicks != oldValue) {
320 Clazz.defineMethod (c$, "getPaintTrack",
322 return this.paintTrack;
324 Clazz.defineMethod (c$, "setPaintTrack",
326 var oldValue = this.paintTrack;
328 this.firePropertyChangeBool ("paintTrack", oldValue, this.paintTrack);
329 if (this.paintTrack != oldValue) {
332 Clazz.defineMethod (c$, "getPaintLabels",
334 return this.paintLabels;
336 Clazz.defineMethod (c$, "setPaintLabels",
338 var oldValue = this.paintLabels;
339 this.paintLabels = b;
340 if (this.labelTable == null && this.getMajorTickSpacing () > 0) {
341 this.setLabelTable (this.createStandardLabels (this.getMajorTickSpacing ()));
342 }this.firePropertyChangeBool ("paintLabels", oldValue, this.paintLabels);
343 if (this.paintLabels != oldValue) {
347 Clazz.defineMethod (c$, "paramString",
349 var paintTicksString = (this.paintTicks ? "true" : "false");
350 var paintTrackString = (this.paintTrack ? "true" : "false");
351 var paintLabelsString = (this.paintLabels ? "true" : "false");
352 var isInvertedString = (this.isInverted ? "true" : "false");
353 var snapToTicksString = (this.snapToTicks ? "true" : "false");
354 var snapToValueString = (this.snapToValue ? "true" : "false");
355 var orientationString = (this.orientation == 0 ? "HORIZONTAL" : "VERTICAL");
356 return Clazz.superCall (this, javax.swing.JSlider, "paramString", []) + ",isInverted=" + isInvertedString + ",majorTickSpacing=" + this.majorTickSpacing + ",minorTickSpacing=" + this.minorTickSpacing + ",orientation=" + orientationString + ",paintLabels=" + paintLabelsString + ",paintTicks=" + paintTicksString + ",paintTrack=" + paintTrackString + ",snapToTicks=" + snapToTicksString + ",snapToValue=" + snapToValueString;
358 c$.$JSlider$ModelListener$ = function () {
360 c$ = Clazz.decorateAsClass (function () {
361 Clazz.prepareCallback (this, arguments);
362 Clazz.instantialize (this, arguments);
363 }, javax.swing.JSlider, "ModelListener", null, javax.swing.event.ChangeListener);
364 Clazz.overrideMethod (c$, "stateChanged",
366 this.b$["javax.swing.JSlider"].fireStateChanged ();
367 }, "javax.swing.event.ChangeEvent");
370 c$.$JSlider$JSliderSmartHashtable$ = function () {
372 c$ = Clazz.decorateAsClass (function () {
373 Clazz.prepareCallback (this, arguments);
376 this.startAtMin = false;
377 Clazz.instantialize (this, arguments);
378 }, javax.swing.JSlider, "JSliderSmartHashtable", java.util.Hashtable, java.beans.PropertyChangeListener);
379 Clazz.makeConstructor (c$,
381 Clazz.superConstructor (this, javax.swing.JSlider.JSliderSmartHashtable);
384 this.startAtMin = b == this.b$["javax.swing.JSlider"].getMinimum ();
385 this.createLabels ();
387 Clazz.overrideMethod (c$, "propertyChange",
389 if (a.getPropertyName ().equals ("minimum") && this.startAtMin) {
390 this.start = this.b$["javax.swing.JSlider"].getMinimum ();
391 }if (a.getPropertyName ().equals ("minimum") || a.getPropertyName ().equals ("maximum")) {
392 var b = this.b$["javax.swing.JSlider"].getLabelTable ().keys ();
394 var d = new java.util.Hashtable ();
395 while (b.hasMoreElements ()) {
396 c = b.nextElement ();
397 var e = this.b$["javax.swing.JSlider"].getLabelTable ().get (c);
398 if (!(Clazz.instanceOf (e, javax.swing.JSlider.JSliderLabelUIResource))) {
402 this.createLabels ();
404 while (b.hasMoreElements ()) {
405 c = b.nextElement ();
406 this.put (c, d.get (c));
408 (a.getSource ()).setLabelTable (this);
409 }}, "java.beans.PropertyChangeEvent");
410 Clazz.defineMethod (c$, "createLabels",
412 for (var a = this.start; a <= this.b$["javax.swing.JSlider"].getMaximum (); a += this.increment) {
413 this.put ( new Integer (a), Clazz.innerTypeInstance (javax.swing.JSlider.JSliderLabelUIResource, this, null, "" + a, 0));
418 c$.$JSlider$JSliderLabelUIResource$ = function () {
420 c$ = Clazz.decorateAsClass (function () {
421 Clazz.prepareCallback (this, arguments);
422 Clazz.instantialize (this, arguments);
423 }, javax.swing.JSlider, "JSliderLabelUIResource", javax.swing.JLabel, javax.swing.plaf.UIResource);
424 Clazz.makeConstructor (c$,
426 Clazz.superConstructor (this, javax.swing.JSlider.JSliderLabelUIResource, [a, b]);
427 this.setName ("Slider.label");
429 Clazz.defineMethod (c$, "getFont",
431 var a = Clazz.superCall (this, javax.swing.JSlider.JSliderLabelUIResource, "getFont", []);
432 if (a != null && !(Clazz.instanceOf (a, javax.swing.plaf.UIResource))) {
434 }return this.b$["javax.swing.JSlider"].getFont ();
436 Clazz.defineMethod (c$, "getForeground",
438 var a = Clazz.superCall (this, javax.swing.JSlider.JSliderLabelUIResource, "getForeground", []);
439 if (a != null && !(Clazz.instanceOf (a, javax.swing.plaf.UIResource))) {
441 }if (!(Clazz.instanceOf (this.b$["javax.swing.JSlider"].getForeground (), javax.swing.plaf.UIResource))) {
442 return this.b$["javax.swing.JSlider"].getForeground ();
447 Clazz.defineStatics (c$,
448 "$uiClassID", "SliderUI");