cd1c5506bfdf32857a0b3b91db564ac5439b381a
[jalviewjs.git] / site / swingjs / j2s / javax / swing / JSlider.js
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;
13 this.orientation = 0;
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$ ();
19 }
20 if (!Clazz.isClassDefined ("javax.swing.JSlider.JSliderSmartHashtable")) {
21 javax.swing.JSlider.$JSlider$JSliderSmartHashtable$ ();
22 }
23 if (!Clazz.isClassDefined ("javax.swing.JSlider.JSliderLabelUIResource")) {
24 javax.swing.JSlider.$JSlider$JSliderLabelUIResource$ ();
25 }
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 ();
30 });
31 Clazz.defineMethod (c$, "checkOrientation", 
32  function (orientation) {
33 switch (orientation) {
34 case 1:
35 case 0:
36 break;
37 default:
38 throw  new IllegalArgumentException ("orientation must be one of: VERTICAL, HORIZONTAL");
39 }
40 }, "~N");
41 Clazz.makeConstructor (c$, 
42 function () {
43 this.construct (0, 0, 100, 50);
44 });
45 Clazz.makeConstructor (c$, 
46 function (orientation) {
47 this.construct (orientation, 0, 100, 50);
48 }, "~N");
49 Clazz.makeConstructor (c$, 
50 function (min, max) {
51 this.construct (0, min, max, Clazz.doubleToInt ((min + max) / 2));
52 }, "~N,~N");
53 Clazz.makeConstructor (c$, 
54 function (min, max, value) {
55 this.construct (0, min, max, value);
56 }, "~N,~N,~N");
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);
64 this.updateUI ();
65 }, "~N,~N,~N,~N");
66 Clazz.makeConstructor (c$, 
67 function (brm) {
68 Clazz.superConstructor (this, javax.swing.JSlider, []);
69 this.orientation = 0;
70 this.setModel (brm);
71 this.sliderModel.addChangeListener (this.changeListener);
72 this.updateUI ();
73 }, "javax.swing.BoundedRangeModel");
74 Clazz.overrideMethod (c$, "getUI", 
75 function () {
76 return this.ui;
77 });
78 Clazz.defineMethod (c$, "updateUI", 
79 function () {
80 this.setUI (javax.swing.UIManager.getUI (this));
81 this.updateLabelUIs ();
82 });
83 Clazz.overrideMethod (c$, "getUIClassID", 
84 function () {
85 return "SliderUI";
86 });
87 Clazz.defineMethod (c$, "createChangeListener", 
88 function () {
89 return Clazz.innerTypeInstance (javax.swing.JSlider.ModelListener, this, null);
90 });
91 Clazz.defineMethod (c$, "addChangeListener", 
92 function (l) {
93 this.listenerList.add (javax.swing.event.ChangeListener, l);
94 }, "javax.swing.event.ChangeListener");
95 Clazz.defineMethod (c$, "removeChangeListener", 
96 function (l) {
97 this.listenerList.remove (javax.swing.event.ChangeListener, l);
98 }, "javax.swing.event.ChangeListener");
99 Clazz.defineMethod (c$, "getChangeListeners", 
100 function () {
101 return this.listenerList.getListeners (javax.swing.event.ChangeListener);
102 });
103 Clazz.defineMethod (c$, "fireStateChanged", 
104 function () {
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);
111 }}
112 });
113 Clazz.defineMethod (c$, "getModel", 
114 function () {
115 return this.sliderModel;
116 });
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", 
128 function () {
129 return this.getModel ().getValue ();
130 });
131 Clazz.defineMethod (c$, "setValue", 
132 function (n) {
133 var m = this.getModel ();
134 var oldValue = m.getValue ();
135 if (oldValue == n) {
136 return;
137 }m.setValue (n);
138 }, "~N");
139 Clazz.defineMethod (c$, "getMinimum", 
140 function () {
141 return this.getModel ().getMinimum ();
142 });
143 Clazz.defineMethod (c$, "setMinimum", 
144 function (minimum) {
145 var oldMin = this.getModel ().getMinimum ();
146 this.getModel ().setMinimum (minimum);
147 this.firePropertyChangeObject ("minimum",  new Integer (oldMin),  new Integer (minimum));
148 }, "~N");
149 Clazz.defineMethod (c$, "getMaximum", 
150 function () {
151 return this.getModel ().getMaximum ();
152 });
153 Clazz.defineMethod (c$, "setMaximum", 
154 function (maximum) {
155 var oldMax = this.getModel ().getMaximum ();
156 this.getModel ().setMaximum (maximum);
157 this.firePropertyChangeObject ("maximum",  new Integer (oldMax),  new Integer (maximum));
158 }, "~N");
159 Clazz.defineMethod (c$, "getValueIsAdjusting", 
160 function () {
161 return this.getModel ().getValueIsAdjusting ();
162 });
163 Clazz.defineMethod (c$, "setValueIsAdjusting", 
164 function (b) {
165 var m = this.getModel ();
166 m.setValueIsAdjusting (b);
167 }, "~B");
168 Clazz.defineMethod (c$, "getExtent", 
169 function () {
170 return this.getModel ().getExtent ();
171 });
172 Clazz.defineMethod (c$, "setExtent", 
173 function (extent) {
174 this.getModel ().setExtent (extent);
175 }, "~N");
176 Clazz.defineMethod (c$, "getOrientation", 
177 function () {
178 return this.orientation;
179 });
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) {
187 this.revalidate ();
188 }}, "~N");
189 Clazz.defineMethod (c$, "setFont", 
190 function (font) {
191 Clazz.superCall (this, javax.swing.JSlider, "setFont", [font]);
192 this.updateLabelSizes ();
193 }, "java.awt.Font");
194 Clazz.defineMethod (c$, "getLabelTable", 
195 function () {
196 return this.labelTable;
197 });
198 Clazz.defineMethod (c$, "setLabelTable", 
199 function (labels) {
200 var oldTable = this.labelTable;
201 this.labelTable = labels;
202 this.updateLabelUIs ();
203 this.firePropertyChangeObject ("labelTable", oldTable, this.labelTable);
204 if (labels !== oldTable) {
205 this.revalidate ();
206 this.repaint ();
207 }}, "java.util.Dictionary");
208 Clazz.defineMethod (c$, "updateLabelUIs", 
209 function () {
210 if (this.getLabelTable () == null) {
211 return;
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 ());
219 }}
220 });
221 Clazz.defineMethod (c$, "updateLabelSizes", 
222  function () {
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 ());
231 }}
232 }});
233 Clazz.defineMethod (c$, "createStandardLabels", 
234 function (increment) {
235 return this.createStandardLabels (increment, this.getMinimum ());
236 }, "~N");
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);
247 return table;
248 }, "~N,~N");
249 Clazz.defineMethod (c$, "getInverted", 
250 function () {
251 return this.isInverted;
252 });
253 Clazz.defineMethod (c$, "setInverted", 
254 function (b) {
255 var oldValue = this.isInverted;
256 this.isInverted = b;
257 this.firePropertyChangeBool ("inverted", oldValue, this.isInverted);
258 if (b != oldValue) {
259 this.repaint ();
260 }}, "~B");
261 Clazz.defineMethod (c$, "getMajorTickSpacing", 
262 function () {
263 return this.majorTickSpacing;
264 });
265 Clazz.defineMethod (c$, "setMajorTickSpacing", 
266 function (n) {
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 ()) {
273 this.repaint ();
274 }}, "~N");
275 Clazz.defineMethod (c$, "getMinorTickSpacing", 
276 function () {
277 return this.minorTickSpacing;
278 });
279 Clazz.defineMethod (c$, "setMinorTickSpacing", 
280 function (n) {
281 var oldValue = this.minorTickSpacing;
282 this.minorTickSpacing = n;
283 this.firePropertyChangeInt ("minorTickSpacing", oldValue, this.minorTickSpacing);
284 if (this.minorTickSpacing != oldValue && this.getPaintTicks ()) {
285 this.repaint ();
286 }}, "~N");
287 Clazz.defineMethod (c$, "getSnapToTicks", 
288 function () {
289 return this.snapToTicks;
290 });
291 Clazz.defineMethod (c$, "getSnapToValue", 
292 function () {
293 return this.snapToValue;
294 });
295 Clazz.defineMethod (c$, "setSnapToTicks", 
296 function (b) {
297 var oldValue = this.snapToTicks;
298 this.snapToTicks = b;
299 this.firePropertyChangeBool ("snapToTicks", oldValue, this.snapToTicks);
300 }, "~B");
301 Clazz.defineMethod (c$, "setSnapToValue", 
302 function (b) {
303 var oldValue = this.snapToValue;
304 this.snapToValue = b;
305 this.firePropertyChangeBool ("snapToValue", oldValue, this.snapToValue);
306 }, "~B");
307 Clazz.defineMethod (c$, "getPaintTicks", 
308 function () {
309 return this.paintTicks;
310 });
311 Clazz.defineMethod (c$, "setPaintTicks", 
312 function (b) {
313 var oldValue = this.paintTicks;
314 this.paintTicks = b;
315 this.firePropertyChangeBool ("paintTicks", oldValue, this.paintTicks);
316 if (this.paintTicks != oldValue) {
317 this.revalidate ();
318 this.repaint ();
319 }}, "~B");
320 Clazz.defineMethod (c$, "getPaintTrack", 
321 function () {
322 return this.paintTrack;
323 });
324 Clazz.defineMethod (c$, "setPaintTrack", 
325 function (b) {
326 var oldValue = this.paintTrack;
327 this.paintTrack = b;
328 this.firePropertyChangeBool ("paintTrack", oldValue, this.paintTrack);
329 if (this.paintTrack != oldValue) {
330 this.repaint ();
331 }}, "~B");
332 Clazz.defineMethod (c$, "getPaintLabels", 
333 function () {
334 return this.paintLabels;
335 });
336 Clazz.defineMethod (c$, "setPaintLabels", 
337 function (b) {
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) {
344 this.revalidate ();
345 this.repaint ();
346 }}, "~B");
347 Clazz.defineMethod (c$, "paramString", 
348 function () {
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;
357 });
358 c$.$JSlider$ModelListener$ = function () {
359 Clazz.pu$h(self.c$);
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", 
365 function (a) {
366 this.b$["javax.swing.JSlider"].fireStateChanged ();
367 }, "javax.swing.event.ChangeEvent");
368 c$ = Clazz.p0p ();
369 };
370 c$.$JSlider$JSliderSmartHashtable$ = function () {
371 Clazz.pu$h(self.c$);
372 c$ = Clazz.decorateAsClass (function () {
373 Clazz.prepareCallback (this, arguments);
374 this.increment = 0;
375 this.start = 0;
376 this.startAtMin = false;
377 Clazz.instantialize (this, arguments);
378 }, javax.swing.JSlider, "JSliderSmartHashtable", java.util.Hashtable, java.beans.PropertyChangeListener);
379 Clazz.makeConstructor (c$, 
380 function (a, b) {
381 Clazz.superConstructor (this, javax.swing.JSlider.JSliderSmartHashtable);
382 this.increment = a;
383 this.start = b;
384 this.startAtMin = b == this.b$["javax.swing.JSlider"].getMinimum ();
385 this.createLabels ();
386 }, "~N,~N");
387 Clazz.overrideMethod (c$, "propertyChange", 
388 function (a) {
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 ();
393 var c = null;
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))) {
399 d.put (c, e);
400 }}
401 this.clear ();
402 this.createLabels ();
403 b = d.keys ();
404 while (b.hasMoreElements ()) {
405 c = b.nextElement ();
406 this.put (c, d.get (c));
407 }
408 (a.getSource ()).setLabelTable (this);
409 }}, "java.beans.PropertyChangeEvent");
410 Clazz.defineMethod (c$, "createLabels", 
411 function () {
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));
414 }
415 });
416 c$ = Clazz.p0p ();
417 };
418 c$.$JSlider$JSliderLabelUIResource$ = function () {
419 Clazz.pu$h(self.c$);
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$, 
425 function (a, b) {
426 Clazz.superConstructor (this, javax.swing.JSlider.JSliderLabelUIResource, [a, b]);
427 this.setName ("Slider.label");
428 }, "~S,~N");
429 Clazz.defineMethod (c$, "getFont", 
430 function () {
431 var a = Clazz.superCall (this, javax.swing.JSlider.JSliderLabelUIResource, "getFont", []);
432 if (a != null && !(Clazz.instanceOf (a, javax.swing.plaf.UIResource))) {
433 return a;
434 }return this.b$["javax.swing.JSlider"].getFont ();
435 });
436 Clazz.defineMethod (c$, "getForeground", 
437 function () {
438 var a = Clazz.superCall (this, javax.swing.JSlider.JSliderLabelUIResource, "getForeground", []);
439 if (a != null && !(Clazz.instanceOf (a, javax.swing.plaf.UIResource))) {
440 return a;
441 }if (!(Clazz.instanceOf (this.b$["javax.swing.JSlider"].getForeground (), javax.swing.plaf.UIResource))) {
442 return this.b$["javax.swing.JSlider"].getForeground ();
443 }return a;
444 });
445 c$ = Clazz.p0p ();
446 };
447 Clazz.defineStatics (c$,
448 "$uiClassID", "SliderUI");
449 });