JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / javajs / swing / JTable.js
1 Clazz.declarePackage ("javajs.swing");\r
2 Clazz.load (["javajs.swing.ColumnSelectionModel", "$.JComponent", "$.ListSelectionModel"], "javajs.swing.JTable", ["javajs.util.BS", "$.SB"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.tableModel = null;\r
5 this.bsSelectedCells = null;\r
6 this.bsSelectedRows = null;\r
7 this.rowSelectionAllowed = false;\r
8 this.cellSelectionEnabled = false;\r
9 this.selectionListener = null;\r
10 Clazz.instantialize (this, arguments);\r
11 }, javajs.swing, "JTable", javajs.swing.JComponent, [javajs.swing.ListSelectionModel, javajs.swing.ColumnSelectionModel]);\r
12 Clazz.makeConstructor (c$, \r
13 function (tableModel) {\r
14 Clazz.superConstructor (this, javajs.swing.JTable, ["JT"]);\r
15 this.tableModel = tableModel;\r
16 this.bsSelectedCells =  new javajs.util.BS ();\r
17 this.bsSelectedRows =  new javajs.util.BS ();\r
18 }, "javajs.swing.AbstractTableModel");\r
19 Clazz.overrideMethod (c$, "getSelectionModel", \r
20 function () {\r
21 return this;\r
22 });\r
23 Clazz.defineMethod (c$, "getColumnModel", \r
24 function () {\r
25 return this;\r
26 });\r
27 Clazz.defineMethod (c$, "setPreferredScrollableViewportSize", \r
28 function (dimension) {\r
29 this.width = dimension.width;\r
30 this.height = dimension.height;\r
31 }, "javajs.awt.Dimension");\r
32 Clazz.defineMethod (c$, "clearSelection", \r
33 function () {\r
34 this.bsSelectedCells.clearAll ();\r
35 this.bsSelectedRows.clearAll ();\r
36 });\r
37 Clazz.defineMethod (c$, "setRowSelectionAllowed", \r
38 function (b) {\r
39 this.rowSelectionAllowed = b;\r
40 }, "~B");\r
41 Clazz.defineMethod (c$, "setRowSelectionInterval", \r
42 function (i, j) {\r
43 this.bsSelectedRows.clearAll ();\r
44 this.bsSelectedRows.setBits (i, j);\r
45 this.bsSelectedCells.clearAll ();\r
46 }, "~N,~N");\r
47 Clazz.defineMethod (c$, "setCellSelectionEnabled", \r
48 function (enabled) {\r
49 this.cellSelectionEnabled = enabled;\r
50 }, "~B");\r
51 Clazz.overrideMethod (c$, "addListSelectionListener", \r
52 function (listener) {\r
53 this.selectionListener = listener;\r
54 }, "~O");\r
55 Clazz.overrideMethod (c$, "getColumn", \r
56 function (i) {\r
57 return this.tableModel.getColumn (i);\r
58 }, "~N");\r
59 Clazz.overrideMethod (c$, "toHTML", \r
60 function () {\r
61 var sb =  new javajs.util.SB ();\r
62 sb.append ("\n<table id='" + this.id + "_table' class='JTable' >");\r
63 this.tableModel.toHTML (sb, this.id, this.bsSelectedRows);\r
64 sb.append ("\n</table>\n");\r
65 return sb.toString ();\r
66 });\r
67 });\r