854b91a9764df71284f3a34009da1040b6ddcb4a
[jalviewjs.git] / site / j2s / javax / swing / JTable.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["java.lang.Enum", "javax.swing.DefaultCellEditor", "$.JCheckBox", "$.JComponent", "$.Scrollable", "javax.swing.event.CellEditorListener", "$.ListSelectionListener", "$.RowSorterListener", "$.TableColumnModelListener", "$.TableModelListener", "javax.swing.plaf.UIResource", "javax.swing.table.DefaultTableCellRenderer", "$.TableCellRenderer", "javax.swing.DropMode", "javax.swing.border.EmptyBorder"], "javax.swing.JTable", ["java.lang.Boolean", "$.Double", "$.Float", "$.IllegalArgumentException", "$.Number", "java.util.Date", "java.awt.Color", "$.Dimension", "$.Point", "$.Rectangle", "java.awt.event.MouseEvent", "java.text.NumberFormat", "javax.swing.DefaultListSelectionModel", "$.Icon", "$.ImageIcon", "$.JScrollPane", "$.JTextField", "$.JViewport", "$.SizeSequence", "$.SwingUtilities", "$.UIDefaults", "$.UIManager", "javax.swing.border.LineBorder", "javax.swing.event.RowSorterEvent", "$.TableModelEvent", "javax.swing.table.AbstractTableModel", "$.DefaultTableColumnModel", "$.DefaultTableModel", "$.JTableHeader", "$.TableColumn", "$.TableRowSorter", "jssun.swing.SwingUtilities2"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.dataModel = null;\r
5 this.columnModel = null;\r
6 this.selectionModel = null;\r
7 this.tableHeader = null;\r
8 this.rowHeight = 0;\r
9 this.rowMargin = 0;\r
10 this.gridColor = null;\r
11 this.showHorizontalLines = false;\r
12 this.showVerticalLines = false;\r
13 this.autoResizeMode = 0;\r
14 this.autoCreateColumnsFromModel = false;\r
15 this.preferredViewportSize = null;\r
16 this.rowSelectionAllowed = false;\r
17 this.cellSelectionEnabled = false;\r
18 this.editorComp = null;\r
19 this.cellEditor = null;\r
20 this.editingColumn = 0;\r
21 this.editingRow = 0;\r
22 this.defaultRenderersByColumnClass = null;\r
23 this.defaultEditorsByColumnClass = null;\r
24 this.selectionForeground = null;\r
25 this.selectionBackground = null;\r
26 this.rowModel = null;\r
27 this.dragEnabled = false;\r
28 this.surrendersFocusOnKeystroke = false;\r
29 this.editorRemover = null;\r
30 this.columnSelectionAdjusting = false;\r
31 this.rowSelectionAdjusting = false;\r
32 this.isRowHeightSet = false;\r
33 this.updateSelectionOnSort = false;\r
34 this.sortManager = null;\r
35 this.ignoreSortChange = false;\r
36 this.$sorterChanged = false;\r
37 this.autoCreateRowSorter = false;\r
38 this.fillsViewportHeight = false;\r
39 this.dropMode = null;\r
40 if (!Clazz.isClassDefined ("javax.swing.JTable.SortManager")) {\r
41 javax.swing.JTable.$JTable$SortManager$ ();\r
42 }\r
43 if (!Clazz.isClassDefined ("javax.swing.JTable.ModelChange")) {\r
44 javax.swing.JTable.$JTable$ModelChange$ ();\r
45 }\r
46 Clazz.instantialize (this, arguments);\r
47 }, javax.swing, "JTable", javax.swing.JComponent, [javax.swing.event.TableModelListener, javax.swing.Scrollable, javax.swing.event.TableColumnModelListener, javax.swing.event.ListSelectionListener, javax.swing.event.CellEditorListener, javax.swing.event.RowSorterListener]);\r
48 Clazz.prepareFields (c$, function () {\r
49 this.dropMode = javax.swing.DropMode.USE_SELECTION;\r
50 });\r
51 Clazz.makeConstructor (c$, \r
52 function () {\r
53 this.construct (null, null, null);\r
54 });\r
55 Clazz.makeConstructor (c$, \r
56 function (dm) {\r
57 this.construct (dm, null, null);\r
58 }, "javax.swing.table.TableModel");\r
59 Clazz.makeConstructor (c$, \r
60 function (dm, cm) {\r
61 this.construct (dm, cm, null);\r
62 }, "javax.swing.table.TableModel,javax.swing.table.TableColumnModel");\r
63 Clazz.makeConstructor (c$, \r
64 function (dm, cm, sm) {\r
65 Clazz.superConstructor (this, javax.swing.JTable);\r
66 this.setLayout (null);\r
67 if (cm == null) {\r
68 cm = this.createDefaultColumnModel ();\r
69 this.autoCreateColumnsFromModel = true;\r
70 }this.setColumnModel (cm);\r
71 if (sm == null) {\r
72 sm = this.createDefaultSelectionModel ();\r
73 }this.setSelectionModel (sm);\r
74 if (dm == null) {\r
75 dm = this.createDefaultDataModel ();\r
76 }this.setModel (dm);\r
77 this.initializeLocalVars ();\r
78 this.updateUI ();\r
79 }, "javax.swing.table.TableModel,javax.swing.table.TableColumnModel,javax.swing.ListSelectionModel");\r
80 Clazz.makeConstructor (c$, \r
81 function (numRows, numColumns) {\r
82 this.construct ( new javax.swing.table.DefaultTableModel (numRows, numColumns));\r
83 }, "~N,~N");\r
84 Clazz.makeConstructor (c$, \r
85 function (rowData, columnNames) {\r
86 this.construct ( new javax.swing.table.DefaultTableModel (rowData, columnNames));\r
87 }, "java.util.Vector,java.util.Vector");\r
88 Clazz.makeConstructor (c$, \r
89 function (rowData, columnNames) {\r
90 this.construct (((Clazz.isClassDefined ("javax.swing.JTable$1") ? 0 : javax.swing.JTable.$JTable$1$ ()), Clazz.innerTypeInstance (javax.swing.JTable$1, this, Clazz.cloneFinals ("columnNames", columnNames, "rowData", rowData))));\r
91 }, "~A,~A");\r
92 Clazz.defineMethod (c$, "addNotify", \r
93 function () {\r
94 Clazz.superCall (this, javax.swing.JTable, "addNotify", []);\r
95 this.configureEnclosingScrollPane ();\r
96 });\r
97 Clazz.defineMethod (c$, "configureEnclosingScrollPane", \r
98 function () {\r
99 var p = this.getParent ();\r
100 if (Clazz.instanceOf (p, javax.swing.JViewport)) {\r
101 var gp = p.getParent ();\r
102 if (Clazz.instanceOf (gp, javax.swing.JScrollPane)) {\r
103 var scrollPane = gp;\r
104 var viewport = scrollPane.getViewport ();\r
105 if (viewport == null || viewport.getView () !== this) {\r
106 return;\r
107 }scrollPane.setColumnHeaderView (this.getTableHeader ());\r
108 this.configureEnclosingScrollPaneUI ();\r
109 }}});\r
110 Clazz.defineMethod (c$, "configureEnclosingScrollPaneUI", \r
111  function () {\r
112 var p = this.getParent ();\r
113 if (Clazz.instanceOf (p, javax.swing.JViewport)) {\r
114 var gp = p.getParent ();\r
115 if (Clazz.instanceOf (gp, javax.swing.JScrollPane)) {\r
116 var scrollPane = gp;\r
117 var viewport = scrollPane.getViewport ();\r
118 if (viewport == null || viewport.getView () !== this) {\r
119 return;\r
120 }var border = scrollPane.getBorder ();\r
121 if (border == null || Clazz.instanceOf (border, javax.swing.plaf.UIResource)) {\r
122 var scrollPaneBorder = javax.swing.UIManager.getBorder ("Table.scrollPaneBorder");\r
123 if (scrollPaneBorder != null) {\r
124 scrollPane.setBorder (scrollPaneBorder);\r
125 }}var corner = scrollPane.getCorner ("UPPER_TRAILING_CORNER");\r
126 if (corner == null || Clazz.instanceOf (corner, javax.swing.plaf.UIResource)) {\r
127 corner = null;\r
128 try {\r
129 corner = javax.swing.UIManager.get ("Table.scrollPaneCornerComponent");\r
130 } catch (e) {\r
131 if (Clazz.exceptionOf (e, Exception)) {\r
132 } else {\r
133 throw e;\r
134 }\r
135 }\r
136 scrollPane.setCorner ("UPPER_TRAILING_CORNER", corner);\r
137 }}}});\r
138 Clazz.overrideMethod (c$, "removeNotify", \r
139 function () {\r
140 });\r
141 Clazz.defineMethod (c$, "unconfigureEnclosingScrollPane", \r
142 function () {\r
143 var p = this.getParent ();\r
144 if (Clazz.instanceOf (p, javax.swing.JViewport)) {\r
145 var gp = p.getParent ();\r
146 if (Clazz.instanceOf (gp, javax.swing.JScrollPane)) {\r
147 var scrollPane = gp;\r
148 var viewport = scrollPane.getViewport ();\r
149 if (viewport == null || viewport.getView () !== this) {\r
150 return;\r
151 }scrollPane.setColumnHeaderView (null);\r
152 var corner = scrollPane.getCorner ("UPPER_TRAILING_CORNER");\r
153 if (Clazz.instanceOf (corner, javax.swing.plaf.UIResource)) {\r
154 scrollPane.setCorner ("UPPER_TRAILING_CORNER", null);\r
155 }}}});\r
156 Clazz.defineMethod (c$, "setUIProperty", \r
157 function (propertyName, value) {\r
158 if (propertyName === "rowHeight") {\r
159 if (!this.isRowHeightSet) {\r
160 this.setRowHeight ((value).intValue ());\r
161 this.isRowHeightSet = false;\r
162 }return;\r
163 }Clazz.superCall (this, javax.swing.JTable, "setUIProperty", [propertyName, value]);\r
164 }, "~S,~O");\r
165 c$.createScrollPaneForTable = Clazz.defineMethod (c$, "createScrollPaneForTable", \r
166 function (aTable) {\r
167 return  new javax.swing.JScrollPane (aTable);\r
168 }, "javax.swing.JTable");\r
169 Clazz.defineMethod (c$, "setTableHeader", \r
170 function (tableHeader) {\r
171 if (this.tableHeader !== tableHeader) {\r
172 var old = this.tableHeader;\r
173 if (old != null) {\r
174 old.setTable (null);\r
175 }this.tableHeader = tableHeader;\r
176 if (tableHeader != null) {\r
177 tableHeader.setTable (this);\r
178 }this.firePropertyChangeObject ("tableHeader", old, tableHeader);\r
179 }}, "javax.swing.table.JTableHeader");\r
180 Clazz.defineMethod (c$, "getTableHeader", \r
181 function () {\r
182 return this.tableHeader;\r
183 });\r
184 Clazz.defineMethod (c$, "setRowHeight", \r
185 function (rowHeight) {\r
186 if (rowHeight <= 0) {\r
187 throw  new IllegalArgumentException ("New row height less than 1");\r
188 }var old = this.rowHeight;\r
189 this.rowHeight = rowHeight;\r
190 this.rowModel = null;\r
191 if (this.sortManager != null) {\r
192 this.sortManager.modelRowSizes = null;\r
193 }this.isRowHeightSet = true;\r
194 this.resizeAndRepaint ();\r
195 this.firePropertyChangeInt ("rowHeight", old, rowHeight);\r
196 }, "~N");\r
197 Clazz.defineMethod (c$, "getRowHeight", \r
198 function () {\r
199 return this.rowHeight;\r
200 });\r
201 Clazz.defineMethod (c$, "getRowModel", \r
202  function () {\r
203 if (this.rowModel == null) {\r
204 this.rowModel =  new javax.swing.SizeSequence (this.getRowCount (), this.getRowHeight ());\r
205 }return this.rowModel;\r
206 });\r
207 Clazz.defineMethod (c$, "setRowHeight", \r
208 function (row, rowHeight) {\r
209 if (rowHeight <= 0) {\r
210 throw  new IllegalArgumentException ("New row height less than 1");\r
211 }this.getRowModel ().setSize (row, rowHeight);\r
212 if (this.sortManager != null) {\r
213 this.sortManager.setViewRowHeight (row, rowHeight);\r
214 }this.resizeAndRepaint ();\r
215 }, "~N,~N");\r
216 Clazz.defineMethod (c$, "getRowHeight", \r
217 function (row) {\r
218 return (this.rowModel == null) ? this.getRowHeight () : this.rowModel.getSize (row);\r
219 }, "~N");\r
220 Clazz.defineMethod (c$, "setRowMargin", \r
221 function (rowMargin) {\r
222 var old = this.rowMargin;\r
223 this.rowMargin = rowMargin;\r
224 this.resizeAndRepaint ();\r
225 this.firePropertyChangeInt ("rowMargin", old, rowMargin);\r
226 }, "~N");\r
227 Clazz.defineMethod (c$, "getRowMargin", \r
228 function () {\r
229 return this.rowMargin;\r
230 });\r
231 Clazz.defineMethod (c$, "setIntercellSpacing", \r
232 function (intercellSpacing) {\r
233 this.setRowMargin (intercellSpacing.height);\r
234 this.getColumnModel ().setColumnMargin (intercellSpacing.width);\r
235 this.resizeAndRepaint ();\r
236 }, "java.awt.Dimension");\r
237 Clazz.defineMethod (c$, "getIntercellSpacing", \r
238 function () {\r
239 return  new java.awt.Dimension (this.getColumnModel ().getColumnMargin (), this.rowMargin);\r
240 });\r
241 Clazz.defineMethod (c$, "setGridColor", \r
242 function (gridColor) {\r
243 if (gridColor == null) {\r
244 throw  new IllegalArgumentException ("New color is null");\r
245 }var old = this.gridColor;\r
246 this.gridColor = gridColor;\r
247 this.firePropertyChangeObject ("gridColor", old, gridColor);\r
248 this.repaint ();\r
249 }, "java.awt.Color");\r
250 Clazz.defineMethod (c$, "getGridColor", \r
251 function () {\r
252 return this.gridColor;\r
253 });\r
254 Clazz.defineMethod (c$, "setShowGrid", \r
255 function (showGrid) {\r
256 this.setShowHorizontalLines (showGrid);\r
257 this.setShowVerticalLines (showGrid);\r
258 this.repaint ();\r
259 }, "~B");\r
260 Clazz.defineMethod (c$, "setShowHorizontalLines", \r
261 function (showHorizontalLines) {\r
262 var old = this.showHorizontalLines;\r
263 this.showHorizontalLines = showHorizontalLines;\r
264 this.firePropertyChangeBool ("showHorizontalLines", old, showHorizontalLines);\r
265 this.repaint ();\r
266 }, "~B");\r
267 Clazz.defineMethod (c$, "setShowVerticalLines", \r
268 function (showVerticalLines) {\r
269 var old = this.showVerticalLines;\r
270 this.showVerticalLines = showVerticalLines;\r
271 this.firePropertyChangeBool ("showVerticalLines", old, showVerticalLines);\r
272 this.repaint ();\r
273 }, "~B");\r
274 Clazz.defineMethod (c$, "getShowHorizontalLines", \r
275 function () {\r
276 return this.showHorizontalLines;\r
277 });\r
278 Clazz.defineMethod (c$, "getShowVerticalLines", \r
279 function () {\r
280 return this.showVerticalLines;\r
281 });\r
282 Clazz.defineMethod (c$, "setAutoResizeMode", \r
283 function (mode) {\r
284 if ((mode == 0) || (mode == 1) || (mode == 2) || (mode == 3) || (mode == 4)) {\r
285 var old = this.autoResizeMode;\r
286 this.autoResizeMode = mode;\r
287 this.resizeAndRepaint ();\r
288 if (this.tableHeader != null) {\r
289 this.tableHeader.resizeAndRepaint ();\r
290 }this.firePropertyChangeInt ("autoResizeMode", old, this.autoResizeMode);\r
291 }}, "~N");\r
292 Clazz.defineMethod (c$, "getAutoResizeMode", \r
293 function () {\r
294 return this.autoResizeMode;\r
295 });\r
296 Clazz.defineMethod (c$, "setAutoCreateColumnsFromModel", \r
297 function (autoCreateColumnsFromModel) {\r
298 if (this.autoCreateColumnsFromModel != autoCreateColumnsFromModel) {\r
299 var old = this.autoCreateColumnsFromModel;\r
300 this.autoCreateColumnsFromModel = autoCreateColumnsFromModel;\r
301 if (autoCreateColumnsFromModel) {\r
302 this.createDefaultColumnsFromModel ();\r
303 }this.firePropertyChangeBool ("autoCreateColumnsFromModel", old, autoCreateColumnsFromModel);\r
304 }}, "~B");\r
305 Clazz.defineMethod (c$, "getAutoCreateColumnsFromModel", \r
306 function () {\r
307 return this.autoCreateColumnsFromModel;\r
308 });\r
309 Clazz.defineMethod (c$, "createDefaultColumnsFromModel", \r
310 function () {\r
311 var m = this.getModel ();\r
312 if (m != null) {\r
313 var cm = this.getColumnModel ();\r
314 while (cm.getColumnCount () > 0) {\r
315 cm.removeColumn (cm.getColumn (0));\r
316 }\r
317 for (var i = 0; i < m.getColumnCount (); i++) {\r
318 var newColumn =  new javax.swing.table.TableColumn (i);\r
319 this.addColumn (newColumn);\r
320 }\r
321 }});\r
322 Clazz.defineMethod (c$, "setDefaultRenderer", \r
323 function (columnClass, renderer) {\r
324 if (renderer != null) {\r
325 this.defaultRenderersByColumnClass.put (columnClass, renderer);\r
326 } else {\r
327 this.defaultRenderersByColumnClass.remove (columnClass);\r
328 }}, "Class,javax.swing.table.TableCellRenderer");\r
329 Clazz.defineMethod (c$, "getDefaultRenderer", \r
330 function (columnClass) {\r
331 if (columnClass == null) {\r
332 return null;\r
333 } else {\r
334 var renderer = this.defaultRenderersByColumnClass.get (columnClass);\r
335 if (renderer != null) {\r
336 return renderer;\r
337 } else {\r
338 return this.getDefaultRenderer (columnClass.getSuperclass ());\r
339 }}}, "Class");\r
340 Clazz.defineMethod (c$, "setDefaultEditor", \r
341 function (columnClass, editor) {\r
342 if (editor != null) {\r
343 this.defaultEditorsByColumnClass.put (columnClass, editor);\r
344 } else {\r
345 this.defaultEditorsByColumnClass.remove (columnClass);\r
346 }}, "Class,javax.swing.table.TableCellEditor");\r
347 Clazz.defineMethod (c$, "getDefaultEditor", \r
348 function (columnClass) {\r
349 if (columnClass == null) {\r
350 return null;\r
351 } else {\r
352 var editor = this.defaultEditorsByColumnClass.get (columnClass);\r
353 if (editor != null) {\r
354 return editor;\r
355 } else {\r
356 return this.getDefaultEditor (columnClass.getSuperclass ());\r
357 }}}, "Class");\r
358 Clazz.defineMethod (c$, "setDragEnabled", \r
359 function (b) {\r
360 this.dragEnabled = b;\r
361 }, "~B");\r
362 Clazz.defineMethod (c$, "getDragEnabled", \r
363 function () {\r
364 return this.dragEnabled;\r
365 });\r
366 Clazz.defineMethod (c$, "setDropMode", \r
367 function (dropMode) {\r
368 if (dropMode != null) {\r
369 switch (dropMode) {\r
370 case javax.swing.DropMode.USE_SELECTION:\r
371 case javax.swing.DropMode.ON:\r
372 case javax.swing.DropMode.INSERT:\r
373 case javax.swing.DropMode.INSERT_ROWS:\r
374 case javax.swing.DropMode.INSERT_COLS:\r
375 case javax.swing.DropMode.ON_OR_INSERT:\r
376 case javax.swing.DropMode.ON_OR_INSERT_ROWS:\r
377 case javax.swing.DropMode.ON_OR_INSERT_COLS:\r
378 this.dropMode = dropMode;\r
379 return;\r
380 }\r
381 }throw  new IllegalArgumentException (dropMode + ": Unsupported drop mode for table");\r
382 }, "javax.swing.DropMode");\r
383 Clazz.defineMethod (c$, "getDropMode", \r
384 function () {\r
385 return this.dropMode;\r
386 });\r
387 Clazz.defineMethod (c$, "setAutoCreateRowSorter", \r
388 function (autoCreateRowSorter) {\r
389 var oldValue = this.autoCreateRowSorter;\r
390 this.autoCreateRowSorter = autoCreateRowSorter;\r
391 if (autoCreateRowSorter) {\r
392 this.setRowSorter ( new javax.swing.table.TableRowSorter (this.getModel ()));\r
393 }this.firePropertyChangeBool ("autoCreateRowSorter", oldValue, autoCreateRowSorter);\r
394 }, "~B");\r
395 Clazz.defineMethod (c$, "getAutoCreateRowSorter", \r
396 function () {\r
397 return this.autoCreateRowSorter;\r
398 });\r
399 Clazz.defineMethod (c$, "setUpdateSelectionOnSort", \r
400 function (update) {\r
401 if (this.updateSelectionOnSort != update) {\r
402 this.updateSelectionOnSort = update;\r
403 this.firePropertyChangeBool ("updateSelectionOnSort", !update, update);\r
404 }}, "~B");\r
405 Clazz.defineMethod (c$, "getUpdateSelectionOnSort", \r
406 function () {\r
407 return this.updateSelectionOnSort;\r
408 });\r
409 Clazz.defineMethod (c$, "setRowSorter", \r
410 function (sorter) {\r
411 var oldRowSorter = null;\r
412 if (this.sortManager != null) {\r
413 oldRowSorter = this.sortManager.sorter;\r
414 this.sortManager.dispose ();\r
415 this.sortManager = null;\r
416 }this.rowModel = null;\r
417 this.clearSelectionAndLeadAnchor ();\r
418 if (sorter != null) {\r
419 this.sortManager = Clazz.innerTypeInstance (javax.swing.JTable.SortManager, this, null, sorter);\r
420 }this.resizeAndRepaint ();\r
421 this.firePropertyChangeObject ("rowSorter", oldRowSorter, sorter);\r
422 this.firePropertyChangeObject ("sorter", oldRowSorter, sorter);\r
423 }, "javax.swing.RowSorter");\r
424 Clazz.defineMethod (c$, "getRowSorter", \r
425 function () {\r
426 return (this.sortManager != null) ? this.sortManager.sorter : null;\r
427 });\r
428 Clazz.defineMethod (c$, "setSelectionMode", \r
429 function (selectionMode) {\r
430 this.clearSelection ();\r
431 this.getSelectionModel ().setSelectionMode (selectionMode);\r
432 this.getColumnModel ().getSelectionModel ().setSelectionMode (selectionMode);\r
433 }, "~N");\r
434 Clazz.defineMethod (c$, "setRowSelectionAllowed", \r
435 function (rowSelectionAllowed) {\r
436 var old = this.rowSelectionAllowed;\r
437 this.rowSelectionAllowed = rowSelectionAllowed;\r
438 if (old != rowSelectionAllowed) {\r
439 this.repaint ();\r
440 }this.firePropertyChangeBool ("rowSelectionAllowed", old, rowSelectionAllowed);\r
441 }, "~B");\r
442 Clazz.defineMethod (c$, "getRowSelectionAllowed", \r
443 function () {\r
444 return this.rowSelectionAllowed;\r
445 });\r
446 Clazz.defineMethod (c$, "setColumnSelectionAllowed", \r
447 function (columnSelectionAllowed) {\r
448 var old = this.columnModel.getColumnSelectionAllowed ();\r
449 this.columnModel.setColumnSelectionAllowed (columnSelectionAllowed);\r
450 if (old != columnSelectionAllowed) {\r
451 this.repaint ();\r
452 }this.firePropertyChangeBool ("columnSelectionAllowed", old, columnSelectionAllowed);\r
453 }, "~B");\r
454 Clazz.defineMethod (c$, "getColumnSelectionAllowed", \r
455 function () {\r
456 return this.columnModel.getColumnSelectionAllowed ();\r
457 });\r
458 Clazz.defineMethod (c$, "setCellSelectionEnabled", \r
459 function (cellSelectionEnabled) {\r
460 this.setRowSelectionAllowed (cellSelectionEnabled);\r
461 this.setColumnSelectionAllowed (cellSelectionEnabled);\r
462 var old = this.cellSelectionEnabled;\r
463 this.cellSelectionEnabled = cellSelectionEnabled;\r
464 this.firePropertyChangeBool ("cellSelectionEnabled", old, cellSelectionEnabled);\r
465 }, "~B");\r
466 Clazz.defineMethod (c$, "getCellSelectionEnabled", \r
467 function () {\r
468 return this.getRowSelectionAllowed () && this.getColumnSelectionAllowed ();\r
469 });\r
470 Clazz.defineMethod (c$, "selectAll", \r
471 function () {\r
472 if (this.isEditing ()) {\r
473 this.removeEditor ();\r
474 }if (this.getRowCount () > 0 && this.getColumnCount () > 0) {\r
475 var oldLead;\r
476 var oldAnchor;\r
477 var selModel;\r
478 selModel = this.selectionModel;\r
479 selModel.setValueIsAdjusting (true);\r
480 oldLead = this.getAdjustedIndex (selModel.getLeadSelectionIndex (), true);\r
481 oldAnchor = this.getAdjustedIndex (selModel.getAnchorSelectionIndex (), true);\r
482 this.setRowSelectionInterval (0, this.getRowCount () - 1);\r
483 jssun.swing.SwingUtilities2.setLeadAnchorWithoutSelection (selModel, oldLead, oldAnchor);\r
484 selModel.setValueIsAdjusting (false);\r
485 selModel = this.columnModel.getSelectionModel ();\r
486 selModel.setValueIsAdjusting (true);\r
487 oldLead = this.getAdjustedIndex (selModel.getLeadSelectionIndex (), false);\r
488 oldAnchor = this.getAdjustedIndex (selModel.getAnchorSelectionIndex (), false);\r
489 this.setColumnSelectionInterval (0, this.getColumnCount () - 1);\r
490 jssun.swing.SwingUtilities2.setLeadAnchorWithoutSelection (selModel, oldLead, oldAnchor);\r
491 selModel.setValueIsAdjusting (false);\r
492 }});\r
493 Clazz.defineMethod (c$, "clearSelection", \r
494 function () {\r
495 this.selectionModel.clearSelection ();\r
496 this.columnModel.getSelectionModel ().clearSelection ();\r
497 });\r
498 Clazz.defineMethod (c$, "clearSelectionAndLeadAnchor", \r
499  function () {\r
500 this.selectionModel.setValueIsAdjusting (true);\r
501 this.columnModel.getSelectionModel ().setValueIsAdjusting (true);\r
502 this.clearSelection ();\r
503 this.selectionModel.setAnchorSelectionIndex (-1);\r
504 this.selectionModel.setLeadSelectionIndex (-1);\r
505 this.columnModel.getSelectionModel ().setAnchorSelectionIndex (-1);\r
506 this.columnModel.getSelectionModel ().setLeadSelectionIndex (-1);\r
507 this.selectionModel.setValueIsAdjusting (false);\r
508 this.columnModel.getSelectionModel ().setValueIsAdjusting (false);\r
509 });\r
510 Clazz.defineMethod (c$, "getAdjustedIndex", \r
511  function (index, row) {\r
512 var compare = row ? this.getRowCount () : this.getColumnCount ();\r
513 return index < compare ? index : -1;\r
514 }, "~N,~B");\r
515 Clazz.defineMethod (c$, "boundRow", \r
516  function (row) {\r
517 if (row < 0 || row >= this.getRowCount ()) {\r
518 throw  new IllegalArgumentException ("Row index out of range");\r
519 }return row;\r
520 }, "~N");\r
521 Clazz.defineMethod (c$, "boundColumn", \r
522  function (col) {\r
523 if (col < 0 || col >= this.getColumnCount ()) {\r
524 throw  new IllegalArgumentException ("Column index out of range");\r
525 }return col;\r
526 }, "~N");\r
527 Clazz.defineMethod (c$, "setRowSelectionInterval", \r
528 function (index0, index1) {\r
529 this.selectionModel.setSelectionInterval (this.boundRow (index0), this.boundRow (index1));\r
530 }, "~N,~N");\r
531 Clazz.defineMethod (c$, "setColumnSelectionInterval", \r
532 function (index0, index1) {\r
533 this.columnModel.getSelectionModel ().setSelectionInterval (this.boundColumn (index0), this.boundColumn (index1));\r
534 }, "~N,~N");\r
535 Clazz.defineMethod (c$, "addRowSelectionInterval", \r
536 function (index0, index1) {\r
537 this.selectionModel.addSelectionInterval (this.boundRow (index0), this.boundRow (index1));\r
538 }, "~N,~N");\r
539 Clazz.defineMethod (c$, "addColumnSelectionInterval", \r
540 function (index0, index1) {\r
541 this.columnModel.getSelectionModel ().addSelectionInterval (this.boundColumn (index0), this.boundColumn (index1));\r
542 }, "~N,~N");\r
543 Clazz.defineMethod (c$, "removeRowSelectionInterval", \r
544 function (index0, index1) {\r
545 this.selectionModel.removeSelectionInterval (this.boundRow (index0), this.boundRow (index1));\r
546 }, "~N,~N");\r
547 Clazz.defineMethod (c$, "removeColumnSelectionInterval", \r
548 function (index0, index1) {\r
549 this.columnModel.getSelectionModel ().removeSelectionInterval (this.boundColumn (index0), this.boundColumn (index1));\r
550 }, "~N,~N");\r
551 Clazz.defineMethod (c$, "getSelectedRow", \r
552 function () {\r
553 return this.selectionModel.getMinSelectionIndex ();\r
554 });\r
555 Clazz.defineMethod (c$, "getSelectedColumn", \r
556 function () {\r
557 return this.columnModel.getSelectionModel ().getMinSelectionIndex ();\r
558 });\r
559 Clazz.defineMethod (c$, "getSelectedRows", \r
560 function () {\r
561 var iMin = this.selectionModel.getMinSelectionIndex ();\r
562 var iMax = this.selectionModel.getMaxSelectionIndex ();\r
563 if ((iMin == -1) || (iMax == -1)) {\r
564 return  Clazz.newIntArray (0, 0);\r
565 }var rvTmp =  Clazz.newIntArray (1 + (iMax - iMin), 0);\r
566 var n = 0;\r
567 for (var i = iMin; i <= iMax; i++) {\r
568 if (this.selectionModel.isSelectedIndex (i)) {\r
569 rvTmp[n++] = i;\r
570 }}\r
571 var rv =  Clazz.newIntArray (n, 0);\r
572 System.arraycopy (rvTmp, 0, rv, 0, n);\r
573 return rv;\r
574 });\r
575 Clazz.defineMethod (c$, "getSelectedColumns", \r
576 function () {\r
577 return this.columnModel.getSelectedColumns ();\r
578 });\r
579 Clazz.defineMethod (c$, "getSelectedRowCount", \r
580 function () {\r
581 var iMin = this.selectionModel.getMinSelectionIndex ();\r
582 var iMax = this.selectionModel.getMaxSelectionIndex ();\r
583 var count = 0;\r
584 for (var i = iMin; i <= iMax; i++) {\r
585 if (this.selectionModel.isSelectedIndex (i)) {\r
586 count++;\r
587 }}\r
588 return count;\r
589 });\r
590 Clazz.defineMethod (c$, "getSelectedColumnCount", \r
591 function () {\r
592 return this.columnModel.getSelectedColumnCount ();\r
593 });\r
594 Clazz.defineMethod (c$, "isRowSelected", \r
595 function (row) {\r
596 return this.selectionModel.isSelectedIndex (row);\r
597 }, "~N");\r
598 Clazz.defineMethod (c$, "isColumnSelected", \r
599 function (column) {\r
600 return this.columnModel.getSelectionModel ().isSelectedIndex (column);\r
601 }, "~N");\r
602 Clazz.defineMethod (c$, "isCellSelected", \r
603 function (row, column) {\r
604 if (!this.getRowSelectionAllowed () && !this.getColumnSelectionAllowed ()) {\r
605 return false;\r
606 }return (!this.getRowSelectionAllowed () || this.isRowSelected (row)) && (!this.getColumnSelectionAllowed () || this.isColumnSelected (column));\r
607 }, "~N,~N");\r
608 Clazz.defineMethod (c$, "changeSelectionModel", \r
609  function (sm, index, toggle, extend, selected, anchor, anchorSelected) {\r
610 if (extend) {\r
611 if (toggle) {\r
612 if (anchorSelected) {\r
613 sm.addSelectionInterval (anchor, index);\r
614 } else {\r
615 sm.removeSelectionInterval (anchor, index);\r
616 if (Boolean.TRUE === this.getClientProperty ("Table.isFileList")) {\r
617 sm.addSelectionInterval (index, index);\r
618 sm.setAnchorSelectionIndex (anchor);\r
619 }}} else {\r
620 sm.setSelectionInterval (anchor, index);\r
621 }} else {\r
622 if (toggle) {\r
623 if (selected) {\r
624 sm.removeSelectionInterval (index, index);\r
625 } else {\r
626 sm.addSelectionInterval (index, index);\r
627 }} else {\r
628 sm.setSelectionInterval (index, index);\r
629 }}}, "javax.swing.ListSelectionModel,~N,~B,~B,~B,~N,~B");\r
630 Clazz.defineMethod (c$, "changeSelection", \r
631 function (rowIndex, columnIndex, toggle, extend) {\r
632 var rsm = this.getSelectionModel ();\r
633 var csm = this.getColumnModel ().getSelectionModel ();\r
634 var anchorRow = this.getAdjustedIndex (rsm.getAnchorSelectionIndex (), true);\r
635 var anchorCol = this.getAdjustedIndex (csm.getAnchorSelectionIndex (), false);\r
636 var anchorSelected = true;\r
637 if (anchorRow == -1) {\r
638 if (this.getRowCount () > 0) {\r
639 anchorRow = 0;\r
640 }anchorSelected = false;\r
641 }if (anchorCol == -1) {\r
642 if (this.getColumnCount () > 0) {\r
643 anchorCol = 0;\r
644 }anchorSelected = false;\r
645 }var selected = this.isCellSelected (rowIndex, columnIndex);\r
646 anchorSelected = anchorSelected && this.isCellSelected (anchorRow, anchorCol);\r
647 this.changeSelectionModel (csm, columnIndex, toggle, extend, selected, anchorCol, anchorSelected);\r
648 this.changeSelectionModel (rsm, rowIndex, toggle, extend, selected, anchorRow, anchorSelected);\r
649 if (this.getAutoscrolls ()) {\r
650 var cellRect = this.getCellRect (rowIndex, columnIndex, false);\r
651 if (cellRect != null) {\r
652 this.scrollRectToVisible (cellRect);\r
653 }}}, "~N,~N,~B,~B");\r
654 Clazz.defineMethod (c$, "getSelectionForeground", \r
655 function () {\r
656 return this.selectionForeground;\r
657 });\r
658 Clazz.defineMethod (c$, "setSelectionForeground", \r
659 function (selectionForeground) {\r
660 var old = this.selectionForeground;\r
661 this.selectionForeground = selectionForeground;\r
662 this.firePropertyChangeObject ("selectionForeground", old, selectionForeground);\r
663 if (!selectionForeground.equals (old)) {\r
664 this.repaint ();\r
665 }}, "java.awt.Color");\r
666 Clazz.defineMethod (c$, "getSelectionBackground", \r
667 function () {\r
668 return this.selectionBackground;\r
669 });\r
670 Clazz.defineMethod (c$, "setSelectionBackground", \r
671 function (selectionBackground) {\r
672 var old = this.selectionBackground;\r
673 this.selectionBackground = selectionBackground;\r
674 this.firePropertyChangeObject ("selectionBackground", old, selectionBackground);\r
675 if (!selectionBackground.equals (old)) {\r
676 this.repaint ();\r
677 }}, "java.awt.Color");\r
678 Clazz.defineMethod (c$, "getColumn", \r
679 function (identifier) {\r
680 var cm = this.getColumnModel ();\r
681 var columnIndex = cm.getColumnIndex (identifier);\r
682 return cm.getColumn (columnIndex);\r
683 }, "~O");\r
684 Clazz.defineMethod (c$, "convertColumnIndexToModel", \r
685 function (viewColumnIndex) {\r
686 if (viewColumnIndex < 0) {\r
687 return viewColumnIndex;\r
688 }return this.getColumnModel ().getColumn (viewColumnIndex).getModelIndex ();\r
689 }, "~N");\r
690 Clazz.defineMethod (c$, "convertColumnIndexToView", \r
691 function (modelColumnIndex) {\r
692 if (modelColumnIndex < 0) {\r
693 return modelColumnIndex;\r
694 }var cm = this.getColumnModel ();\r
695 for (var column = 0; column < this.getColumnCount (); column++) {\r
696 if (cm.getColumn (column).getModelIndex () == modelColumnIndex) {\r
697 return column;\r
698 }}\r
699 return -1;\r
700 }, "~N");\r
701 Clazz.defineMethod (c$, "convertRowIndexToView", \r
702 function (modelRowIndex) {\r
703 var sorter = this.getRowSorter ();\r
704 if (sorter != null) {\r
705 return sorter.convertRowIndexToView (modelRowIndex);\r
706 }return modelRowIndex;\r
707 }, "~N");\r
708 Clazz.defineMethod (c$, "convertRowIndexToModel", \r
709 function (viewRowIndex) {\r
710 var sorter = this.getRowSorter ();\r
711 if (sorter != null) {\r
712 return sorter.convertRowIndexToModel (viewRowIndex);\r
713 }return viewRowIndex;\r
714 }, "~N");\r
715 Clazz.defineMethod (c$, "getRowCount", \r
716 function () {\r
717 var sorter = this.getRowSorter ();\r
718 if (sorter != null) {\r
719 return sorter.getViewRowCount ();\r
720 }return this.getModel ().getRowCount ();\r
721 });\r
722 Clazz.defineMethod (c$, "getColumnCount", \r
723 function () {\r
724 return this.getColumnModel ().getColumnCount ();\r
725 });\r
726 Clazz.defineMethod (c$, "getColumnName", \r
727 function (column) {\r
728 return this.getModel ().getColumnName (this.convertColumnIndexToModel (column));\r
729 }, "~N");\r
730 Clazz.defineMethod (c$, "getColumnClass", \r
731 function (column) {\r
732 return this.getModel ().getColumnClass (this.convertColumnIndexToModel (column));\r
733 }, "~N");\r
734 Clazz.defineMethod (c$, "getValueAt", \r
735 function (row, column) {\r
736 return this.getModel ().getValueAt (this.convertRowIndexToModel (row), this.convertColumnIndexToModel (column));\r
737 }, "~N,~N");\r
738 Clazz.defineMethod (c$, "setValueAt", \r
739 function (aValue, row, column) {\r
740 this.getModel ().setValueAt (aValue, this.convertRowIndexToModel (row), this.convertColumnIndexToModel (column));\r
741 }, "~O,~N,~N");\r
742 Clazz.defineMethod (c$, "isCellEditable", \r
743 function (row, column) {\r
744 return this.getModel ().isCellEditable (this.convertRowIndexToModel (row), this.convertColumnIndexToModel (column));\r
745 }, "~N,~N");\r
746 Clazz.defineMethod (c$, "addColumn", \r
747 function (aColumn) {\r
748 if (aColumn.getHeaderValue () == null) {\r
749 var modelColumn = aColumn.getModelIndex ();\r
750 var columnName = this.getModel ().getColumnName (modelColumn);\r
751 aColumn.setHeaderValue (columnName);\r
752 }this.getColumnModel ().addColumn (aColumn);\r
753 }, "javax.swing.table.TableColumn");\r
754 Clazz.defineMethod (c$, "removeColumn", \r
755 function (aColumn) {\r
756 this.getColumnModel ().removeColumn (aColumn);\r
757 }, "javax.swing.table.TableColumn");\r
758 Clazz.defineMethod (c$, "moveColumn", \r
759 function (column, targetColumn) {\r
760 this.getColumnModel ().moveColumn (column, targetColumn);\r
761 }, "~N,~N");\r
762 Clazz.defineMethod (c$, "columnAtPoint", \r
763 function (point) {\r
764 var x = point.x;\r
765 if (!this.getComponentOrientation ().isLeftToRight ()) {\r
766 x = this.getWidth () - x - 1;\r
767 }return this.getColumnModel ().getColumnIndexAtX (x);\r
768 }, "java.awt.Point");\r
769 Clazz.defineMethod (c$, "rowAtPoint", \r
770 function (point) {\r
771 var y = point.y;\r
772 var result = (this.rowModel == null) ? Clazz.doubleToInt (y / this.getRowHeight ()) : this.rowModel.getIndex (y);\r
773 if (result < 0) {\r
774 return -1;\r
775 } else if (result >= this.getRowCount ()) {\r
776 return -1;\r
777 } else {\r
778 return result;\r
779 }}, "java.awt.Point");\r
780 Clazz.defineMethod (c$, "getCellRect", \r
781 function (row, column, includeSpacing) {\r
782 var r =  new java.awt.Rectangle ();\r
783 var valid = true;\r
784 if (row < 0) {\r
785 valid = false;\r
786 } else if (row >= this.getRowCount ()) {\r
787 r.y = this.getHeight ();\r
788 valid = false;\r
789 } else {\r
790 r.height = this.getRowHeight (row);\r
791 r.y = (this.rowModel == null) ? row * r.height : this.rowModel.getPosition (row);\r
792 }if (column < 0) {\r
793 if (!this.getComponentOrientation ().isLeftToRight ()) {\r
794 r.x = this.getWidth ();\r
795 }valid = false;\r
796 } else if (column >= this.getColumnCount ()) {\r
797 if (this.getComponentOrientation ().isLeftToRight ()) {\r
798 r.x = this.getWidth ();\r
799 }valid = false;\r
800 } else {\r
801 var cm = this.getColumnModel ();\r
802 if (this.getComponentOrientation ().isLeftToRight ()) {\r
803 for (var i = 0; i < column; i++) {\r
804 r.x += cm.getColumn (i).getWidth ();\r
805 }\r
806 } else {\r
807 for (var i = cm.getColumnCount () - 1; i > column; i--) {\r
808 r.x += cm.getColumn (i).getWidth ();\r
809 }\r
810 }r.width = cm.getColumn (column).getWidth ();\r
811 }if (valid && !includeSpacing) {\r
812 var rm = Math.min (this.getRowMargin (), r.height);\r
813 var cm = Math.min (this.getColumnModel ().getColumnMargin (), r.width);\r
814 r.reshape (r.x + Clazz.doubleToInt (cm / 2), r.y + Clazz.doubleToInt (rm / 2), r.width - cm, r.height - rm);\r
815 }return r;\r
816 }, "~N,~N,~B");\r
817 Clazz.defineMethod (c$, "viewIndexForColumn", \r
818  function (aColumn) {\r
819 var cm = this.getColumnModel ();\r
820 for (var column = 0; column < cm.getColumnCount (); column++) {\r
821 if (cm.getColumn (column) === aColumn) {\r
822 return column;\r
823 }}\r
824 return -1;\r
825 }, "javax.swing.table.TableColumn");\r
826 Clazz.defineMethod (c$, "doLayout", \r
827 function () {\r
828 var resizingColumn = this.getResizingColumn ();\r
829 if (resizingColumn == null) {\r
830 this.setWidthsFromPreferredWidths (false);\r
831 } else {\r
832 var columnIndex = this.viewIndexForColumn (resizingColumn);\r
833 var delta = this.getWidth () - this.getColumnModel ().getTotalColumnWidth ();\r
834 this.accommodateDelta (columnIndex, delta);\r
835 delta = this.getWidth () - this.getColumnModel ().getTotalColumnWidth ();\r
836 if (delta != 0) {\r
837 resizingColumn.setWidth (resizingColumn.getWidth () + delta);\r
838 }this.setWidthsFromPreferredWidths (true);\r
839 }Clazz.superCall (this, javax.swing.JTable, "doLayout", []);\r
840 });\r
841 Clazz.defineMethod (c$, "getResizingColumn", \r
842  function () {\r
843 return (this.tableHeader == null) ? null : this.tableHeader.getResizingColumn ();\r
844 });\r
845 Clazz.defineMethod (c$, "sizeColumnsToFit", \r
846 function (lastColumnOnly) {\r
847 var oldAutoResizeMode = this.autoResizeMode;\r
848 this.setAutoResizeMode (lastColumnOnly ? 3 : 4);\r
849 this.sizeColumnsToFit (-1);\r
850 this.setAutoResizeMode (oldAutoResizeMode);\r
851 }, "~B");\r
852 Clazz.defineMethod (c$, "sizeColumnsToFit", \r
853 function (resizingColumn) {\r
854 if (resizingColumn == -1) {\r
855 this.setWidthsFromPreferredWidths (false);\r
856 } else {\r
857 if (this.autoResizeMode == 0) {\r
858 var aColumn = this.getColumnModel ().getColumn (resizingColumn);\r
859 aColumn.setPreferredWidth (aColumn.getWidth ());\r
860 } else {\r
861 var delta = this.getWidth () - this.getColumnModel ().getTotalColumnWidth ();\r
862 this.accommodateDelta (resizingColumn, delta);\r
863 this.setWidthsFromPreferredWidths (true);\r
864 }}}, "~N");\r
865 Clazz.defineMethod (c$, "setWidthsFromPreferredWidths", \r
866  function (inverse) {\r
867 var totalWidth = this.getWidth ();\r
868 var totalPreferred = this.getPreferredSize ().width;\r
869 var target = !inverse ? totalWidth : totalPreferred;\r
870 var cm = this.columnModel;\r
871 var r = ((Clazz.isClassDefined ("javax.swing.JTable$2") ? 0 : javax.swing.JTable.$JTable$2$ ()), Clazz.innerTypeInstance (javax.swing.JTable$2, this, Clazz.cloneFinals ("cm", cm, "inverse", inverse)));\r
872 this.adjustSizes (target, r, inverse);\r
873 }, "~B");\r
874 Clazz.defineMethod (c$, "accommodateDelta", \r
875  function (resizingColumnIndex, delta) {\r
876 var columnCount = this.getColumnCount ();\r
877 var from = resizingColumnIndex;\r
878 var to = columnCount;\r
879 switch (this.autoResizeMode) {\r
880 case 1:\r
881 from = from + 1;\r
882 to = Math.min (from + 1, columnCount);\r
883 break;\r
884 case 2:\r
885 from = from + 1;\r
886 to = columnCount;\r
887 break;\r
888 case 3:\r
889 from = columnCount - 1;\r
890 to = from + 1;\r
891 break;\r
892 case 4:\r
893 from = 0;\r
894 to = columnCount;\r
895 break;\r
896 default:\r
897 return;\r
898 }\r
899 var start = from;\r
900 var end = to;\r
901 var cm = this.columnModel;\r
902 var r = ((Clazz.isClassDefined ("javax.swing.JTable$3") ? 0 : javax.swing.JTable.$JTable$3$ ()), Clazz.innerTypeInstance (javax.swing.JTable$3, this, Clazz.cloneFinals ("end", end, "start", start, "cm", cm)));\r
903 var totalWidth = 0;\r
904 for (var i = from; i < to; i++) {\r
905 var aColumn = this.columnModel.getColumn (i);\r
906 var input = aColumn.getWidth ();\r
907 totalWidth = totalWidth + input;\r
908 }\r
909 this.adjustSizes (totalWidth + delta, r, false);\r
910 return;\r
911 }, "~N,~N");\r
912 Clazz.defineMethod (c$, "adjustSizes", \r
913  function (target, r, inverse) {\r
914 var N = r.getElementCount ();\r
915 var totalPreferred = 0;\r
916 for (var i = 0; i < N; i++) {\r
917 totalPreferred += r.getMidPointAt (i);\r
918 }\r
919 var s;\r
920 if ((target < totalPreferred) == !inverse) {\r
921 s = ((Clazz.isClassDefined ("javax.swing.JTable$4") ? 0 : javax.swing.JTable.$JTable$4$ ()), Clazz.innerTypeInstance (javax.swing.JTable$4, this, Clazz.cloneFinals ("r", r)));\r
922 } else {\r
923 s = ((Clazz.isClassDefined ("javax.swing.JTable$5") ? 0 : javax.swing.JTable.$JTable$5$ ()), Clazz.innerTypeInstance (javax.swing.JTable$5, this, Clazz.cloneFinals ("r", r)));\r
924 }this.adjustSizes (target, s, !inverse);\r
925 }, "~N,javax.swing.JTable.Resizable3,~B");\r
926 Clazz.defineMethod (c$, "adjustSizes", \r
927  function (target, r, limitToRange) {\r
928 var totalLowerBound = 0;\r
929 var totalUpperBound = 0;\r
930 for (var i = 0; i < r.getElementCount (); i++) {\r
931 totalLowerBound += r.getLowerBoundAt (i);\r
932 totalUpperBound += r.getUpperBoundAt (i);\r
933 }\r
934 if (limitToRange) {\r
935 target = Math.min (Math.max (totalLowerBound, target), totalUpperBound);\r
936 }for (var i = 0; i < r.getElementCount (); i++) {\r
937 var lowerBound = r.getLowerBoundAt (i);\r
938 var upperBound = r.getUpperBoundAt (i);\r
939 var newSize;\r
940 if (totalLowerBound == totalUpperBound) {\r
941 newSize = lowerBound;\r
942 } else {\r
943 var f = (target - totalLowerBound) / (totalUpperBound - totalLowerBound);\r
944 newSize = Math.round (lowerBound + f * (upperBound - lowerBound));\r
945 }r.setSizeAt (newSize, i);\r
946 target -= newSize;\r
947 totalLowerBound -= lowerBound;\r
948 totalUpperBound -= upperBound;\r
949 }\r
950 }, "~N,javax.swing.JTable.Resizable2,~B");\r
951 Clazz.defineMethod (c$, "getToolTipText", \r
952 function (event) {\r
953 var tip = null;\r
954 var p = event.getPoint ();\r
955 var hitColumnIndex = this.columnAtPoint (p);\r
956 var hitRowIndex = this.rowAtPoint (p);\r
957 if ((hitColumnIndex != -1) && (hitRowIndex != -1)) {\r
958 var renderer = this.getCellRenderer (hitRowIndex, hitColumnIndex);\r
959 var component = this.prepareRenderer (renderer, hitRowIndex, hitColumnIndex);\r
960 if (Clazz.instanceOf (component, javax.swing.JComponent)) {\r
961 var cellRect = this.getCellRect (hitRowIndex, hitColumnIndex, false);\r
962 p.translate (-cellRect.x, -cellRect.y);\r
963 var newEvent =  new java.awt.event.MouseEvent (component, event.getID (), event.getWhen (), event.getModifiers (), p.x, p.y, event.getXOnScreen (), event.getYOnScreen (), event.getClickCount (), event.isPopupTrigger (), 0);\r
964 tip = (component).getToolTipText (newEvent);\r
965 }}if (tip == null) tip = this.getToolTipText ();\r
966 return tip;\r
967 }, "java.awt.event.MouseEvent");\r
968 Clazz.defineMethod (c$, "setSurrendersFocusOnKeystroke", \r
969 function (surrendersFocusOnKeystroke) {\r
970 this.surrendersFocusOnKeystroke = surrendersFocusOnKeystroke;\r
971 }, "~B");\r
972 Clazz.defineMethod (c$, "getSurrendersFocusOnKeystroke", \r
973 function () {\r
974 return this.surrendersFocusOnKeystroke;\r
975 });\r
976 Clazz.defineMethod (c$, "editCellAt", \r
977 function (row, column) {\r
978 return this.editCellAt (row, column, null);\r
979 }, "~N,~N");\r
980 Clazz.defineMethod (c$, "editCellAt", \r
981 function (row, column, e) {\r
982 if (this.cellEditor != null && !this.cellEditor.stopCellEditing ()) {\r
983 return false;\r
984 }if (row < 0 || row >= this.getRowCount () || column < 0 || column >= this.getColumnCount ()) {\r
985 return false;\r
986 }if (!this.isCellEditable (row, column)) return false;\r
987 if (this.editorRemover == null) {\r
988 }var editor = this.getCellEditor (row, column);\r
989 if (editor != null && editor.isCellEditable (e)) {\r
990 this.editorComp = this.prepareEditor (editor, row, column);\r
991 if (this.editorComp == null) {\r
992 this.removeEditor ();\r
993 return false;\r
994 }this.editorComp.setBounds (this.getCellRect (row, column, false));\r
995 this.add (this.editorComp);\r
996 this.editorComp.validate ();\r
997 this.editorComp.repaint ();\r
998 this.setCellEditor (editor);\r
999 this.setEditingRow (row);\r
1000 this.setEditingColumn (column);\r
1001 editor.addCellEditorListener (this);\r
1002 return true;\r
1003 }return false;\r
1004 }, "~N,~N,java.util.EventObject");\r
1005 Clazz.defineMethod (c$, "isEditing", \r
1006 function () {\r
1007 return (this.cellEditor == null) ? false : true;\r
1008 });\r
1009 Clazz.defineMethod (c$, "getEditorComponent", \r
1010 function () {\r
1011 return this.editorComp;\r
1012 });\r
1013 Clazz.defineMethod (c$, "getEditingColumn", \r
1014 function () {\r
1015 return this.editingColumn;\r
1016 });\r
1017 Clazz.defineMethod (c$, "getEditingRow", \r
1018 function () {\r
1019 return this.editingRow;\r
1020 });\r
1021 Clazz.overrideMethod (c$, "getUI", \r
1022 function () {\r
1023 return this.ui;\r
1024 });\r
1025 Clazz.defineMethod (c$, "setUI", \r
1026 function (ui) {\r
1027 if (this.ui !== ui) {\r
1028 Clazz.superCall (this, javax.swing.JTable, "setUI", [ui]);\r
1029 this.repaint ();\r
1030 }}, "javax.swing.plaf.TableUI");\r
1031 Clazz.overrideMethod (c$, "updateUI", \r
1032 function () {\r
1033 var cm = this.getColumnModel ();\r
1034 for (var column = 0; column < cm.getColumnCount (); column++) {\r
1035 var aColumn = cm.getColumn (column);\r
1036 javax.swing.SwingUtilities.updateRendererOrEditorUI (aColumn.getCellRenderer ());\r
1037 javax.swing.SwingUtilities.updateRendererOrEditorUI (aColumn.getCellEditor ());\r
1038 javax.swing.SwingUtilities.updateRendererOrEditorUI (aColumn.getHeaderRenderer ());\r
1039 }\r
1040 var defaultRenderers = this.defaultRenderersByColumnClass.elements ();\r
1041 while (defaultRenderers.hasMoreElements ()) {\r
1042 javax.swing.SwingUtilities.updateRendererOrEditorUI (defaultRenderers.nextElement ());\r
1043 }\r
1044 var defaultEditors = this.defaultEditorsByColumnClass.elements ();\r
1045 while (defaultEditors.hasMoreElements ()) {\r
1046 javax.swing.SwingUtilities.updateRendererOrEditorUI (defaultEditors.nextElement ());\r
1047 }\r
1048 if (this.tableHeader != null && this.tableHeader.getParent () == null) {\r
1049 this.tableHeader.updateUI ();\r
1050 }this.configureEnclosingScrollPaneUI ();\r
1051 this.setUI (javax.swing.UIManager.getUI (this));\r
1052 });\r
1053 Clazz.overrideMethod (c$, "getUIClassID", \r
1054 function () {\r
1055 return "TableUI";\r
1056 });\r
1057 Clazz.defineMethod (c$, "setModel", \r
1058 function (dataModel) {\r
1059 if (dataModel == null) {\r
1060 throw  new IllegalArgumentException ("Cannot set a null TableModel");\r
1061 }if (this.dataModel !== dataModel) {\r
1062 var old = this.dataModel;\r
1063 if (old != null) {\r
1064 old.removeTableModelListener (this);\r
1065 }this.dataModel = dataModel;\r
1066 dataModel.addTableModelListener (this);\r
1067 this.tableChanged ( new javax.swing.event.TableModelEvent (dataModel, -1));\r
1068 this.firePropertyChangeObject ("model", old, dataModel);\r
1069 if (this.getAutoCreateRowSorter ()) {\r
1070 this.setRowSorter ( new javax.swing.table.TableRowSorter (dataModel));\r
1071 }}}, "javax.swing.table.TableModel");\r
1072 Clazz.defineMethod (c$, "getModel", \r
1073 function () {\r
1074 return this.dataModel;\r
1075 });\r
1076 Clazz.defineMethod (c$, "setColumnModel", \r
1077 function (columnModel) {\r
1078 if (columnModel == null) {\r
1079 throw  new IllegalArgumentException ("Cannot set a null ColumnModel");\r
1080 }var old = this.columnModel;\r
1081 if (columnModel !== old) {\r
1082 if (old != null) {\r
1083 old.removeColumnModelListener (this);\r
1084 }this.columnModel = columnModel;\r
1085 columnModel.addColumnModelListener (this);\r
1086 if (this.tableHeader != null) {\r
1087 this.tableHeader.setColumnModel (columnModel);\r
1088 }this.firePropertyChangeObject ("columnModel", old, columnModel);\r
1089 this.resizeAndRepaint ();\r
1090 }}, "javax.swing.table.TableColumnModel");\r
1091 Clazz.defineMethod (c$, "getColumnModel", \r
1092 function () {\r
1093 return this.columnModel;\r
1094 });\r
1095 Clazz.defineMethod (c$, "setSelectionModel", \r
1096 function (newModel) {\r
1097 if (newModel == null) {\r
1098 throw  new IllegalArgumentException ("Cannot set a null SelectionModel");\r
1099 }var oldModel = this.selectionModel;\r
1100 if (newModel !== oldModel) {\r
1101 if (oldModel != null) {\r
1102 oldModel.removeListSelectionListener (this);\r
1103 }this.selectionModel = newModel;\r
1104 newModel.addListSelectionListener (this);\r
1105 this.firePropertyChangeObject ("selectionModel", oldModel, newModel);\r
1106 this.repaint ();\r
1107 }}, "javax.swing.ListSelectionModel");\r
1108 Clazz.defineMethod (c$, "getSelectionModel", \r
1109 function () {\r
1110 return this.selectionModel;\r
1111 });\r
1112 Clazz.overrideMethod (c$, "sorterChanged", \r
1113 function (e) {\r
1114 if (e.getType () === javax.swing.event.RowSorterEvent.Type.SORT_ORDER_CHANGED) {\r
1115 var header = this.getTableHeader ();\r
1116 if (header != null) {\r
1117 header.repaint ();\r
1118 }} else if (e.getType () === javax.swing.event.RowSorterEvent.Type.SORTED) {\r
1119 this.$sorterChanged = true;\r
1120 if (!this.ignoreSortChange) {\r
1121 this.sortedTableChanged (e, null);\r
1122 }}}, "javax.swing.event.RowSorterEvent");\r
1123 Clazz.defineMethod (c$, "sortedTableChanged", \r
1124  function (sortedEvent, e) {\r
1125 var editingModelIndex = -1;\r
1126 var change = (e != null) ? Clazz.innerTypeInstance (javax.swing.JTable.ModelChange, this, null, e) : null;\r
1127 if ((change == null || !change.allRowsChanged) && this.editingRow != -1) {\r
1128 editingModelIndex = this.convertRowIndexToModel (sortedEvent, this.editingRow);\r
1129 }this.sortManager.prepareForChange (sortedEvent, change);\r
1130 if (e != null) {\r
1131 if (change.type == 0) {\r
1132 this.repaintSortedRows (change);\r
1133 }this.notifySorter (change);\r
1134 if (change.type != 0) {\r
1135 this.$sorterChanged = true;\r
1136 }} else {\r
1137 this.$sorterChanged = true;\r
1138 }this.sortManager.processChange (sortedEvent, change, this.$sorterChanged);\r
1139 if (this.$sorterChanged) {\r
1140 if (this.editingRow != -1) {\r
1141 var newIndex = (editingModelIndex == -1) ? -1 : this.convertRowIndexToView (editingModelIndex, change);\r
1142 this.restoreSortingEditingRow (newIndex);\r
1143 }if (e == null || change.type != 0) {\r
1144 this.resizeAndRepaint ();\r
1145 }}if (change != null && change.allRowsChanged) {\r
1146 this.clearSelectionAndLeadAnchor ();\r
1147 this.resizeAndRepaint ();\r
1148 }}, "javax.swing.event.RowSorterEvent,javax.swing.event.TableModelEvent");\r
1149 Clazz.defineMethod (c$, "repaintSortedRows", \r
1150  function (change) {\r
1151 if (change.startModelIndex > change.endModelIndex || change.startModelIndex + 10 < change.endModelIndex) {\r
1152 this.repaint ();\r
1153 return;\r
1154 }var eventColumn = change.event.getColumn ();\r
1155 var columnViewIndex = eventColumn;\r
1156 if (columnViewIndex == -1) {\r
1157 columnViewIndex = 0;\r
1158 } else {\r
1159 columnViewIndex = this.convertColumnIndexToView (columnViewIndex);\r
1160 if (columnViewIndex == -1) {\r
1161 return;\r
1162 }}var modelIndex = change.startModelIndex;\r
1163 while (modelIndex <= change.endModelIndex) {\r
1164 var viewIndex = this.convertRowIndexToView (modelIndex++);\r
1165 if (viewIndex != -1) {\r
1166 var dirty = this.getCellRect (viewIndex, columnViewIndex, false);\r
1167 var x = dirty.x;\r
1168 var w = dirty.width;\r
1169 if (eventColumn == -1) {\r
1170 x = 0;\r
1171 w = this.getWidth ();\r
1172 }this.repaint (x, dirty.y, w, dirty.height);\r
1173 }}\r
1174 }, "javax.swing.JTable.ModelChange");\r
1175 Clazz.defineMethod (c$, "restoreSortingSelection", \r
1176  function (selection, lead, change) {\r
1177 for (var i = selection.length - 1; i >= 0; i--) {\r
1178 selection[i] = this.convertRowIndexToView (selection[i], change);\r
1179 }\r
1180 lead = this.convertRowIndexToView (lead, change);\r
1181 if (selection.length == 0 || (selection.length == 1 && selection[0] == this.getSelectedRow ())) {\r
1182 return;\r
1183 }this.selectionModel.setValueIsAdjusting (true);\r
1184 this.selectionModel.clearSelection ();\r
1185 for (var i = selection.length - 1; i >= 0; i--) {\r
1186 if (selection[i] != -1) {\r
1187 this.selectionModel.addSelectionInterval (selection[i], selection[i]);\r
1188 }}\r
1189 jssun.swing.SwingUtilities2.setLeadAnchorWithoutSelection (this.selectionModel, lead, lead);\r
1190 this.selectionModel.setValueIsAdjusting (false);\r
1191 }, "~A,~N,javax.swing.JTable.ModelChange");\r
1192 Clazz.defineMethod (c$, "restoreSortingEditingRow", \r
1193  function (editingRow) {\r
1194 if (editingRow == -1) {\r
1195 var editor = this.getCellEditor ();\r
1196 if (editor != null) {\r
1197 editor.cancelCellEditing ();\r
1198 if (this.getCellEditor () != null) {\r
1199 this.removeEditor ();\r
1200 }}} else {\r
1201 this.editingRow = editingRow;\r
1202 this.repaint ();\r
1203 }}, "~N");\r
1204 Clazz.defineMethod (c$, "notifySorter", \r
1205  function (change) {\r
1206 try {\r
1207 this.ignoreSortChange = true;\r
1208 this.$sorterChanged = false;\r
1209 switch (change.type) {\r
1210 case 0:\r
1211 if (change.event.getLastRow () == 2147483647) {\r
1212 this.sortManager.sorter.allRowsChanged ();\r
1213 } else if (change.event.getColumn () == -1) {\r
1214 this.sortManager.sorter.rowsUpdated (change.startModelIndex, change.endModelIndex);\r
1215 } else {\r
1216 this.sortManager.sorter.rowsUpdated (change.startModelIndex, change.endModelIndex, change.event.getColumn ());\r
1217 }break;\r
1218 case 1:\r
1219 this.sortManager.sorter.rowsInserted (change.startModelIndex, change.endModelIndex);\r
1220 break;\r
1221 case -1:\r
1222 this.sortManager.sorter.rowsDeleted (change.startModelIndex, change.endModelIndex);\r
1223 break;\r
1224 }\r
1225 } finally {\r
1226 this.ignoreSortChange = false;\r
1227 }\r
1228 }, "javax.swing.JTable.ModelChange");\r
1229 Clazz.defineMethod (c$, "convertRowIndexToView", \r
1230  function (modelIndex, change) {\r
1231 if (modelIndex < 0) {\r
1232 return -1;\r
1233 }if (change != null && modelIndex >= change.startModelIndex) {\r
1234 if (change.type == 1) {\r
1235 if (modelIndex + change.length >= change.modelRowCount) {\r
1236 return -1;\r
1237 }return this.sortManager.sorter.convertRowIndexToView (modelIndex + change.length);\r
1238 } else if (change.type == -1) {\r
1239 if (modelIndex <= change.endModelIndex) {\r
1240 return -1;\r
1241 } else {\r
1242 if (modelIndex - change.length >= change.modelRowCount) {\r
1243 return -1;\r
1244 }return this.sortManager.sorter.convertRowIndexToView (modelIndex - change.length);\r
1245 }}}if (modelIndex >= this.getModel ().getRowCount ()) {\r
1246 return -1;\r
1247 }return this.sortManager.sorter.convertRowIndexToView (modelIndex);\r
1248 }, "~N,javax.swing.JTable.ModelChange");\r
1249 Clazz.defineMethod (c$, "convertSelectionToModel", \r
1250  function (e) {\r
1251 var selection = this.getSelectedRows ();\r
1252 for (var i = selection.length - 1; i >= 0; i--) {\r
1253 selection[i] = this.convertRowIndexToModel (e, selection[i]);\r
1254 }\r
1255 return selection;\r
1256 }, "javax.swing.event.RowSorterEvent");\r
1257 Clazz.defineMethod (c$, "convertRowIndexToModel", \r
1258  function (e, viewIndex) {\r
1259 if (e != null) {\r
1260 if (e.getPreviousRowCount () == 0) {\r
1261 return viewIndex;\r
1262 }return e.convertPreviousRowIndexToModel (viewIndex);\r
1263 }if (viewIndex < 0 || viewIndex >= this.getRowCount ()) {\r
1264 return -1;\r
1265 }return this.convertRowIndexToModel (viewIndex);\r
1266 }, "javax.swing.event.RowSorterEvent,~N");\r
1267 Clazz.overrideMethod (c$, "tableChanged", \r
1268 function (e) {\r
1269 if (e == null || e.getFirstRow () == -1) {\r
1270 this.clearSelectionAndLeadAnchor ();\r
1271 this.rowModel = null;\r
1272 if (this.sortManager != null) {\r
1273 try {\r
1274 this.ignoreSortChange = true;\r
1275 this.sortManager.sorter.modelStructureChanged ();\r
1276 } finally {\r
1277 this.ignoreSortChange = false;\r
1278 }\r
1279 this.sortManager.allChanged ();\r
1280 }if (this.getAutoCreateColumnsFromModel ()) {\r
1281 this.createDefaultColumnsFromModel ();\r
1282 return;\r
1283 }this.resizeAndRepaint ();\r
1284 return;\r
1285 }if (this.sortManager != null) {\r
1286 this.sortedTableChanged (null, e);\r
1287 return;\r
1288 }if (this.rowModel != null) {\r
1289 this.repaint ();\r
1290 }if (e.getType () == 1) {\r
1291 this.tableRowsInserted (e);\r
1292 return;\r
1293 }if (e.getType () == -1) {\r
1294 this.tableRowsDeleted (e);\r
1295 return;\r
1296 }var modelColumn = e.getColumn ();\r
1297 var start = e.getFirstRow ();\r
1298 var end = e.getLastRow ();\r
1299 var dirtyRegion;\r
1300 if (modelColumn == -1) {\r
1301 dirtyRegion =  new java.awt.Rectangle (0, start * this.getRowHeight (), this.getColumnModel ().getTotalColumnWidth (), 0);\r
1302 } else {\r
1303 var column = this.convertColumnIndexToView (modelColumn);\r
1304 dirtyRegion = this.getCellRect (start, column, false);\r
1305 }if (end != 2147483647) {\r
1306 dirtyRegion.height = (end - start + 1) * this.getRowHeight ();\r
1307 this.repaint (dirtyRegion.x, dirtyRegion.y, dirtyRegion.width, dirtyRegion.height);\r
1308 } else {\r
1309 this.clearSelectionAndLeadAnchor ();\r
1310 this.resizeAndRepaint ();\r
1311 this.rowModel = null;\r
1312 }}, "javax.swing.event.TableModelEvent");\r
1313 Clazz.defineMethod (c$, "tableRowsInserted", \r
1314  function (e) {\r
1315 var start = e.getFirstRow ();\r
1316 var end = e.getLastRow ();\r
1317 if (start < 0) {\r
1318 start = 0;\r
1319 }if (end < 0) {\r
1320 end = this.getRowCount () - 1;\r
1321 }var length = end - start + 1;\r
1322 this.selectionModel.insertIndexInterval (start, length, true);\r
1323 if (this.rowModel != null) {\r
1324 this.rowModel.insertEntries (start, length, this.getRowHeight ());\r
1325 }var rh = this.getRowHeight ();\r
1326 var drawRect =  new java.awt.Rectangle (0, start * rh, this.getColumnModel ().getTotalColumnWidth (), (this.getRowCount () - start) * rh);\r
1327 this.revalidate ();\r
1328 this.repaint (drawRect);\r
1329 }, "javax.swing.event.TableModelEvent");\r
1330 Clazz.defineMethod (c$, "tableRowsDeleted", \r
1331  function (e) {\r
1332 var start = e.getFirstRow ();\r
1333 var end = e.getLastRow ();\r
1334 if (start < 0) {\r
1335 start = 0;\r
1336 }if (end < 0) {\r
1337 end = this.getRowCount () - 1;\r
1338 }var deletedCount = end - start + 1;\r
1339 var previousRowCount = this.getRowCount () + deletedCount;\r
1340 this.selectionModel.removeIndexInterval (start, end);\r
1341 if (this.rowModel != null) {\r
1342 this.rowModel.removeEntries (start, deletedCount);\r
1343 }var rh = this.getRowHeight ();\r
1344 var drawRect =  new java.awt.Rectangle (0, start * rh, this.getColumnModel ().getTotalColumnWidth (), (previousRowCount - start) * rh);\r
1345 this.revalidate ();\r
1346 this.repaint (drawRect);\r
1347 }, "javax.swing.event.TableModelEvent");\r
1348 Clazz.overrideMethod (c$, "columnAdded", \r
1349 function (e) {\r
1350 if (this.isEditing ()) {\r
1351 this.removeEditor ();\r
1352 }this.resizeAndRepaint ();\r
1353 }, "javax.swing.event.TableColumnModelEvent");\r
1354 Clazz.overrideMethod (c$, "columnRemoved", \r
1355 function (e) {\r
1356 if (this.isEditing ()) {\r
1357 this.removeEditor ();\r
1358 }this.resizeAndRepaint ();\r
1359 }, "javax.swing.event.TableColumnModelEvent");\r
1360 Clazz.overrideMethod (c$, "columnMoved", \r
1361 function (e) {\r
1362 if (this.isEditing ()) {\r
1363 this.removeEditor ();\r
1364 }this.repaint ();\r
1365 }, "javax.swing.event.TableColumnModelEvent");\r
1366 Clazz.overrideMethod (c$, "columnMarginChanged", \r
1367 function (e) {\r
1368 if (this.isEditing ()) {\r
1369 this.removeEditor ();\r
1370 }var resizingColumn = this.getResizingColumn ();\r
1371 if (resizingColumn != null && this.autoResizeMode == 0) {\r
1372 resizingColumn.setPreferredWidth (resizingColumn.getWidth ());\r
1373 }this.resizeAndRepaint ();\r
1374 }, "javax.swing.event.ChangeEvent");\r
1375 Clazz.defineMethod (c$, "limit", \r
1376  function (i, a, b) {\r
1377 return Math.min (b, Math.max (i, a));\r
1378 }, "~N,~N,~N");\r
1379 Clazz.overrideMethod (c$, "columnSelectionChanged", \r
1380 function (e) {\r
1381 var isAdjusting = e.getValueIsAdjusting ();\r
1382 if (this.columnSelectionAdjusting && !isAdjusting) {\r
1383 this.columnSelectionAdjusting = false;\r
1384 return;\r
1385 }this.columnSelectionAdjusting = isAdjusting;\r
1386 if (this.getRowCount () <= 0 || this.getColumnCount () <= 0) {\r
1387 return;\r
1388 }var firstIndex = this.limit (e.getFirstIndex (), 0, this.getColumnCount () - 1);\r
1389 var lastIndex = this.limit (e.getLastIndex (), 0, this.getColumnCount () - 1);\r
1390 var minRow = 0;\r
1391 var maxRow = this.getRowCount () - 1;\r
1392 if (this.getRowSelectionAllowed ()) {\r
1393 minRow = this.selectionModel.getMinSelectionIndex ();\r
1394 maxRow = this.selectionModel.getMaxSelectionIndex ();\r
1395 var leadRow = this.getAdjustedIndex (this.selectionModel.getLeadSelectionIndex (), true);\r
1396 if (minRow == -1 || maxRow == -1) {\r
1397 if (leadRow == -1) {\r
1398 return;\r
1399 }minRow = maxRow = leadRow;\r
1400 } else {\r
1401 if (leadRow != -1) {\r
1402 minRow = Math.min (minRow, leadRow);\r
1403 maxRow = Math.max (maxRow, leadRow);\r
1404 }}}var firstColumnRect = this.getCellRect (minRow, firstIndex, false);\r
1405 var lastColumnRect = this.getCellRect (maxRow, lastIndex, false);\r
1406 var dirtyRegion = firstColumnRect.union (lastColumnRect);\r
1407 this.repaint (dirtyRegion);\r
1408 }, "javax.swing.event.ListSelectionEvent");\r
1409 Clazz.overrideMethod (c$, "valueChanged", \r
1410 function (e) {\r
1411 if (this.sortManager != null) {\r
1412 this.sortManager.viewSelectionChanged (e);\r
1413 }var isAdjusting = e.getValueIsAdjusting ();\r
1414 if (this.rowSelectionAdjusting && !isAdjusting) {\r
1415 this.rowSelectionAdjusting = false;\r
1416 return;\r
1417 }this.rowSelectionAdjusting = isAdjusting;\r
1418 if (this.getRowCount () <= 0 || this.getColumnCount () <= 0) {\r
1419 return;\r
1420 }var firstIndex = this.limit (e.getFirstIndex (), 0, this.getRowCount () - 1);\r
1421 var lastIndex = this.limit (e.getLastIndex (), 0, this.getRowCount () - 1);\r
1422 var firstRowRect = this.getCellRect (firstIndex, 0, false);\r
1423 var lastRowRect = this.getCellRect (lastIndex, this.getColumnCount () - 1, false);\r
1424 var dirtyRegion = firstRowRect.union (lastRowRect);\r
1425 this.repaint (dirtyRegion);\r
1426 }, "javax.swing.event.ListSelectionEvent");\r
1427 Clazz.overrideMethod (c$, "editingStopped", \r
1428 function (e) {\r
1429 var editor = this.getCellEditor ();\r
1430 if (editor != null) {\r
1431 var value = editor.getCellEditorValue ();\r
1432 this.setValueAt (value, this.editingRow, this.editingColumn);\r
1433 this.removeEditor ();\r
1434 }}, "javax.swing.event.ChangeEvent");\r
1435 Clazz.overrideMethod (c$, "editingCanceled", \r
1436 function (e) {\r
1437 this.removeEditor ();\r
1438 }, "javax.swing.event.ChangeEvent");\r
1439 Clazz.defineMethod (c$, "setPreferredScrollableViewportSize", \r
1440 function (size) {\r
1441 this.preferredViewportSize = size;\r
1442 }, "java.awt.Dimension");\r
1443 Clazz.overrideMethod (c$, "getPreferredScrollableViewportSize", \r
1444 function () {\r
1445 return this.preferredViewportSize;\r
1446 });\r
1447 Clazz.overrideMethod (c$, "getScrollableUnitIncrement", \r
1448 function (visibleRect, orientation, direction) {\r
1449 var leadingRow;\r
1450 var leadingCol;\r
1451 var leadingCellRect;\r
1452 var leadingVisibleEdge;\r
1453 var leadingCellEdge;\r
1454 var leadingCellSize;\r
1455 leadingRow = this.getLeadingRow (visibleRect);\r
1456 leadingCol = this.getLeadingCol (visibleRect);\r
1457 if (orientation == 1 && leadingRow < 0) {\r
1458 return this.getRowHeight ();\r
1459 } else if (orientation == 0 && leadingCol < 0) {\r
1460 return 100;\r
1461 }leadingCellRect = this.getCellRect (leadingRow, leadingCol, true);\r
1462 leadingVisibleEdge = this.leadingEdge (visibleRect, orientation);\r
1463 leadingCellEdge = this.leadingEdge (leadingCellRect, orientation);\r
1464 if (orientation == 1) {\r
1465 leadingCellSize = leadingCellRect.height;\r
1466 } else {\r
1467 leadingCellSize = leadingCellRect.width;\r
1468 }if (leadingVisibleEdge == leadingCellEdge) {\r
1469 if (direction < 0) {\r
1470 var retVal = 0;\r
1471 if (orientation == 1) {\r
1472 while (--leadingRow >= 0) {\r
1473 retVal = this.getRowHeight (leadingRow);\r
1474 if (retVal != 0) {\r
1475 break;\r
1476 }}\r
1477 } else {\r
1478 while (--leadingCol >= 0) {\r
1479 retVal = this.getCellRect (leadingRow, leadingCol, true).width;\r
1480 if (retVal != 0) {\r
1481 break;\r
1482 }}\r
1483 }return retVal;\r
1484 } else {\r
1485 return leadingCellSize;\r
1486 }} else {\r
1487 var hiddenAmt = Math.abs (leadingVisibleEdge - leadingCellEdge);\r
1488 var visibleAmt = leadingCellSize - hiddenAmt;\r
1489 if (direction > 0) {\r
1490 return visibleAmt;\r
1491 } else {\r
1492 return hiddenAmt;\r
1493 }}}, "java.awt.Rectangle,~N,~N");\r
1494 Clazz.overrideMethod (c$, "getScrollableBlockIncrement", \r
1495 function (visibleRect, orientation, direction) {\r
1496 if (this.getRowCount () == 0) {\r
1497 if (1 == orientation) {\r
1498 var rh = this.getRowHeight ();\r
1499 return (rh > 0) ? Math.max (rh, (Clazz.doubleToInt (visibleRect.height / rh)) * rh) : visibleRect.height;\r
1500 } else {\r
1501 return visibleRect.width;\r
1502 }}if (null == this.rowModel && 1 == orientation) {\r
1503 var row = this.rowAtPoint (visibleRect.getLocation ());\r
1504 var col = this.columnAtPoint (visibleRect.getLocation ());\r
1505 var cellRect = this.getCellRect (row, col, true);\r
1506 if (cellRect.y == visibleRect.y) {\r
1507 var rh = this.getRowHeight ();\r
1508 return Math.max (rh, (Clazz.doubleToInt (visibleRect.height / rh)) * rh);\r
1509 }}if (direction < 0) {\r
1510 return this.getPreviousBlockIncrement (visibleRect, orientation);\r
1511 } else {\r
1512 return this.getNextBlockIncrement (visibleRect, orientation);\r
1513 }}, "java.awt.Rectangle,~N,~N");\r
1514 Clazz.defineMethod (c$, "getPreviousBlockIncrement", \r
1515  function (visibleRect, orientation) {\r
1516 var row;\r
1517 var col;\r
1518 var newEdge;\r
1519 var newCellLoc;\r
1520 var visibleLeadingEdge = this.leadingEdge (visibleRect, orientation);\r
1521 var leftToRight = this.getComponentOrientation ().isLeftToRight ();\r
1522 var newLeadingEdge;\r
1523 if (orientation == 1) {\r
1524 newEdge = visibleLeadingEdge - visibleRect.height;\r
1525 var x = visibleRect.x + (leftToRight ? 0 : visibleRect.width);\r
1526 newCellLoc =  new java.awt.Point (x, newEdge);\r
1527 } else if (leftToRight) {\r
1528 newEdge = visibleLeadingEdge - visibleRect.width;\r
1529 newCellLoc =  new java.awt.Point (newEdge, visibleRect.y);\r
1530 } else {\r
1531 newEdge = visibleLeadingEdge + visibleRect.width;\r
1532 newCellLoc =  new java.awt.Point (newEdge - 1, visibleRect.y);\r
1533 }row = this.rowAtPoint (newCellLoc);\r
1534 col = this.columnAtPoint (newCellLoc);\r
1535 if ( new Boolean (orientation == 1 & row < 0).valueOf ()) {\r
1536 newLeadingEdge = 0;\r
1537 } else if ( new Boolean (orientation == 0 & col < 0).valueOf ()) {\r
1538 if (leftToRight) {\r
1539 newLeadingEdge = 0;\r
1540 } else {\r
1541 newLeadingEdge = this.getWidth ();\r
1542 }} else {\r
1543 var newCellRect = this.getCellRect (row, col, true);\r
1544 var newCellLeadingEdge = this.leadingEdge (newCellRect, orientation);\r
1545 var newCellTrailingEdge = this.trailingEdge (newCellRect, orientation);\r
1546 if ((orientation == 1 || leftToRight) && (newCellTrailingEdge >= visibleLeadingEdge)) {\r
1547 newLeadingEdge = newCellLeadingEdge;\r
1548 } else if (orientation == 0 && !leftToRight && newCellTrailingEdge <= visibleLeadingEdge) {\r
1549 newLeadingEdge = newCellLeadingEdge;\r
1550 } else if (newEdge == newCellLeadingEdge) {\r
1551 newLeadingEdge = newCellLeadingEdge;\r
1552 } else {\r
1553 newLeadingEdge = newCellTrailingEdge;\r
1554 }}return Math.abs (visibleLeadingEdge - newLeadingEdge);\r
1555 }, "java.awt.Rectangle,~N");\r
1556 Clazz.defineMethod (c$, "getNextBlockIncrement", \r
1557  function (visibleRect, orientation) {\r
1558 var trailingRow = this.getTrailingRow (visibleRect);\r
1559 var trailingCol = this.getTrailingCol (visibleRect);\r
1560 var cellRect;\r
1561 var cellFillsVis;\r
1562 var cellLeadingEdge;\r
1563 var cellTrailingEdge;\r
1564 var newLeadingEdge;\r
1565 var visibleLeadingEdge = this.leadingEdge (visibleRect, orientation);\r
1566 if (orientation == 1 && trailingRow < 0) {\r
1567 return visibleRect.height;\r
1568 } else if (orientation == 0 && trailingCol < 0) {\r
1569 return visibleRect.width;\r
1570 }cellRect = this.getCellRect (trailingRow, trailingCol, true);\r
1571 cellLeadingEdge = this.leadingEdge (cellRect, orientation);\r
1572 cellTrailingEdge = this.trailingEdge (cellRect, orientation);\r
1573 if (orientation == 1 || this.getComponentOrientation ().isLeftToRight ()) {\r
1574 cellFillsVis = cellLeadingEdge <= visibleLeadingEdge;\r
1575 } else {\r
1576 cellFillsVis = cellLeadingEdge >= visibleLeadingEdge;\r
1577 }if (cellFillsVis) {\r
1578 newLeadingEdge = cellTrailingEdge;\r
1579 } else if (cellTrailingEdge == this.trailingEdge (visibleRect, orientation)) {\r
1580 newLeadingEdge = cellTrailingEdge;\r
1581 } else {\r
1582 newLeadingEdge = cellLeadingEdge;\r
1583 }return Math.abs (newLeadingEdge - visibleLeadingEdge);\r
1584 }, "java.awt.Rectangle,~N");\r
1585 Clazz.defineMethod (c$, "getLeadingRow", \r
1586  function (visibleRect) {\r
1587 var leadingPoint;\r
1588 if (this.getComponentOrientation ().isLeftToRight ()) {\r
1589 leadingPoint =  new java.awt.Point (visibleRect.x, visibleRect.y);\r
1590 } else {\r
1591 leadingPoint =  new java.awt.Point (visibleRect.x + visibleRect.width - 1, visibleRect.y);\r
1592 }return this.rowAtPoint (leadingPoint);\r
1593 }, "java.awt.Rectangle");\r
1594 Clazz.defineMethod (c$, "getLeadingCol", \r
1595  function (visibleRect) {\r
1596 var leadingPoint;\r
1597 if (this.getComponentOrientation ().isLeftToRight ()) {\r
1598 leadingPoint =  new java.awt.Point (visibleRect.x, visibleRect.y);\r
1599 } else {\r
1600 leadingPoint =  new java.awt.Point (visibleRect.x + visibleRect.width - 1, visibleRect.y);\r
1601 }return this.columnAtPoint (leadingPoint);\r
1602 }, "java.awt.Rectangle");\r
1603 Clazz.defineMethod (c$, "getTrailingRow", \r
1604  function (visibleRect) {\r
1605 var trailingPoint;\r
1606 if (this.getComponentOrientation ().isLeftToRight ()) {\r
1607 trailingPoint =  new java.awt.Point (visibleRect.x, visibleRect.y + visibleRect.height - 1);\r
1608 } else {\r
1609 trailingPoint =  new java.awt.Point (visibleRect.x + visibleRect.width - 1, visibleRect.y + visibleRect.height - 1);\r
1610 }return this.rowAtPoint (trailingPoint);\r
1611 }, "java.awt.Rectangle");\r
1612 Clazz.defineMethod (c$, "getTrailingCol", \r
1613  function (visibleRect) {\r
1614 var trailingPoint;\r
1615 if (this.getComponentOrientation ().isLeftToRight ()) {\r
1616 trailingPoint =  new java.awt.Point (visibleRect.x + visibleRect.width - 1, visibleRect.y);\r
1617 } else {\r
1618 trailingPoint =  new java.awt.Point (visibleRect.x, visibleRect.y);\r
1619 }return this.columnAtPoint (trailingPoint);\r
1620 }, "java.awt.Rectangle");\r
1621 Clazz.defineMethod (c$, "leadingEdge", \r
1622  function (rect, orientation) {\r
1623 if (orientation == 1) {\r
1624 return rect.y;\r
1625 } else if (this.getComponentOrientation ().isLeftToRight ()) {\r
1626 return rect.x;\r
1627 } else {\r
1628 return rect.x + rect.width;\r
1629 }}, "java.awt.Rectangle,~N");\r
1630 Clazz.defineMethod (c$, "trailingEdge", \r
1631  function (rect, orientation) {\r
1632 if (orientation == 1) {\r
1633 return rect.y + rect.height;\r
1634 } else if (this.getComponentOrientation ().isLeftToRight ()) {\r
1635 return rect.x + rect.width;\r
1636 } else {\r
1637 return rect.x;\r
1638 }}, "java.awt.Rectangle,~N");\r
1639 Clazz.overrideMethod (c$, "getScrollableTracksViewportWidth", \r
1640 function () {\r
1641 return !(this.autoResizeMode == 0);\r
1642 });\r
1643 Clazz.overrideMethod (c$, "getScrollableTracksViewportHeight", \r
1644 function () {\r
1645 return this.getFillsViewportHeight () && Clazz.instanceOf (this.getParent (), javax.swing.JViewport) && ((this.getParent ()).getHeight () > this.getPreferredSize ().height);\r
1646 });\r
1647 Clazz.defineMethod (c$, "setFillsViewportHeight", \r
1648 function (fillsViewportHeight) {\r
1649 var old = this.fillsViewportHeight;\r
1650 this.fillsViewportHeight = fillsViewportHeight;\r
1651 this.resizeAndRepaint ();\r
1652 this.firePropertyChangeBool ("fillsViewportHeight", old, fillsViewportHeight);\r
1653 }, "~B");\r
1654 Clazz.defineMethod (c$, "getFillsViewportHeight", \r
1655 function () {\r
1656 return this.fillsViewportHeight;\r
1657 });\r
1658 Clazz.defineMethod (c$, "processKeyBinding", \r
1659 function (ks, e, condition, pressed) {\r
1660 var retValue = Clazz.superCall (this, javax.swing.JTable, "processKeyBinding", [ks, e, condition, pressed]);\r
1661 if (!retValue && condition == 1 && this.isFocusOwner () && !Boolean.FALSE.equals (this.getClientProperty ("JTable.autoStartsEdit"))) {\r
1662 var editorComponent = this.getEditorComponent ();\r
1663 if (editorComponent == null) {\r
1664 if (e == null || e.getID () != 401) {\r
1665 return false;\r
1666 }var code = e.getKeyCode ();\r
1667 if (code == 16 || code == 17 || code == 18) {\r
1668 return false;\r
1669 }var leadRow = this.getSelectionModel ().getLeadSelectionIndex ();\r
1670 var leadColumn = this.getColumnModel ().getSelectionModel ().getLeadSelectionIndex ();\r
1671 if (leadRow != -1 && leadColumn != -1 && !this.isEditing ()) {\r
1672 if (!this.editCellAt (leadRow, leadColumn, e)) {\r
1673 return false;\r
1674 }}editorComponent = this.getEditorComponent ();\r
1675 if (editorComponent == null) {\r
1676 return false;\r
1677 }}if (Clazz.instanceOf (editorComponent, javax.swing.JComponent)) {\r
1678 retValue = (editorComponent).processKeyBinding (ks, e, 0, pressed);\r
1679 if (this.getSurrendersFocusOnKeystroke ()) {\r
1680 editorComponent.requestFocus ();\r
1681 }}}return retValue;\r
1682 }, "javax.swing.KeyStroke,java.awt.event.KeyEvent,~N,~B");\r
1683 Clazz.defineMethod (c$, "setLazyValue", \r
1684  function (h, c, s) {\r
1685 h.put (c, s);\r
1686 }, "java.util.Hashtable,Class,~S");\r
1687 Clazz.defineMethod (c$, "setLazyRenderer", \r
1688  function (c, s) {\r
1689 this.setLazyValue (this.defaultRenderersByColumnClass, c, s);\r
1690 }, "Class,~S");\r
1691 Clazz.defineMethod (c$, "createDefaultRenderers", \r
1692 function () {\r
1693 this.defaultRenderersByColumnClass =  new javax.swing.UIDefaults (8, 0.75);\r
1694 this.setLazyRenderer (JavaObject, "javax.swing.table.DefaultTableCellRenderer$UIResource");\r
1695 this.setLazyRenderer (Number, "javax.swing.JTable$NumberRenderer");\r
1696 this.setLazyRenderer (Float, "javax.swing.JTable$DoubleRenderer");\r
1697 this.setLazyRenderer (Double, "javax.swing.JTable$DoubleRenderer");\r
1698 this.setLazyRenderer (java.util.Date, "javax.swing.JTable$DateRenderer");\r
1699 this.setLazyRenderer (javax.swing.Icon, "javax.swing.JTable$IconRenderer");\r
1700 this.setLazyRenderer (javax.swing.ImageIcon, "javax.swing.JTable$IconRenderer");\r
1701 this.setLazyRenderer (Boolean, "javax.swing.JTable$BooleanRenderer");\r
1702 });\r
1703 Clazz.defineMethod (c$, "setLazyEditor", \r
1704  function (c, s) {\r
1705 this.setLazyValue (this.defaultEditorsByColumnClass, c, s);\r
1706 }, "Class,~S");\r
1707 Clazz.defineMethod (c$, "createDefaultEditors", \r
1708 function () {\r
1709 this.defaultEditorsByColumnClass =  new javax.swing.UIDefaults (3, 0.75);\r
1710 this.setLazyEditor (JavaObject, "javax.swing.JTable$GenericEditor");\r
1711 this.setLazyEditor (Number, "javax.swing.JTable$NumberEditor");\r
1712 this.setLazyEditor (Boolean, "javax.swing.JTable$BooleanEditor");\r
1713 });\r
1714 Clazz.defineMethod (c$, "initializeLocalVars", \r
1715 function () {\r
1716 this.updateSelectionOnSort = true;\r
1717 this.setOpaque (true);\r
1718 this.createDefaultRenderers ();\r
1719 this.createDefaultEditors ();\r
1720 this.setTableHeader (this.createDefaultTableHeader ());\r
1721 this.setShowGrid (true);\r
1722 this.setAutoResizeMode (2);\r
1723 this.setRowHeight (16);\r
1724 this.isRowHeightSet = false;\r
1725 this.setRowMargin (1);\r
1726 this.setRowSelectionAllowed (true);\r
1727 this.setCellEditor (null);\r
1728 this.setEditingColumn (-1);\r
1729 this.setEditingRow (-1);\r
1730 this.setSurrendersFocusOnKeystroke (false);\r
1731 this.setPreferredScrollableViewportSize ( new java.awt.Dimension (450, 400));\r
1732 this.setAutoscrolls (true);\r
1733 });\r
1734 Clazz.defineMethod (c$, "createDefaultDataModel", \r
1735 function () {\r
1736 return  new javax.swing.table.DefaultTableModel ();\r
1737 });\r
1738 Clazz.defineMethod (c$, "createDefaultColumnModel", \r
1739 function () {\r
1740 return  new javax.swing.table.DefaultTableColumnModel ();\r
1741 });\r
1742 Clazz.defineMethod (c$, "createDefaultSelectionModel", \r
1743 function () {\r
1744 return  new javax.swing.DefaultListSelectionModel ();\r
1745 });\r
1746 Clazz.defineMethod (c$, "createDefaultTableHeader", \r
1747 function () {\r
1748 return  new javax.swing.table.JTableHeader (this.columnModel);\r
1749 });\r
1750 Clazz.defineMethod (c$, "resizeAndRepaint", \r
1751 function () {\r
1752 this.revalidate ();\r
1753 this.repaint ();\r
1754 });\r
1755 Clazz.defineMethod (c$, "getCellEditor", \r
1756 function () {\r
1757 return this.cellEditor;\r
1758 });\r
1759 Clazz.defineMethod (c$, "setCellEditor", \r
1760 function (anEditor) {\r
1761 var oldEditor = this.cellEditor;\r
1762 this.cellEditor = anEditor;\r
1763 this.firePropertyChangeObject ("tableCellEditor", oldEditor, anEditor);\r
1764 }, "javax.swing.table.TableCellEditor");\r
1765 Clazz.defineMethod (c$, "setEditingColumn", \r
1766 function (aColumn) {\r
1767 this.editingColumn = aColumn;\r
1768 }, "~N");\r
1769 Clazz.defineMethod (c$, "setEditingRow", \r
1770 function (aRow) {\r
1771 this.editingRow = aRow;\r
1772 }, "~N");\r
1773 Clazz.defineMethod (c$, "getCellRenderer", \r
1774 function (row, column) {\r
1775 var tableColumn = this.getColumnModel ().getColumn (column);\r
1776 var renderer = tableColumn.getCellRenderer ();\r
1777 if (renderer == null) {\r
1778 renderer = this.getDefaultRenderer (this.getColumnClass (column));\r
1779 }return renderer;\r
1780 }, "~N,~N");\r
1781 Clazz.defineMethod (c$, "prepareRenderer", \r
1782 function (renderer, row, column) {\r
1783 var value = this.getValueAt (row, column);\r
1784 var isSelected = false;\r
1785 var hasFocus = false;\r
1786 if (!this.isPaintingForPrint ()) {\r
1787 isSelected = this.isCellSelected (row, column);\r
1788 var rowIsLead = (this.selectionModel.getLeadSelectionIndex () == row);\r
1789 var colIsLead = (this.columnModel.getSelectionModel ().getLeadSelectionIndex () == column);\r
1790 hasFocus = (rowIsLead && colIsLead) && this.isFocusOwner ();\r
1791 }return renderer.getTableCellRendererComponent (this, value, isSelected, hasFocus, row, column);\r
1792 }, "javax.swing.table.TableCellRenderer,~N,~N");\r
1793 Clazz.defineMethod (c$, "getCellEditor", \r
1794 function (row, column) {\r
1795 var tableColumn = this.getColumnModel ().getColumn (column);\r
1796 var editor = tableColumn.getCellEditor ();\r
1797 if (editor == null) {\r
1798 editor = this.getDefaultEditor (this.getColumnClass (column));\r
1799 }return editor;\r
1800 }, "~N,~N");\r
1801 Clazz.defineMethod (c$, "prepareEditor", \r
1802 function (editor, row, column) {\r
1803 var value = this.getValueAt (row, column);\r
1804 var isSelected = this.isCellSelected (row, column);\r
1805 var comp = editor.getTableCellEditorComponent (this, value, isSelected, row, column);\r
1806 return comp;\r
1807 }, "javax.swing.table.TableCellEditor,~N,~N");\r
1808 Clazz.defineMethod (c$, "removeEditor", \r
1809 function () {\r
1810 });\r
1811 c$.$JTable$SortManager$ = function () {\r
1812 Clazz.pu$h(self.c$);\r
1813 c$ = Clazz.decorateAsClass (function () {\r
1814 Clazz.prepareCallback (this, arguments);\r
1815 this.sorter = null;\r
1816 this.modelSelection = null;\r
1817 this.modelLeadIndex = 0;\r
1818 this.syncingSelection = false;\r
1819 this.lastModelSelection = null;\r
1820 this.modelRowSizes = null;\r
1821 Clazz.instantialize (this, arguments);\r
1822 }, javax.swing.JTable, "SortManager");\r
1823 Clazz.makeConstructor (c$, \r
1824 function (a) {\r
1825 this.sorter = a;\r
1826 a.addRowSorterListener (this.b$["javax.swing.JTable"]);\r
1827 }, "javax.swing.RowSorter");\r
1828 Clazz.defineMethod (c$, "dispose", \r
1829 function () {\r
1830 if (this.sorter != null) {\r
1831 this.sorter.removeRowSorterListener (this.b$["javax.swing.JTable"]);\r
1832 }});\r
1833 Clazz.defineMethod (c$, "setViewRowHeight", \r
1834 function (a, b) {\r
1835 if (this.modelRowSizes == null) {\r
1836 this.modelRowSizes =  new javax.swing.SizeSequence (this.b$["javax.swing.JTable"].getModel ().getRowCount (), this.b$["javax.swing.JTable"].getRowHeight ());\r
1837 }this.modelRowSizes.setSize (this.b$["javax.swing.JTable"].convertRowIndexToModel (a), b);\r
1838 }, "~N,~N");\r
1839 Clazz.defineMethod (c$, "allChanged", \r
1840 function () {\r
1841 this.modelLeadIndex = -1;\r
1842 this.modelSelection = null;\r
1843 this.modelRowSizes = null;\r
1844 });\r
1845 Clazz.defineMethod (c$, "viewSelectionChanged", \r
1846 function (a) {\r
1847 if (!this.syncingSelection && this.modelSelection != null) {\r
1848 this.modelSelection = null;\r
1849 }}, "javax.swing.event.ListSelectionEvent");\r
1850 Clazz.defineMethod (c$, "prepareForChange", \r
1851 function (a, b) {\r
1852 if (this.b$["javax.swing.JTable"].getUpdateSelectionOnSort ()) {\r
1853 this.cacheSelection (a, b);\r
1854 }}, "javax.swing.event.RowSorterEvent,javax.swing.JTable.ModelChange");\r
1855 Clazz.defineMethod (c$, "cacheSelection", \r
1856  function (a, b) {\r
1857 if (a != null) {\r
1858 if (this.modelSelection == null && this.sorter.getViewRowCount () != this.b$["javax.swing.JTable"].getModel ().getRowCount ()) {\r
1859 this.modelSelection =  new javax.swing.DefaultListSelectionModel ();\r
1860 var c = this.b$["javax.swing.JTable"].getSelectionModel ();\r
1861 var d = c.getMinSelectionIndex ();\r
1862 var e = c.getMaxSelectionIndex ();\r
1863 var f;\r
1864 for (var g = d; g <= e; g++) {\r
1865 if (c.isSelectedIndex (g)) {\r
1866 f = this.b$["javax.swing.JTable"].convertRowIndexToModel (a, g);\r
1867 if (f != -1) {\r
1868 this.modelSelection.addSelectionInterval (f, f);\r
1869 }}}\r
1870 f = this.b$["javax.swing.JTable"].convertRowIndexToModel (a, c.getLeadSelectionIndex ());\r
1871 jssun.swing.SwingUtilities2.setLeadAnchorWithoutSelection (this.modelSelection, f, f);\r
1872 } else if (this.modelSelection == null) {\r
1873 this.cacheModelSelection (a);\r
1874 }} else if (b.allRowsChanged) {\r
1875 this.modelSelection = null;\r
1876 } else if (this.modelSelection != null) {\r
1877 switch (b.type) {\r
1878 case -1:\r
1879 this.modelSelection.removeIndexInterval (b.startModelIndex, b.endModelIndex);\r
1880 break;\r
1881 case 1:\r
1882 this.modelSelection.insertIndexInterval (b.startModelIndex, b.endModelIndex, true);\r
1883 break;\r
1884 default:\r
1885 break;\r
1886 }\r
1887 } else {\r
1888 this.cacheModelSelection (null);\r
1889 }}, "javax.swing.event.RowSorterEvent,javax.swing.JTable.ModelChange");\r
1890 Clazz.defineMethod (c$, "cacheModelSelection", \r
1891  function (a) {\r
1892 this.lastModelSelection = this.b$["javax.swing.JTable"].convertSelectionToModel (a);\r
1893 this.modelLeadIndex = this.b$["javax.swing.JTable"].convertRowIndexToModel (a, this.b$["javax.swing.JTable"].selectionModel.getLeadSelectionIndex ());\r
1894 }, "javax.swing.event.RowSorterEvent");\r
1895 Clazz.defineMethod (c$, "processChange", \r
1896 function (a, b, c) {\r
1897 if (b != null) {\r
1898 if (b.allRowsChanged) {\r
1899 this.modelRowSizes = null;\r
1900 this.b$["javax.swing.JTable"].rowModel = null;\r
1901 } else if (this.modelRowSizes != null) {\r
1902 if (b.type == 1) {\r
1903 this.modelRowSizes.insertEntries (b.startModelIndex, b.endModelIndex - b.startModelIndex + 1, this.b$["javax.swing.JTable"].getRowHeight ());\r
1904 } else if (b.type == -1) {\r
1905 this.modelRowSizes.removeEntries (b.startModelIndex, b.endModelIndex - b.startModelIndex + 1);\r
1906 }}}if (c) {\r
1907 this.setViewRowHeightsFromModel ();\r
1908 this.restoreSelection (b);\r
1909 }}, "javax.swing.event.RowSorterEvent,javax.swing.JTable.ModelChange,~B");\r
1910 Clazz.defineMethod (c$, "setViewRowHeightsFromModel", \r
1911  function () {\r
1912 if (this.modelRowSizes != null) {\r
1913 this.b$["javax.swing.JTable"].rowModel.setSizes (this.b$["javax.swing.JTable"].getRowCount (), this.b$["javax.swing.JTable"].getRowHeight ());\r
1914 for (var a = this.b$["javax.swing.JTable"].getRowCount () - 1; a >= 0; a--) {\r
1915 var b = this.b$["javax.swing.JTable"].convertRowIndexToModel (a);\r
1916 this.b$["javax.swing.JTable"].rowModel.setSize (a, this.modelRowSizes.getSize (b));\r
1917 }\r
1918 }});\r
1919 Clazz.defineMethod (c$, "restoreSelection", \r
1920  function (a) {\r
1921 this.syncingSelection = true;\r
1922 if (this.lastModelSelection != null) {\r
1923 this.b$["javax.swing.JTable"].restoreSortingSelection (this.lastModelSelection, this.modelLeadIndex, a);\r
1924 this.lastModelSelection = null;\r
1925 } else if (this.modelSelection != null) {\r
1926 var b = this.b$["javax.swing.JTable"].getSelectionModel ();\r
1927 b.setValueIsAdjusting (true);\r
1928 b.clearSelection ();\r
1929 var c = this.modelSelection.getMinSelectionIndex ();\r
1930 var d = this.modelSelection.getMaxSelectionIndex ();\r
1931 var e;\r
1932 for (var f = c; f <= d; f++) {\r
1933 if (this.modelSelection.isSelectedIndex (f)) {\r
1934 e = this.b$["javax.swing.JTable"].convertRowIndexToView (f);\r
1935 if (e != -1) {\r
1936 b.addSelectionInterval (e, e);\r
1937 }}}\r
1938 var g = this.modelSelection.getLeadSelectionIndex ();\r
1939 if (g != -1) {\r
1940 g = this.b$["javax.swing.JTable"].convertRowIndexToView (g);\r
1941 }jssun.swing.SwingUtilities2.setLeadAnchorWithoutSelection (b, g, g);\r
1942 b.setValueIsAdjusting (false);\r
1943 }this.syncingSelection = false;\r
1944 }, "javax.swing.JTable.ModelChange");\r
1945 c$ = Clazz.p0p ();\r
1946 };\r
1947 c$.$JTable$ModelChange$ = function () {\r
1948 Clazz.pu$h(self.c$);\r
1949 c$ = Clazz.decorateAsClass (function () {\r
1950 Clazz.prepareCallback (this, arguments);\r
1951 this.startModelIndex = 0;\r
1952 this.endModelIndex = 0;\r
1953 this.type = 0;\r
1954 this.modelRowCount = 0;\r
1955 this.event = null;\r
1956 this.length = 0;\r
1957 this.allRowsChanged = false;\r
1958 Clazz.instantialize (this, arguments);\r
1959 }, javax.swing.JTable, "ModelChange");\r
1960 Clazz.makeConstructor (c$, \r
1961 function (a) {\r
1962 this.startModelIndex = Math.max (0, a.getFirstRow ());\r
1963 this.endModelIndex = a.getLastRow ();\r
1964 this.modelRowCount = this.b$["javax.swing.JTable"].getModel ().getRowCount ();\r
1965 if (this.endModelIndex < 0) {\r
1966 this.endModelIndex = Math.max (0, this.modelRowCount - 1);\r
1967 }this.length = this.endModelIndex - this.startModelIndex + 1;\r
1968 this.type = a.getType ();\r
1969 this.event = a;\r
1970 this.allRowsChanged = (a.getLastRow () == 2147483647);\r
1971 }, "javax.swing.event.TableModelEvent");\r
1972 c$ = Clazz.p0p ();\r
1973 };\r
1974 Clazz.pu$h(self.c$);\r
1975 c$ = Clazz.declareType (javax.swing.JTable, "PrintMode", Enum);\r
1976 Clazz.defineEnumConstant (c$, "NORMAL", 0, []);\r
1977 Clazz.defineEnumConstant (c$, "FIT_WIDTH", 1, []);\r
1978 c$ = Clazz.p0p ();\r
1979 c$.$JTable$1$ = function () {\r
1980 Clazz.pu$h(self.c$);\r
1981 c$ = Clazz.declareAnonymous (javax.swing, "JTable$1", javax.swing.table.AbstractTableModel);\r
1982 Clazz.overrideMethod (c$, "getColumnName", \r
1983 function (column) {\r
1984 return this.f$.columnNames[column].toString ();\r
1985 }, "~N");\r
1986 Clazz.defineMethod (c$, "getRowCount", \r
1987 function () {\r
1988 return this.f$.rowData.length;\r
1989 });\r
1990 Clazz.defineMethod (c$, "getColumnCount", \r
1991 function () {\r
1992 return this.f$.columnNames.length;\r
1993 });\r
1994 Clazz.defineMethod (c$, "getValueAt", \r
1995 function (row, col) {\r
1996 return this.f$.rowData[row][col];\r
1997 }, "~N,~N");\r
1998 Clazz.overrideMethod (c$, "isCellEditable", \r
1999 function (row, column) {\r
2000 return true;\r
2001 }, "~N,~N");\r
2002 Clazz.overrideMethod (c$, "setValueAt", \r
2003 function (value, row, col) {\r
2004 this.f$.rowData[row][col] = value;\r
2005 this.fireTableCellUpdated (row, col);\r
2006 }, "~O,~N,~N");\r
2007 c$ = Clazz.p0p ();\r
2008 };\r
2009 c$.$JTable$2$ = function () {\r
2010 Clazz.pu$h(self.c$);\r
2011 c$ = Clazz.declareAnonymous (javax.swing, "JTable$2", null, javax.swing.JTable.Resizable3);\r
2012 Clazz.defineMethod (c$, "getElementCount", \r
2013 function () {\r
2014 return this.f$.cm.getColumnCount ();\r
2015 });\r
2016 Clazz.defineMethod (c$, "getLowerBoundAt", \r
2017 function (i) {\r
2018 return this.f$.cm.getColumn (i).getMinWidth ();\r
2019 }, "~N");\r
2020 Clazz.defineMethod (c$, "getUpperBoundAt", \r
2021 function (i) {\r
2022 return this.f$.cm.getColumn (i).getMaxWidth ();\r
2023 }, "~N");\r
2024 Clazz.defineMethod (c$, "getMidPointAt", \r
2025 function (i) {\r
2026 if (!this.f$.inverse) {\r
2027 return this.f$.cm.getColumn (i).getPreferredWidth ();\r
2028 } else {\r
2029 return this.f$.cm.getColumn (i).getWidth ();\r
2030 }}, "~N");\r
2031 Clazz.defineMethod (c$, "setSizeAt", \r
2032 function (s, i) {\r
2033 if (!this.f$.inverse) {\r
2034 this.f$.cm.getColumn (i).setWidth (s);\r
2035 } else {\r
2036 this.f$.cm.getColumn (i).setPreferredWidth (s);\r
2037 }}, "~N,~N");\r
2038 c$ = Clazz.p0p ();\r
2039 };\r
2040 c$.$JTable$3$ = function () {\r
2041 Clazz.pu$h(self.c$);\r
2042 c$ = Clazz.declareAnonymous (javax.swing, "JTable$3", null, javax.swing.JTable.Resizable3);\r
2043 Clazz.defineMethod (c$, "getElementCount", \r
2044 function () {\r
2045 return this.f$.end - this.f$.start;\r
2046 });\r
2047 Clazz.defineMethod (c$, "getLowerBoundAt", \r
2048 function (i) {\r
2049 return this.f$.cm.getColumn (i + this.f$.start).getMinWidth ();\r
2050 }, "~N");\r
2051 Clazz.defineMethod (c$, "getUpperBoundAt", \r
2052 function (i) {\r
2053 return this.f$.cm.getColumn (i + this.f$.start).getMaxWidth ();\r
2054 }, "~N");\r
2055 Clazz.defineMethod (c$, "getMidPointAt", \r
2056 function (i) {\r
2057 return this.f$.cm.getColumn (i + this.f$.start).getWidth ();\r
2058 }, "~N");\r
2059 Clazz.defineMethod (c$, "setSizeAt", \r
2060 function (s, i) {\r
2061 this.f$.cm.getColumn (i + this.f$.start).setWidth (s);\r
2062 }, "~N,~N");\r
2063 c$ = Clazz.p0p ();\r
2064 };\r
2065 c$.$JTable$4$ = function () {\r
2066 Clazz.pu$h(self.c$);\r
2067 c$ = Clazz.declareAnonymous (javax.swing, "JTable$4", null, javax.swing.JTable.Resizable2);\r
2068 Clazz.defineMethod (c$, "getElementCount", \r
2069 function () {\r
2070 return this.f$.r.getElementCount ();\r
2071 });\r
2072 Clazz.defineMethod (c$, "getLowerBoundAt", \r
2073 function (i) {\r
2074 return this.f$.r.getLowerBoundAt (i);\r
2075 }, "~N");\r
2076 Clazz.defineMethod (c$, "getUpperBoundAt", \r
2077 function (i) {\r
2078 return this.f$.r.getMidPointAt (i);\r
2079 }, "~N");\r
2080 Clazz.defineMethod (c$, "setSizeAt", \r
2081 function (newSize, i) {\r
2082 this.f$.r.setSizeAt (newSize, i);\r
2083 }, "~N,~N");\r
2084 c$ = Clazz.p0p ();\r
2085 };\r
2086 c$.$JTable$5$ = function () {\r
2087 Clazz.pu$h(self.c$);\r
2088 c$ = Clazz.declareAnonymous (javax.swing, "JTable$5", null, javax.swing.JTable.Resizable2);\r
2089 Clazz.defineMethod (c$, "getElementCount", \r
2090 function () {\r
2091 return this.f$.r.getElementCount ();\r
2092 });\r
2093 Clazz.defineMethod (c$, "getLowerBoundAt", \r
2094 function (i) {\r
2095 return this.f$.r.getMidPointAt (i);\r
2096 }, "~N");\r
2097 Clazz.defineMethod (c$, "getUpperBoundAt", \r
2098 function (i) {\r
2099 return this.f$.r.getUpperBoundAt (i);\r
2100 }, "~N");\r
2101 Clazz.defineMethod (c$, "setSizeAt", \r
2102 function (newSize, i) {\r
2103 this.f$.r.setSizeAt (newSize, i);\r
2104 }, "~N,~N");\r
2105 c$ = Clazz.p0p ();\r
2106 };\r
2107 Clazz.declareInterface (javax.swing.JTable, "Resizable2");\r
2108 Clazz.declareInterface (javax.swing.JTable, "Resizable3", javax.swing.JTable.Resizable2);\r
2109 Clazz.pu$h(self.c$);\r
2110 c$ = Clazz.declareType (javax.swing.JTable, "NumberRenderer", javax.swing.table.DefaultTableCellRenderer.UIResource);\r
2111 Clazz.makeConstructor (c$, \r
2112 function () {\r
2113 Clazz.superConstructor (this, javax.swing.JTable.NumberRenderer);\r
2114 this.setHorizontalAlignment (4);\r
2115 });\r
2116 c$ = Clazz.p0p ();\r
2117 Clazz.pu$h(self.c$);\r
2118 c$ = Clazz.decorateAsClass (function () {\r
2119 this.formatter = null;\r
2120 Clazz.instantialize (this, arguments);\r
2121 }, javax.swing.JTable, "DoubleRenderer", javax.swing.JTable.NumberRenderer);\r
2122 Clazz.overrideMethod (c$, "setValue", \r
2123 function (a) {\r
2124 if (this.formatter == null) {\r
2125 this.formatter = java.text.NumberFormat.getInstance ();\r
2126 }this.setText ((a == null) ? "" : this.formatter.format (a));\r
2127 }, "~O");\r
2128 c$ = Clazz.p0p ();\r
2129 Clazz.pu$h(self.c$);\r
2130 c$ = Clazz.declareType (javax.swing.JTable, "IconRenderer", javax.swing.table.DefaultTableCellRenderer.UIResource);\r
2131 Clazz.makeConstructor (c$, \r
2132 function () {\r
2133 Clazz.superConstructor (this, javax.swing.JTable.IconRenderer);\r
2134 this.setHorizontalAlignment (0);\r
2135 });\r
2136 Clazz.overrideMethod (c$, "setValue", \r
2137 function (a) {\r
2138 this.setIcon ((Clazz.instanceOf (a, javax.swing.Icon)) ? a : null);\r
2139 }, "~O");\r
2140 c$ = Clazz.p0p ();\r
2141 Clazz.pu$h(self.c$);\r
2142 c$ = Clazz.declareType (javax.swing.JTable, "BooleanRenderer", javax.swing.JCheckBox, [javax.swing.table.TableCellRenderer, javax.swing.plaf.UIResource]);\r
2143 Clazz.makeConstructor (c$, \r
2144 function () {\r
2145 Clazz.superConstructor (this, javax.swing.JTable.BooleanRenderer);\r
2146 this.setHorizontalAlignment (0);\r
2147 this.setBorderPainted (true);\r
2148 });\r
2149 Clazz.overrideMethod (c$, "getTableCellRendererComponent", \r
2150 function (a, b, c, d, e, f) {\r
2151 if (c) {\r
2152 this.setForeground (a.getSelectionForeground ());\r
2153 Clazz.superCall (this, javax.swing.JTable.BooleanRenderer, "setBackground", [a.getSelectionBackground ()]);\r
2154 } else {\r
2155 this.setForeground (a.getForeground ());\r
2156 this.setBackground (a.getBackground ());\r
2157 }this.setSelected ((b != null && (b).booleanValue ()));\r
2158 if (d) {\r
2159 this.setBorder (javax.swing.UIManager.getBorder ("Table.focusCellHighlightBorder"));\r
2160 } else {\r
2161 this.setBorder (javax.swing.JTable.BooleanRenderer.noFocusBorder);\r
2162 }return this;\r
2163 }, "javax.swing.JTable,~O,~B,~B,~N,~N");\r
2164 c$.noFocusBorder = c$.prototype.noFocusBorder =  new javax.swing.border.EmptyBorder (1, 1, 1, 1);\r
2165 c$ = Clazz.p0p ();\r
2166 Clazz.pu$h(self.c$);\r
2167 c$ = Clazz.decorateAsClass (function () {\r
2168 this.argTypes = null;\r
2169 this.constructor = null;\r
2170 this.value = null;\r
2171 Clazz.instantialize (this, arguments);\r
2172 }, javax.swing.JTable, "GenericEditor", javax.swing.DefaultCellEditor);\r
2173 Clazz.prepareFields (c$, function () {\r
2174 this.argTypes =  Clazz.newArray (-1, [String]);\r
2175 });\r
2176 Clazz.makeConstructor (c$, \r
2177 function () {\r
2178 Clazz.superConstructor (this, javax.swing.JTable.GenericEditor, [ new javax.swing.JTextField ()]);\r
2179 this.getComponent ().setName ("Table.editor");\r
2180 });\r
2181 Clazz.defineMethod (c$, "stopCellEditing", \r
2182 function () {\r
2183 var a = Clazz.superCall (this, javax.swing.JTable.GenericEditor, "getCellEditorValue", []);\r
2184 try {\r
2185 if ("".equals (a)) {\r
2186 if (this.constructor.getDeclaringClass () === String) {\r
2187 this.value = a;\r
2188 }Clazz.superCall (this, javax.swing.JTable.GenericEditor, "stopCellEditing", []);\r
2189 }this.value = this.constructor.newInstance ( Clazz.newArray (-1, [a]));\r
2190 } catch (e) {\r
2191 if (Clazz.exceptionOf (e, Exception)) {\r
2192 (this.getComponent ()).setBorder ( new javax.swing.border.LineBorder (java.awt.Color.red));\r
2193 return false;\r
2194 } else {\r
2195 throw e;\r
2196 }\r
2197 }\r
2198 return Clazz.superCall (this, javax.swing.JTable.GenericEditor, "stopCellEditing", []);\r
2199 });\r
2200 Clazz.defineMethod (c$, "getTableCellEditorComponent", \r
2201 function (a, b, c, d, e) {\r
2202 this.value = null;\r
2203 (this.getComponent ()).setBorder ( new javax.swing.border.LineBorder (java.awt.Color.black));\r
2204 try {\r
2205 var f = a.getColumnClass (e);\r
2206 if (f === Clazz._O) {\r
2207 f = String;\r
2208 }this.constructor = f.getConstructor (this.argTypes);\r
2209 } catch (e) {\r
2210 if (Clazz.exceptionOf (e, Exception)) {\r
2211 return null;\r
2212 } else {\r
2213 throw e;\r
2214 }\r
2215 }\r
2216 return Clazz.superCall (this, javax.swing.JTable.GenericEditor, "getTableCellEditorComponent", [a, b, c, d, e]);\r
2217 }, "javax.swing.JTable,~O,~B,~N,~N");\r
2218 Clazz.defineMethod (c$, "getCellEditorValue", \r
2219 function () {\r
2220 return this.value;\r
2221 });\r
2222 c$ = Clazz.p0p ();\r
2223 Clazz.pu$h(self.c$);\r
2224 c$ = Clazz.declareType (javax.swing.JTable, "NumberEditor", javax.swing.JTable.GenericEditor);\r
2225 Clazz.makeConstructor (c$, \r
2226 function () {\r
2227 Clazz.superConstructor (this, javax.swing.JTable.NumberEditor, []);\r
2228 (this.getComponent ()).setHorizontalAlignment (4);\r
2229 });\r
2230 c$ = Clazz.p0p ();\r
2231 Clazz.pu$h(self.c$);\r
2232 c$ = Clazz.declareType (javax.swing.JTable, "BooleanEditor", javax.swing.DefaultCellEditor);\r
2233 Clazz.makeConstructor (c$, \r
2234 function () {\r
2235 Clazz.superConstructor (this, javax.swing.JTable.BooleanEditor, [ new javax.swing.JCheckBox ()]);\r
2236 var a = this.getComponent ();\r
2237 a.setHorizontalAlignment (0);\r
2238 });\r
2239 c$ = Clazz.p0p ();\r
2240 Clazz.defineStatics (c$,\r
2241 "$uiClassID", "TableUI",\r
2242 "AUTO_RESIZE_OFF", 0,\r
2243 "AUTO_RESIZE_NEXT_COLUMN", 1,\r
2244 "AUTO_RESIZE_SUBSEQUENT_COLUMNS", 2,\r
2245 "AUTO_RESIZE_LAST_COLUMN", 3,\r
2246 "AUTO_RESIZE_ALL_COLUMNS", 4);\r
2247 });\r