-package swingjs.plaf;
-
-
-import javax.swing.SwingConstants;
-
-import jsjava.awt.Dimension;
-import jsjava.beans.PropertyChangeEvent;
-import jsjava.beans.PropertyChangeListener;
-import jsjavax.swing.JSlider;
-import jsjavax.swing.event.ChangeEvent;
-import jsjavax.swing.event.ChangeListener;
-import swingjs.J2SRequireImport;
-import swingjs.JSToolkit;
-import swingjs.api.DOMNode;
-
-@J2SRequireImport(swingjs.jquery.JQueryUI.class)
-public class JSSliderUI extends JSComponentUI implements PropertyChangeListener, ChangeListener {
-
- private JSlider jSlider;
- private int min, max, val;
- private String orientation;
-
- protected DOMNode jqSlider;
- private int z0 = Integer.MIN_VALUE;
-
- public JSSliderUI() {
- needPreferred = true;
- setDoc();
- }
-
- static {
- JSToolkit.getJavaResource("swingjs/jquery/jquery-ui-slider.css");
- JSToolkit.getJavaResource("swingjs/jquery/jquery-ui-slider.js");
- }
- @Override
- public DOMNode getDOMObject() {
- JSlider js = jSlider = (JSlider) c;
- boolean isNew = (domNode == null);
- if (isNew) {
- domNode = wrap("div", id + "_wrap", jqSlider = DOMNode.createElement("div", id));
- DOMNode.setAttr(domNode, "className", "swingjs");
- orientation = (js.getOrientation() == SwingConstants.VERTICAL ? "vertical" : "horizontal");
- min = js.getMinimum();
- max = js.getMaximum();
- val = js.getValue();
-
-
- /**
- * @j2sNative
- *
- var me = this;
- me.$(me.jqSlider).slider({
- orientation: me.orientation,
- range: false,
- min: me.min,
- max: me.max,
- value: me.val,
- change: function( event, handle ) {
- me.jqueryCallback(event, handle);
- },
- slide: function( event, handle ) {
- me.jqueryCallback(event, handle);
- }
- });
-
- */
- {}
-
- }
- setZ(isNew);
- return domNode;
- }
-
- /**
- *
- * @param isNew
- */
- private void setZ(boolean isNew) {
- int z = JSToolkit.getZIndex(this, null);
- if (z == z0)
- return;
- z0 = z;
- System.out.println("JSSliderUI setting z to " + z);
- DOMNode sliderTrack = null;
- DOMNode sliderHandle = null;
- /**
- * @j2sNative
- *
- * sliderTrack = this.domNode.firstChild;
- * sliderHandle = sliderTrack.firstChild;
- * sliderTrack.style["z-index"] = z++;
- * sliderHandle.style["z-index"] = z++;
- */
- {}
- // mark the handle and track with the "swingjs-ui" class
- // so as to ignore all mouse/touch events from Jmol._jsSetMouse();
- if (isNew) {
- $(sliderHandle).addClass("swingjs-ui");
- $(sliderTrack).addClass("swingjs-ui");
- }
- }
-
- /**
- * called from JavaScript via the hook added in getDOMObject
- *
- * @param event
- * @param ui
- */
- public void jqueryCallback(Object event, DOMNode ui) {
- // from JavaScript
- int value = 0;
-
- /**
- * @j2sNative
- *
- * value = ui.value;
- *
- */
- {}
-
- jSlider.setValue(val = value);
- }
-
- protected Dimension setHTMLSize(DOMNode obj, boolean addCSS) {
- return (orientation == "horizontal" ? new Dimension(100, 20) : new Dimension(20, 100));
- }
-
- @Override
- protected void installJSUI() {
- jSlider.addChangeListener(this);
- jSlider.addPropertyChangeListener(this);
- }
-
- @Override
- protected void uninstallJSUI() {
- jSlider.removeChangeListener(this);
- jSlider.removePropertyChangeListener(this);
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent e) {
- String prop = e.getPropertyName();
- System.out.println(id + " propertyChange " + prop);
- if (prop == "ancestor")
- setZ(false);
- }
-
- @Override
- public void stateChanged(ChangeEvent e) {
- // from Java
- int v;
- if ((v = jSlider.getMinimum()) != min)
- setSliderAttr("min", min = v);
- if ((v = jSlider.getMaximum()) != max)
- setSliderAttr("max", max = v);
- if ((v = jSlider.getValue()) != val)
- setSliderAttr("value", val = v);
- setZ(false);
- }
-
- private void setSliderAttr(String key, int val) {
- System.out.println(id + " setting " + key + " = " + val);
- /**
- * @j2sNative
- *
- * var a = {};
- * a[key]= val;
- * this.$(this.jqSlider).slider(a);
- */
- {}
- }
-
-}
+package swingjs.plaf;\r
+\r
+\r
+import javax.swing.SwingConstants;\r
+\r
+import jsjava.awt.Dimension;\r
+import jsjava.beans.PropertyChangeEvent;\r
+import jsjava.beans.PropertyChangeListener;\r
+import jsjavax.swing.JSlider;\r
+import jsjavax.swing.event.ChangeEvent;\r
+import jsjavax.swing.event.ChangeListener;\r
+import swingjs.J2SRequireImport;\r
+import swingjs.JSToolkit;\r
+import swingjs.api.DOMNode;\r
+\r
+@J2SRequireImport(swingjs.jquery.JQueryUI.class)\r
+public class JSSliderUI extends JSComponentUI implements PropertyChangeListener, ChangeListener {\r
+\r
+ private JSlider jSlider;\r
+ private int min, max, val;\r
+ private String orientation;\r
+ \r
+ protected DOMNode jqSlider;\r
+ private int z0 = Integer.MIN_VALUE;\r
+\r
+ public JSSliderUI() {\r
+ needPreferred = true;\r
+ setDoc();\r
+ }\r
+\r
+ static { \r
+ JSToolkit.getJavaResource("swingjs/jquery/jquery-ui-slider.css");\r
+ JSToolkit.getJavaResource("swingjs/jquery/jquery-ui-slider.js");\r
+ }\r
+ @Override\r
+ public DOMNode getDOMObject() {\r
+ JSlider js = jSlider = (JSlider) c;\r
+ boolean isNew = (domNode == null);\r
+ if (isNew) {\r
+ domNode = wrap("div", id + "_wrap", jqSlider = DOMNode.createElement("div", id));\r
+ DOMNode.setAttr(domNode, "className", "swingjs");\r
+ orientation = (js.getOrientation() == SwingConstants.VERTICAL ? "vertical" : "horizontal");\r
+ min = js.getMinimum();\r
+ max = js.getMaximum();\r
+ val = js.getValue();\r
+ \r
+\r
+ /** \r
+ * @j2sNative\r
+ *\r
+ var me = this;\r
+ me.$(me.jqSlider).slider({\r
+ orientation: me.orientation,\r
+ range: false,\r
+ min: me.min,\r
+ max: me.max,\r
+ value: me.val,\r
+ change: function( event, handle ) {\r
+ me.jqueryCallback(event, handle);\r
+ },\r
+ slide: function( event, handle ) {\r
+ me.jqueryCallback(event, handle);\r
+ }\r
+ });\r
+ \r
+ */\r
+ {}\r
+ \r
+ }\r
+ setZ(isNew);\r
+ return domNode;\r
+ }\r
+\r
+ /**\r
+ * \r
+ * @param isNew\r
+ */\r
+ private void setZ(boolean isNew) {\r
+ int z = JSToolkit.getZIndex(this, null);\r
+ if (z == z0)\r
+ return;\r
+ z0 = z;\r
+ System.out.println("JSSliderUI setting z to " + z);\r
+ DOMNode sliderTrack = null;\r
+ DOMNode sliderHandle = null;\r
+ /**\r
+ * @j2sNative\r
+ * \r
+ * sliderTrack = this.domNode.firstChild;\r
+ * sliderHandle = sliderTrack.firstChild;\r
+ * sliderTrack.style["z-index"] = z++;\r
+ * sliderHandle.style["z-index"] = z++;\r
+ */\r
+ {}\r
+ // mark the handle and track with the "swingjs-ui" class\r
+ // so as to ignore all mouse/touch events from Jmol._jsSetMouse();\r
+ if (isNew) {\r
+ $(sliderHandle).addClass("swingjs-ui");\r
+ $(sliderTrack).addClass("swingjs-ui");\r
+ }\r
+ }\r
+\r
+ /**\r
+ * called from JavaScript via the hook added in getDOMObject \r
+ * \r
+ * @param event\r
+ * @param ui\r
+ */\r
+ public void jqueryCallback(Object event, DOMNode ui) {\r
+ // from JavaScript\r
+ int value = 0;\r
+ \r
+ /**\r
+ * @j2sNative\r
+ * \r
+ * value = ui.value;\r
+ * \r
+ */\r
+ {}\r
+ \r
+ jSlider.setValue(val = value);\r
+ }\r
+ \r
+ protected Dimension setHTMLSize(DOMNode obj, boolean addCSS) {\r
+ return (orientation == "horizontal" ? new Dimension(100, 20) : new Dimension(20, 100));\r
+ }\r
+\r
+ @Override\r
+ protected void installJSUI() {\r
+ jSlider.addChangeListener(this);\r
+ jSlider.addPropertyChangeListener(this);\r
+ }\r
+\r
+ @Override\r
+ protected void uninstallJSUI() {\r
+ jSlider.removeChangeListener(this);\r
+ jSlider.removePropertyChangeListener(this);\r
+ }\r
+\r
+ @Override\r
+ public void propertyChange(PropertyChangeEvent e) {\r
+ String prop = e.getPropertyName();\r
+ System.out.println(id + " propertyChange " + prop);\r
+ if (prop == "ancestor")\r
+ setZ(false);\r
+ }\r
+\r
+ @Override\r
+ public void stateChanged(ChangeEvent e) {\r
+ // from Java\r
+ int v;\r
+ if ((v = jSlider.getMinimum()) != min)\r
+ setSliderAttr("min", min = v);\r
+ if ((v = jSlider.getMaximum()) != max)\r
+ setSliderAttr("max", max = v); \r
+ if ((v = jSlider.getValue()) != val)\r
+ setSliderAttr("value", val = v); \r
+ setZ(false);\r
+ }\r
+\r
+ private void setSliderAttr(String key, int val) {\r
+ System.out.println(id + " setting " + key + " = " + val);\r
+ /**\r
+ * @j2sNative\r
+ * \r
+ * var a = {};\r
+ * a[key]= val;\r
+ * this.$(this.jqSlider).slider(a);\r
+ */\r
+ {}\r
+ }\r
+\r
+}\r