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