JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / javajs / swing / JSplitPane.js
1 Clazz.declarePackage ("javajs.swing");\r
2 Clazz.load (["javajs.swing.JComponent"], "javajs.swing.JSplitPane", ["javajs.swing.JComponentImp", "javajs.util.SB"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.isH = true;\r
5 this.split = 1;\r
6 this.right = null;\r
7 this.left = null;\r
8 Clazz.instantialize (this, arguments);\r
9 }, javajs.swing, "JSplitPane", javajs.swing.JComponent);\r
10 Clazz.makeConstructor (c$, \r
11 function (split) {\r
12 Clazz.superConstructor (this, javajs.swing.JSplitPane, ["JSpP"]);\r
13 this.split = split;\r
14 this.isH = (split == 1);\r
15 }, "~N");\r
16 Clazz.defineMethod (c$, "setRightComponent", \r
17 function (r) {\r
18 this.right =  new javajs.swing.JComponentImp (null);\r
19 this.right.add (r);\r
20 }, "javajs.swing.JComponent");\r
21 Clazz.defineMethod (c$, "setLeftComponent", \r
22 function (l) {\r
23 this.left =  new javajs.swing.JComponentImp (null);\r
24 this.left.add (l);\r
25 }, "javajs.swing.JComponent");\r
26 Clazz.defineMethod (c$, "getSubcomponentWidth", \r
27 function () {\r
28 var w = this.width;\r
29 if (w == 0) {\r
30 var wleft = this.left.getSubcomponentWidth ();\r
31 var wright = this.right.getSubcomponentWidth ();\r
32 if (wleft > 0 && wright > 0) {\r
33 if (this.isH) w = wleft + wright;\r
34  else w = Math.max (wleft, wright);\r
35 }}return w;\r
36 });\r
37 Clazz.defineMethod (c$, "getSubcomponentHeight", \r
38 function () {\r
39 var h = this.height;\r
40 if (h == 0) {\r
41 var hleft = this.left.getSubcomponentHeight ();\r
42 var hright = this.right.getSubcomponentHeight ();\r
43 if (hleft > 0 && hright > 0) {\r
44 if (this.isH) h = Math.max (hleft, hright);\r
45  else h = hleft + hright;\r
46 }}return h;\r
47 });\r
48 Clazz.defineMethod (c$, "toHTML", \r
49 function () {\r
50 if (this.left == null || this.right == null) return "";\r
51 var isH = (this.split == 1);\r
52 if (this.width == 0) this.width = this.getSubcomponentWidth ();\r
53 if (this.height == 0) this.height = this.getSubcomponentHeight ();\r
54 var sb =  new javajs.util.SB ();\r
55 sb.append ("<div id='" + this.id + "' class='JSplitPane' style='" + this.getCSSstyle (100, 100) + "'>");\r
56 if (isH) sb.append ("<div id='" + this.id + "_left' style='width:50%;height:100%;position:absolute;top:0%;left:0%'>");\r
57  else sb.append ("<div id='" + this.id + "_top' style='width:100%;height:50%;position:absolute;top:0%;left:0%'>");\r
58 sb.append (this.left.getComponents ()[0].toHTML ());\r
59 if (isH) sb.append ("</div><div id='" + this.id + "_right' style='width:50%;height:100%;position:absolute;top:0%;left:50%'>");\r
60  else sb.append ("</div><div id='" + this.id + "_bottom' style='width:100%;height:50%;position:absolute;top:50%;left:0%'>");\r
61 sb.append (this.right.getComponents ()[0].toHTML ());\r
62 sb.append ("</div></div>\n");\r
63 return sb.toString ();\r
64 });\r
65 Clazz.defineStatics (c$,\r
66 "HORIZONTAL_SPLIT", 1);\r
67 });\r