ea16d757a91c0f1439ae92b7a9511dedfdc7889c
[jalviewjs.git] / site / j2s / swingjs / plaf / JSRadioButtonUI.js
1 Clazz.declarePackage ("swingjs.plaf");\r
2 Clazz.load (["swingjs.plaf.JSButtonUI"], "swingjs.plaf.JSRadioButtonUI", ["java.util.HashMap", "javax.swing.DefaultButtonModel", "swingjs.api.DOMNode"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.label = null;\r
5 Clazz.instantialize (this, arguments);\r
6 }, swingjs.plaf, "JSRadioButtonUI", swingjs.plaf.JSButtonUI);\r
7 Clazz.overrideMethod (c$, "getDOMObject", \r
8 function () {\r
9 return this.getButtonObject ("radio");\r
10 });\r
11 Clazz.overrideMethod (c$, "getPropertyPrefix", \r
12 function () {\r
13 return "RadioButton.";\r
14 });\r
15 Clazz.overrideMethod (c$, "setHTMLSize", \r
16 function (obj, addCSS) {\r
17 swingjs.api.DOMNode.setStyles (this.domBtn, ["position", null]);\r
18 swingjs.api.DOMNode.setStyles (this.label, ["position", null]);\r
19 var d = this.setHTMLSize1 (obj, addCSS, false);\r
20 swingjs.api.DOMNode.setStyles (this.domBtn, ["position", "absolute"]);\r
21 swingjs.api.DOMNode.setStyles (this.label, ["position", "absolute"]);\r
22 return d;\r
23 }, "swingjs.api.DOMNode,~B");\r
24 Clazz.defineMethod (c$, "getButtonObject", \r
25 function (myType) {\r
26 var b = this.c;\r
27 var isNew = false;\r
28 var doAll = false;\r
29 if (this.domNode == null) {\r
30 doAll = true;\r
31 if (swingjs.plaf.JSRadioButtonUI.groupNames == null) swingjs.plaf.JSRadioButtonUI.groupNames =  new java.util.HashMap ();\r
32 var bg = null;\r
33 var name = this.id;\r
34 isNew = true;\r
35 if (Clazz.instanceOf (b.getModel (), javax.swing.DefaultButtonModel)) {\r
36 bg = (b.getModel ()).getGroup ();\r
37 name = swingjs.plaf.JSRadioButtonUI.groupNames.get (bg);\r
38 if (name == null) swingjs.plaf.JSRadioButtonUI.groupNames.put (bg, name = this.id);\r
39  else isNew = false;\r
40 }this.domBtn = this.enableNode = this.createDOMObject ("input", this.id, ["type", myType, "name", name]);\r
41 this.label = this.textNode = this.createDOMObject ("label", this.id + "l", ["htmlFor", this.id]);\r
42 }if (b.isSelected () || isNew) swingjs.api.DOMNode.setAttr (this.domBtn, "checked", "true");\r
43 this.setCssFont (swingjs.api.DOMNode.setAttr (this.label, "innerHTML", (this.c).getText ()), this.c.getFont ());\r
44 var drad = this.setHTMLSize1 (this.domBtn, false, false);\r
45 this.setHTMLSize1 (this.label, false, false);\r
46 var obj = this.wrap ("div", "", [this.domBtn, this.label]);\r
47 var dobj = this.setHTMLSize1 (obj, true, true);\r
48 swingjs.plaf.JSComponentUI.vCenter (this.domBtn, -75);\r
49 swingjs.plaf.JSComponentUI.vCenter (this.label, -50);\r
50 swingjs.api.DOMNode.setStyles (this.label, ["position", "absolute", "left", drad.width + "px"]);\r
51 swingjs.api.DOMNode.setStyles (this.domBtn, ["position", "absolute"]);\r
52 if (doAll) {\r
53 obj = this.wrap ("div", this.id + "_0", [this.domBtn, this.label]);\r
54 swingjs.api.DOMNode.setStyles (obj, ["position", "absolute"]);\r
55 } else {\r
56 obj = this.domNode;\r
57 obj.appendChild (this.domBtn);\r
58 obj.appendChild (this.label);\r
59 }return swingjs.api.DOMNode.setSize (obj, dobj.width, dobj.height);\r
60 }, "~S");\r
61 Clazz.defineStatics (c$,\r
62 "groupNames", null);\r
63 });\r