83facb45f7fb995f608fc89a36fdfe4f3ad1572a
[jalviewjs.git] / site / swingjs / j2s / javax / swing / table / JTableHeader.js
1 Clazz.declarePackage ("javax.swing.table");
2 Clazz.load (["javax.swing.JComponent", "javax.swing.event.TableColumnModelListener"], "javax.swing.table.JTableHeader", ["java.lang.IllegalArgumentException", "java.awt.Component", "$.Rectangle", "java.awt.event.MouseEvent", "javax.swing.SwingUtilities", "$.UIManager", "javax.swing.table.DefaultTableColumnModel", "jssun.swing.table.DefaultTableCellHeaderRenderer"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.table = null;
5 this.columnModel = null;
6 this.reorderingAllowed = false;
7 this.resizingAllowed = false;
8 this.updateTableInRealTime = false;
9 this.resizingColumn = null;
10 this.draggedColumn = null;
11 this.draggedDistance = 0;
12 this.defaultRenderer = null;
13 Clazz.instantialize (this, arguments);
14 }, javax.swing.table, "JTableHeader", javax.swing.JComponent, javax.swing.event.TableColumnModelListener);
15 Clazz.makeConstructor (c$, 
16 function () {
17 this.construct (null);
18 });
19 Clazz.makeConstructor (c$, 
20 function (cm) {
21 Clazz.superConstructor (this, javax.swing.table.JTableHeader);
22 if (cm == null) cm = this.createDefaultColumnModel ();
23 this.setColumnModel (cm);
24 this.initializeLocalVars ();
25 this.updateUI ();
26 }, "javax.swing.table.TableColumnModel");
27 Clazz.defineMethod (c$, "setTable", 
28 function (table) {
29 var old = this.table;
30 this.table = table;
31 this.firePropertyChangeObject ("table", old, table);
32 }, "javax.swing.JTable");
33 Clazz.defineMethod (c$, "getTable", 
34 function () {
35 return this.table;
36 });
37 Clazz.defineMethod (c$, "setReorderingAllowed", 
38 function (reorderingAllowed) {
39 var old = this.reorderingAllowed;
40 this.reorderingAllowed = reorderingAllowed;
41 this.firePropertyChangeBool ("reorderingAllowed", old, reorderingAllowed);
42 }, "~B");
43 Clazz.defineMethod (c$, "getReorderingAllowed", 
44 function () {
45 return this.reorderingAllowed;
46 });
47 Clazz.defineMethod (c$, "setResizingAllowed", 
48 function (resizingAllowed) {
49 var old = this.resizingAllowed;
50 this.resizingAllowed = resizingAllowed;
51 this.firePropertyChangeBool ("resizingAllowed", old, resizingAllowed);
52 }, "~B");
53 Clazz.defineMethod (c$, "getResizingAllowed", 
54 function () {
55 return this.resizingAllowed;
56 });
57 Clazz.defineMethod (c$, "getDraggedColumn", 
58 function () {
59 return this.draggedColumn;
60 });
61 Clazz.defineMethod (c$, "getDraggedDistance", 
62 function () {
63 return this.draggedDistance;
64 });
65 Clazz.defineMethod (c$, "getResizingColumn", 
66 function () {
67 return this.resizingColumn;
68 });
69 Clazz.defineMethod (c$, "setUpdateTableInRealTime", 
70 function (flag) {
71 this.updateTableInRealTime = flag;
72 }, "~B");
73 Clazz.defineMethod (c$, "getUpdateTableInRealTime", 
74 function () {
75 return this.updateTableInRealTime;
76 });
77 Clazz.defineMethod (c$, "setDefaultRenderer", 
78 function (defaultRenderer) {
79 this.defaultRenderer = defaultRenderer;
80 }, "javax.swing.table.TableCellRenderer");
81 Clazz.defineMethod (c$, "getDefaultRenderer", 
82 function () {
83 return this.defaultRenderer;
84 });
85 Clazz.defineMethod (c$, "columnAtPoint", 
86 function (point) {
87 var x = point.x;
88 if (!this.getComponentOrientation ().isLeftToRight ()) {
89 x = this.getWidthInRightToLeft () - x - 1;
90 }return this.getColumnModel ().getColumnIndexAtX (x);
91 }, "java.awt.Point");
92 Clazz.defineMethod (c$, "getHeaderRect", 
93 function (column) {
94 var r =  new java.awt.Rectangle ();
95 var cm = this.getColumnModel ();
96 r.height = this.getHeight ();
97 if (column < 0) {
98 if (!this.getComponentOrientation ().isLeftToRight ()) {
99 r.x = this.getWidthInRightToLeft ();
100 }} else if (column >= cm.getColumnCount ()) {
101 if (this.getComponentOrientation ().isLeftToRight ()) {
102 r.x = this.getWidth ();
103 }} else {
104 for (var i = 0; i < column; i++) {
105 r.x += cm.getColumn (i).getWidth ();
106 }
107 if (!this.getComponentOrientation ().isLeftToRight ()) {
108 r.x = this.getWidthInRightToLeft () - r.x - cm.getColumn (column).getWidth ();
109 }r.width = cm.getColumn (column).getWidth ();
110 }return r;
111 }, "~N");
112 Clazz.defineMethod (c$, "getToolTipText", 
113 function (event) {
114 var tip = null;
115 var p = event.getPoint ();
116 var column;
117 if ((column = this.columnAtPoint (p)) != -1) {
118 var aColumn = this.columnModel.getColumn (column);
119 var renderer = aColumn.getHeaderRenderer ();
120 if (renderer == null) {
121 renderer = this.defaultRenderer;
122 }var component = renderer.getTableCellRendererComponent (this.getTable (), aColumn.getHeaderValue (), false, false, -1, column);
123 if (Clazz.instanceOf (component, javax.swing.JComponent)) {
124 var newEvent;
125 var cellRect = this.getHeaderRect (column);
126 p.translate (-cellRect.x, -cellRect.y);
127 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);
128 tip = (component).getToolTipText (newEvent);
129 }}if (tip == null) tip = this.getToolTipText ();
130 return tip;
131 }, "java.awt.event.MouseEvent");
132 Clazz.overrideMethod (c$, "getUI", 
133 function () {
134 return this.ui;
135 });
136 Clazz.defineMethod (c$, "setUI", 
137 function (ui) {
138 if (this.ui !== ui) {
139 Clazz.superCall (this, javax.swing.table.JTableHeader, "setUI", [ui]);
140 this.repaint ();
141 }}, "javax.swing.plaf.TableHeaderUI");
142 Clazz.overrideMethod (c$, "updateUI", 
143 function () {
144 this.setUI (javax.swing.UIManager.getUI (this));
145 var renderer = this.getDefaultRenderer ();
146 if (Clazz.instanceOf (renderer, java.awt.Component)) {
147 javax.swing.SwingUtilities.updateComponentTreeUI (renderer);
148 }});
149 Clazz.overrideMethod (c$, "getUIClassID", 
150 function () {
151 return "TableHeaderUI";
152 });
153 Clazz.defineMethod (c$, "setColumnModel", 
154 function (columnModel) {
155 if (columnModel == null) {
156 throw  new IllegalArgumentException ("Cannot set a null ColumnModel");
157 }var old = this.columnModel;
158 if (columnModel !== old) {
159 if (old != null) {
160 old.removeColumnModelListener (this);
161 }this.columnModel = columnModel;
162 columnModel.addColumnModelListener (this);
163 this.firePropertyChangeObject ("columnModel", old, columnModel);
164 this.resizeAndRepaint ();
165 }}, "javax.swing.table.TableColumnModel");
166 Clazz.defineMethod (c$, "getColumnModel", 
167 function () {
168 return this.columnModel;
169 });
170 Clazz.overrideMethod (c$, "columnAdded", 
171 function (e) {
172 this.resizeAndRepaint ();
173 }, "javax.swing.event.TableColumnModelEvent");
174 Clazz.overrideMethod (c$, "columnRemoved", 
175 function (e) {
176 this.resizeAndRepaint ();
177 }, "javax.swing.event.TableColumnModelEvent");
178 Clazz.overrideMethod (c$, "columnMoved", 
179 function (e) {
180 this.repaint ();
181 }, "javax.swing.event.TableColumnModelEvent");
182 Clazz.overrideMethod (c$, "columnMarginChanged", 
183 function (e) {
184 this.resizeAndRepaint ();
185 }, "javax.swing.event.ChangeEvent");
186 Clazz.overrideMethod (c$, "columnSelectionChanged", 
187 function (e) {
188 }, "javax.swing.event.ListSelectionEvent");
189 Clazz.defineMethod (c$, "createDefaultColumnModel", 
190 function () {
191 return  new javax.swing.table.DefaultTableColumnModel ();
192 });
193 Clazz.defineMethod (c$, "createDefaultRenderer", 
194 function () {
195 return  new jssun.swing.table.DefaultTableCellHeaderRenderer ();
196 });
197 Clazz.defineMethod (c$, "initializeLocalVars", 
198 function () {
199 this.setOpaque (true);
200 this.table = null;
201 this.reorderingAllowed = true;
202 this.resizingAllowed = true;
203 this.draggedColumn = null;
204 this.draggedDistance = 0;
205 this.resizingColumn = null;
206 this.updateTableInRealTime = true;
207 this.setDefaultRenderer (this.createDefaultRenderer ());
208 });
209 Clazz.defineMethod (c$, "resizeAndRepaint", 
210 function () {
211 this.revalidate ();
212 this.repaint ();
213 });
214 Clazz.defineMethod (c$, "setDraggedColumn", 
215 function (aColumn) {
216 this.draggedColumn = aColumn;
217 }, "javax.swing.table.TableColumn");
218 Clazz.defineMethod (c$, "setDraggedDistance", 
219 function (distance) {
220 this.draggedDistance = distance;
221 }, "~N");
222 Clazz.defineMethod (c$, "setResizingColumn", 
223 function (aColumn) {
224 this.resizingColumn = aColumn;
225 }, "javax.swing.table.TableColumn");
226 Clazz.defineMethod (c$, "getWidthInRightToLeft", 
227  function () {
228 if ((this.table != null) && (this.table.getAutoResizeMode () != 0)) {
229 return this.table.getWidth ();
230 }return Clazz.superCall (this, javax.swing.table.JTableHeader, "getWidth", []);
231 });
232 Clazz.defineMethod (c$, "paramString", 
233 function () {
234 var reorderingAllowedString = (this.reorderingAllowed ? "true" : "false");
235 var resizingAllowedString = (this.resizingAllowed ? "true" : "false");
236 var updateTableInRealTimeString = (this.updateTableInRealTime ? "true" : "false");
237 return Clazz.superCall (this, javax.swing.table.JTableHeader, "paramString", []) + ",draggedDistance=" + this.draggedDistance + ",reorderingAllowed=" + reorderingAllowedString + ",resizingAllowed=" + resizingAllowedString + ",updateTableInRealTime=" + updateTableInRealTimeString;
238 });
239 Clazz.defineStatics (c$,
240 "$uiClassID", "TableHeaderUI");
241 });