1 Clazz.declarePackage ("javajs.swing");
2 Clazz.load (null, "javajs.swing.Grid", ["javajs.swing.Cell", "javajs.util.AU", "$.SB"], function () {
3 c$ = Clazz.decorateAsClass (function () {
8 Clazz.instantialize (this, arguments);
9 }, javajs.swing, "Grid");
10 Clazz.makeConstructor (c$,
11 function (rows, cols) {
12 this.grid = Clazz.newArray (0, 0, null);
14 Clazz.defineMethod (c$, "add",
16 if (c.gridx >= this.ncols) {
17 this.ncols = c.gridx + 1;
18 for (var i = 0; i < this.nrows; i++) {
19 this.grid[i] = javajs.util.AU.ensureLength (this.grid[i], this.ncols * 2);
21 }if (c.gridy >= this.nrows) {
22 var g = new Array (c.gridy * 2 + 1);
23 for (var i = 0; i < this.nrows; i++) g[i] = this.grid[i];
25 for (var i = g.length; --i >= this.nrows; ) g[i] = new Array (this.ncols * 2 + 1);
28 this.nrows = c.gridy + 1;
29 }this.grid[c.gridy][c.gridx] = new javajs.swing.Cell (btn, c);
30 }, "javajs.swing.JComponent,javajs.swing.GridBagConstraints");
31 Clazz.defineMethod (c$, "toHTML",
33 var sb = new javajs.util.SB ();
35 sb.append ("\n<table id='" + id + "' class='Grid' style='width:100%;height:100%'><tr><td style='height:20%;width:20%'></td></tr>");
36 for (var i = 0; i < this.nrows; i++) {
37 var rowid = id + "_" + i;
38 sb.append ("\n<tr id='" + rowid + "'><td></td>");
39 for (var j = 0; j < this.ncols; j++) if (this.grid[i][j] != null) sb.append (this.grid[i][j].toHTML (rowid + "_" + j));
43 sb.append ("\n<tr><td style='height:20%;width:20%'></td></tr></table>\n");
44 return sb.toString ();