1 Clazz.declarePackage ("swingjs.plaf");
2 Clazz.load (["java.beans.PropertyChangeListener", "javax.swing.event.ChangeListener", "swingjs.plaf.JSComponentUI", "swingjs.jquery.JQueryUI"], "swingjs.plaf.JSSliderUI", ["java.awt.Dimension", "swingjs.JSToolkit", "swingjs.api.DOMNode"], function () {
3 c$ = Clazz.decorateAsClass (function () {
8 this.orientation = null;
10 this.z0 = -2147483648;
11 Clazz.instantialize (this, arguments);
12 }, swingjs.plaf, "JSSliderUI", swingjs.plaf.JSComponentUI, [java.beans.PropertyChangeListener, javax.swing.event.ChangeListener]);
13 Clazz.makeConstructor (c$,
15 Clazz.superConstructor (this, swingjs.plaf.JSSliderUI, []);
16 this.needPreferred = true;
19 Clazz.overrideMethod (c$, "getDOMObject",
21 var js = this.jSlider = this.c;
22 var isNew = (this.domNode == null);
24 this.domNode = this.wrap ("div", this.id + "_wrap", [this.jqSlider = swingjs.api.DOMNode.createElement ("div", this.id)]);
25 swingjs.api.DOMNode.setAttr (this.domNode, "className", "swingjs");
26 this.orientation = (js.getOrientation () == 1 ? "vertical" : "horizontal");
27 this.min = js.getMinimum ();
28 this.max = js.getMaximum ();
29 this.val = js.getValue ();
32 me.$(me.jqSlider).slider({
33 orientation: me.orientation,
38 change: function( event, handle ) {
39 me.jqueryCallback(event, handle);
41 slide: function( event, handle ) {
42 me.jqueryCallback(event, handle);
48 Clazz.defineMethod (c$, "setZ",
50 var z = swingjs.JSToolkit.getZIndex (this, null);
51 if (z == this.z0) return;
53 System.out.println ("JSSliderUI setting z to " + z);
54 var sliderTrack = null;
55 var sliderHandle = null;
57 sliderTrack = this.domNode.firstChild;
58 sliderHandle = sliderTrack.firstChild;
59 sliderTrack.style["z-index"] = z++;
60 sliderHandle.style["z-index"] = z++;
62 this.$ (sliderHandle).addClass ("swingjs-ui");
63 this.$ (sliderTrack).addClass ("swingjs-ui");
65 Clazz.defineMethod (c$, "jqueryCallback",
66 function (event, ui) {
70 }this.jSlider.setValue (this.val = value);
71 }, "~O,swingjs.api.DOMNode");
72 Clazz.overrideMethod (c$, "setHTMLSize",
73 function (obj, addCSS) {
74 return (this.orientation === "horizontal" ? new java.awt.Dimension (100, 20) : new java.awt.Dimension (20, 100));
75 }, "swingjs.api.DOMNode,~B");
76 Clazz.overrideMethod (c$, "installJSUI",
78 this.jSlider.addChangeListener (this);
79 this.jSlider.addPropertyChangeListener (this);
81 Clazz.overrideMethod (c$, "uninstallJSUI",
83 this.jSlider.removeChangeListener (this);
84 this.jSlider.removePropertyChangeListener (this);
86 Clazz.overrideMethod (c$, "propertyChange",
88 var prop = e.getPropertyName ();
89 System.out.println (this.id + " propertyChange " + prop);
90 if (prop === "ancestor") this.setZ (false);
91 }, "java.beans.PropertyChangeEvent");
92 Clazz.overrideMethod (c$, "stateChanged",
95 if ((v = this.jSlider.getMinimum ()) != this.min) this.setSliderAttr ("min", this.min = v);
96 if ((v = this.jSlider.getMaximum ()) != this.max) this.setSliderAttr ("max", this.max = v);
97 if ((v = this.jSlider.getValue ()) != this.val) this.setSliderAttr ("value", this.val = v);
99 }, "javax.swing.event.ChangeEvent");
100 Clazz.defineMethod (c$, "setSliderAttr",
101 function (key, val) {
102 System.out.println (this.id + " setting " + key + " = " + val);
106 this.$(this.jqSlider).slider(a);
109 swingjs.JSToolkit.getJavaResource ("swingjs/jquery/jquery-ui-slider.css");
110 swingjs.JSToolkit.getJavaResource ("swingjs/jquery/jquery-ui-slider.js");