JAL-1807 test
[jalviewjs.git] / bin / javajs / swing / JPanel.js
1 Clazz.declarePackage ("javajs.swing");
2 Clazz.load (["javajs.swing.JComponent"], "javajs.swing.JPanel", ["javajs.swing.Grid", "$.GridBagConstraints", "javajs.util.SB"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.grid = null;
5 this.nElements = 0;
6 this.last = null;
7 Clazz.instantialize (this, arguments);
8 }, javajs.swing, "JPanel", javajs.swing.JComponent);
9 Clazz.makeConstructor (c$, 
10 function (manager) {
11 Clazz.superConstructor (this, javajs.swing.JPanel, ["JP"]);
12 this.grid =  new javajs.swing.Grid (10, 10);
13 }, "javajs.awt.LayoutManager");
14 Clazz.defineMethod (c$, "add", 
15 function (btn, c) {
16 this.last = (++this.nElements == 1 ? btn : null);
17 if (Clazz.instanceOf (c, String)) {
18 if (c.equals ("North")) c =  new javajs.swing.GridBagConstraints (0, 0, 3, 1, 0, 0, 10, 0, null, 0, 0);
19  else if (c.equals ("South")) c =  new javajs.swing.GridBagConstraints (0, 2, 3, 1, 0, 0, 10, 0, null, 0, 0);
20  else if (c.equals ("East")) c =  new javajs.swing.GridBagConstraints (2, 1, 1, 1, 0, 0, 13, 0, null, 0, 0);
21  else if (c.equals ("West")) c =  new javajs.swing.GridBagConstraints (0, 1, 1, 1, 0, 0, 17, 0, null, 0, 0);
22  else c =  new javajs.swing.GridBagConstraints (1, 1, 1, 1, 0, 0, 10, 0, null, 0, 0);
23 }this.grid.add (btn, c);
24 }, "javajs.swing.JComponent,~O");
25 Clazz.overrideMethod (c$, "toHTML", 
26 function () {
27 if (this.last != null) {
28 this.grid =  new javajs.swing.Grid (1, 1);
29 this.grid.add (this.last,  new javajs.swing.GridBagConstraints (0, 0, 1, 1, 0, 0, 10, 0, null, 0, 0));
30 this.last = null;
31 }var sb =  new javajs.util.SB ();
32 sb.append ("\n<div id='" + this.id + "' class='JPanel' style='" + this.getCSSstyle (100, 100) + "'>\n");
33 sb.append ("\n<span id='" + this.id + "_minimizer' style='width:" + this.minWidth + "px;height:" + this.minHeight + "px;'>");
34 sb.append (this.grid.toHTML (this.id));
35 sb.append ("</span>");
36 sb.append ("\n</div>\n");
37 return sb.toString ();
38 });
39 });