JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / bin / javajs / swing / Grid.js
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 () {
4 this.nrows = 0;
5 this.ncols = 0;
6 this.grid = null;
7 this.renderer = null;
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);
13 }, "~N,~N");
14 Clazz.defineMethod (c$, "add", 
15 function (btn, c) {
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);
20 }
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];
24
25 for (var i = g.length; --i >= this.nrows; ) g[i] =  new Array (this.ncols * 2 + 1);
26
27 this.grid = g;
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", 
32 function (id) {
33 var sb =  new javajs.util.SB ();
34 id += "_grid";
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));
40
41 sb.append ("</tr>");
42 }
43 sb.append ("\n<tr><td style='height:20%;width:20%'></td></tr></table>\n");
44 return sb.toString ();
45 }, "~S");
46 });