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