JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / site / j2s / swingjs / plaf / JSSliderUI.js
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
4 this.jSlider = null;\r
5 this.min = 0;\r
6 this.max = 0;\r
7 this.val = 0;\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
14 function () {\r
15 Clazz.superConstructor (this, swingjs.plaf.JSSliderUI, []);\r
16 this.needPreferred = true;\r
17 this.setDoc ();\r
18 });\r
19 Clazz.overrideMethod (c$, "getDOMObject", \r
20 function () {\r
21 var js = this.jSlider = this.c;\r
22 var isNew = (this.domNode == null);\r
23 if (isNew) {\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
30 {\r
31 var me = this;\r
32 me.$(me.jqSlider).slider({\r
33 orientation: me.orientation,\r
34 range: false,\r
35 min: me.min,\r
36 max: me.max,\r
37 value: me.val,\r
38 change: function( event, handle ) {\r
39 me.jqueryCallback(event, handle);\r
40 },\r
41 slide: function( event, handle ) {\r
42 me.jqueryCallback(event, handle);\r
43 }\r
44 });\r
45 }}this.setZ (isNew);\r
46 return this.domNode;\r
47 });\r
48 Clazz.defineMethod (c$, "setZ", \r
49  function (isNew) {\r
50 var z = swingjs.JSToolkit.getZIndex (this, null);\r
51 if (z == this.z0) return;\r
52 this.z0 = z;\r
53 System.out.println ("JSSliderUI setting z to " + z);\r
54 var sliderTrack = null;\r
55 var sliderHandle = null;\r
56 {\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
61 }if (isNew) {\r
62 this.$ (sliderHandle).addClass ("swingjs-ui");\r
63 this.$ (sliderTrack).addClass ("swingjs-ui");\r
64 }}, "~B");\r
65 Clazz.defineMethod (c$, "jqueryCallback", \r
66 function (event, ui) {\r
67 var value = 0;\r
68 {\r
69 value = ui.value;\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
77 function () {\r
78 this.jSlider.addChangeListener (this);\r
79 this.jSlider.addPropertyChangeListener (this);\r
80 });\r
81 Clazz.overrideMethod (c$, "uninstallJSUI", \r
82 function () {\r
83 this.jSlider.removeChangeListener (this);\r
84 this.jSlider.removePropertyChangeListener (this);\r
85 });\r
86 Clazz.overrideMethod (c$, "propertyChange", \r
87 function (e) {\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
93 function (e) {\r
94 var v;\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
98 this.setZ (false);\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
103 {\r
104 var a = {};\r
105 a[key]= val;\r
106 this.$(this.jqSlider).slider(a);\r
107 }}, "~S,~N");\r
108 {\r
109 swingjs.JSToolkit.getJavaResource ("swingjs/jquery/jquery-ui-slider.css", true);\r
110 swingjs.JSToolkit.getJavaResource ("swingjs/jquery/jquery-ui-slider.js", true);\r
111 }});\r