JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / javax / swing / text / JTextComponent.js
1 Clazz.declarePackage ("javax.swing.text");\r
2 Clazz.load (["java.awt.event.FocusListener", "$.MouseListener", "javax.swing.ActionMap", "$.InputMap", "$.JComponent", "$.Scrollable", "javax.swing.event.CaretEvent", "$.ChangeListener", "javax.swing.text.Keymap", "javax.swing.DropMode"], "javax.swing.text.JTextComponent", ["java.io.IOException", "java.lang.Boolean", "$.Character", "$.IllegalArgumentException", "java.util.HashMap", "$.Hashtable", "$.Vector", "java.awt.Point", "javax.swing.Action", "$.JViewport", "$.UIManager", "javax.swing.event.CaretListener", "javax.swing.text.DefaultEditorKit", "$.JSMinimalAbstractDocument", "jssun.awt.AppContext", "swingjs.JSToolkit"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.model = null;\r
5 this.caret = null;\r
6 this.navigationFilter = null;\r
7 this.highlighter = null;\r
8 this.keymap = null;\r
9 this.caretEvent = null;\r
10 this.caretColor = null;\r
11 this.selectionColor = null;\r
12 this.selectedTextColor = null;\r
13 this.disabledTextColor = null;\r
14 this.editable = false;\r
15 this.margin = null;\r
16 this.focusAccelerator = '\0';\r
17 this.dragEnabled = false;\r
18 this.dropMode = null;\r
19 this.composedTextAttribute = null;\r
20 this.composedTextContent = null;\r
21 this.composedTextStart = null;\r
22 this.composedTextEnd = null;\r
23 Clazz.instantialize (this, arguments);\r
24 }, javax.swing.text, "JTextComponent", javax.swing.JComponent, javax.swing.Scrollable);\r
25 Clazz.prepareFields (c$, function () {\r
26 this.dropMode = javax.swing.DropMode.USE_SELECTION;\r
27 });\r
28 Clazz.makeConstructor (c$, \r
29 function () {\r
30 Clazz.superConstructor (this, javax.swing.text.JTextComponent);\r
31 this.enableEvents (2056);\r
32 this.caretEvent =  new javax.swing.text.JTextComponent.MutableCaretEvent (this);\r
33 this.addMouseListener (this.caretEvent);\r
34 this.addFocusListener (this.caretEvent);\r
35 this.setEditable (true);\r
36 this.setDragEnabled (false);\r
37 this.setLayout (null);\r
38 this.updateUI ();\r
39 });\r
40 Clazz.overrideMethod (c$, "getUI", \r
41 function () {\r
42 return this.ui;\r
43 });\r
44 Clazz.overrideMethod (c$, "updateUI", \r
45 function () {\r
46 this.setUI (javax.swing.UIManager.getUI (this));\r
47 this.invalidate ();\r
48 });\r
49 Clazz.defineMethod (c$, "addCaretListener", \r
50 function (listener) {\r
51 this.listenerList.add (javax.swing.event.CaretListener, listener);\r
52 }, "javax.swing.event.CaretListener");\r
53 Clazz.defineMethod (c$, "removeCaretListener", \r
54 function (listener) {\r
55 this.listenerList.remove (javax.swing.event.CaretListener, listener);\r
56 }, "javax.swing.event.CaretListener");\r
57 Clazz.defineMethod (c$, "getCaretListeners", \r
58 function () {\r
59 return this.listenerList.getListeners (javax.swing.event.CaretListener);\r
60 });\r
61 Clazz.defineMethod (c$, "fireCaretUpdate", \r
62 function (e) {\r
63 var listeners = this.listenerList.getListenerList ();\r
64 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
65 if (listeners[i] === javax.swing.event.CaretListener) {\r
66 (listeners[i + 1]).caretUpdate (e);\r
67 }}\r
68 }, "javax.swing.event.CaretEvent");\r
69 Clazz.defineMethod (c$, "setDocument", \r
70 function (doc) {\r
71 var old = this.model;\r
72 try {\r
73 this.model = doc;\r
74 this.firePropertyChangeObject ("document", old, doc);\r
75 } finally {\r
76 }\r
77 this.revalidate ();\r
78 this.repaint ();\r
79 }, "javax.swing.text.Document");\r
80 Clazz.defineMethod (c$, "getDocument", \r
81 function () {\r
82 return this.model;\r
83 });\r
84 Clazz.defineMethod (c$, "getActions", \r
85 function () {\r
86 if (this.getUI () == null) return null;\r
87 return this.getUI ().getEditorKit (this).getActions ();\r
88 });\r
89 Clazz.defineMethod (c$, "setMargin", \r
90 function (m) {\r
91 var old = this.margin;\r
92 this.margin = m;\r
93 this.firePropertyChangeObject ("margin", old, m);\r
94 this.invalidate ();\r
95 }, "java.awt.Insets");\r
96 Clazz.defineMethod (c$, "getMargin", \r
97 function () {\r
98 return this.margin;\r
99 });\r
100 Clazz.defineMethod (c$, "setNavigationFilter", \r
101 function (filter) {\r
102 this.navigationFilter = filter;\r
103 }, "javax.swing.text.NavigationFilter");\r
104 Clazz.defineMethod (c$, "getNavigationFilter", \r
105 function () {\r
106 return this.navigationFilter;\r
107 });\r
108 Clazz.defineMethod (c$, "getCaret", \r
109 function () {\r
110 return this.caret;\r
111 });\r
112 Clazz.defineMethod (c$, "setCaret", \r
113 function (c) {\r
114 if (this.caret != null) {\r
115 this.caret.removeChangeListener (this.caretEvent);\r
116 this.caret.deinstall (this);\r
117 }var old = this.caret;\r
118 this.caret = c;\r
119 if (this.caret != null) {\r
120 this.caret.install (this);\r
121 this.caret.addChangeListener (this.caretEvent);\r
122 }this.firePropertyChangeObject ("caret", old, this.caret);\r
123 }, "javax.swing.text.Caret");\r
124 Clazz.defineMethod (c$, "getHighlighter", \r
125 function () {\r
126 return this.highlighter;\r
127 });\r
128 Clazz.defineMethod (c$, "setHighlighter", \r
129 function (h) {\r
130 if (this.highlighter != null) {\r
131 this.highlighter.deinstall (this);\r
132 }var old = this.highlighter;\r
133 this.highlighter = h;\r
134 if (this.highlighter != null) {\r
135 this.highlighter.install (this);\r
136 }this.firePropertyChangeObject ("highlighter", old, h);\r
137 }, "javax.swing.text.Highlighter");\r
138 Clazz.defineMethod (c$, "setKeymap", \r
139 function (map) {\r
140 var old = this.keymap;\r
141 this.keymap = map;\r
142 this.firePropertyChangeObject ("keymap", old, this.keymap);\r
143 this.updateInputMap (old, map);\r
144 }, "javax.swing.text.Keymap");\r
145 Clazz.defineMethod (c$, "setDragEnabled", \r
146 function (b) {\r
147 this.dragEnabled = b;\r
148 }, "~B");\r
149 Clazz.defineMethod (c$, "getDragEnabled", \r
150 function () {\r
151 return this.dragEnabled;\r
152 });\r
153 Clazz.defineMethod (c$, "setDropMode", \r
154 function (dropMode) {\r
155 if (dropMode != null) {\r
156 switch (dropMode) {\r
157 case javax.swing.DropMode.USE_SELECTION:\r
158 case javax.swing.DropMode.INSERT:\r
159 this.dropMode = dropMode;\r
160 return;\r
161 }\r
162 }throw  new IllegalArgumentException (dropMode + ": Unsupported drop mode for text");\r
163 }, "javax.swing.DropMode");\r
164 Clazz.defineMethod (c$, "getDropMode", \r
165 function () {\r
166 return this.dropMode;\r
167 });\r
168 Clazz.defineMethod (c$, "updateInputMap", \r
169 function (oldKm, newKm) {\r
170 var km = this.getInputMap (0);\r
171 var last = km;\r
172 while (km != null && !(Clazz.instanceOf (km, javax.swing.text.JTextComponent.KeymapWrapper))) {\r
173 last = km;\r
174 km = km.getParent ();\r
175 }\r
176 if (km != null) {\r
177 if (newKm == null) {\r
178 if (last !== km) {\r
179 last.setParent (km.getParent ());\r
180 } else {\r
181 last.setParent (null);\r
182 }} else {\r
183 var newKM =  new javax.swing.text.JTextComponent.KeymapWrapper (newKm);\r
184 last.setParent (newKM);\r
185 if (last !== km) {\r
186 newKM.setParent (km.getParent ());\r
187 }}} else if (newKm != null) {\r
188 km = this.getInputMap (0);\r
189 if (km != null) {\r
190 var newKM =  new javax.swing.text.JTextComponent.KeymapWrapper (newKm);\r
191 newKM.setParent (km.getParent ());\r
192 km.setParent (newKM);\r
193 }}var am = this.getActionMap ();\r
194 var lastAM = am;\r
195 while (am != null && !(Clazz.instanceOf (am, javax.swing.text.JTextComponent.KeymapActionMap))) {\r
196 lastAM = am;\r
197 am = am.getParent ();\r
198 }\r
199 if (am != null) {\r
200 if (newKm == null) {\r
201 if (lastAM !== am) {\r
202 lastAM.setParent (am.getParent ());\r
203 } else {\r
204 lastAM.setParent (null);\r
205 }} else {\r
206 var newAM =  new javax.swing.text.JTextComponent.KeymapActionMap (newKm);\r
207 lastAM.setParent (newAM);\r
208 if (lastAM !== am) {\r
209 newAM.setParent (am.getParent ());\r
210 }}} else if (newKm != null) {\r
211 am = this.getActionMap ();\r
212 if (am != null) {\r
213 var newAM =  new javax.swing.text.JTextComponent.KeymapActionMap (newKm);\r
214 newAM.setParent (am.getParent ());\r
215 am.setParent (newAM);\r
216 }}}, "javax.swing.text.Keymap,javax.swing.text.Keymap");\r
217 Clazz.defineMethod (c$, "getKeymap", \r
218 function () {\r
219 return this.keymap;\r
220 });\r
221 c$.addKeymap = Clazz.defineMethod (c$, "addKeymap", \r
222 function (nm, parent) {\r
223 var map =  new javax.swing.text.JTextComponent.DefaultKeymap (nm, parent);\r
224 if (nm != null) {\r
225 javax.swing.text.JTextComponent.getKeymapTable ().put (nm, map);\r
226 }return map;\r
227 }, "~S,javax.swing.text.Keymap");\r
228 c$.removeKeymap = Clazz.defineMethod (c$, "removeKeymap", \r
229 function (nm) {\r
230 return javax.swing.text.JTextComponent.getKeymapTable ().remove (nm);\r
231 }, "~S");\r
232 c$.getKeymap = Clazz.defineMethod (c$, "getKeymap", \r
233 function (nm) {\r
234 return javax.swing.text.JTextComponent.getKeymapTable ().get (nm);\r
235 }, "~S");\r
236 c$.getKeymapTable = Clazz.defineMethod (c$, "getKeymapTable", \r
237  function () {\r
238 {\r
239 var appContext = jssun.awt.AppContext.getAppContext ();\r
240 var keymapTable = appContext.get (javax.swing.text.JTextComponent.KEYMAP_TABLE);\r
241 if (keymapTable == null) {\r
242 keymapTable =  new java.util.HashMap (17);\r
243 appContext.put (javax.swing.text.JTextComponent.KEYMAP_TABLE, keymapTable);\r
244 var binding = javax.swing.text.JTextComponent.addKeymap ("default", null);\r
245 binding.setDefaultAction ( new javax.swing.text.DefaultEditorKit.DefaultKeyTypedAction ());\r
246 }return keymapTable;\r
247 }});\r
248 c$.loadKeymap = Clazz.defineMethod (c$, "loadKeymap", \r
249 function (map, bindings, actions) {\r
250 var h =  new java.util.Hashtable ();\r
251 for (var i = 0; i < actions.length; i++) {\r
252 var a = actions[i];\r
253 var value = a.getValue ("Name");\r
254 h.put ((value != null ? value : ""), a);\r
255 }\r
256 for (var i = 0; i < bindings.length; i++) {\r
257 var a = h.get (bindings[i].actionName);\r
258 if (a != null) {\r
259 map.addActionForKeyStroke (bindings[i].key, a);\r
260 }}\r
261 }, "javax.swing.text.Keymap,~A,~A");\r
262 Clazz.defineMethod (c$, "getCaretColor", \r
263 function () {\r
264 return this.caretColor;\r
265 });\r
266 Clazz.defineMethod (c$, "setCaretColor", \r
267 function (c) {\r
268 var old = this.caretColor;\r
269 this.caretColor = c;\r
270 this.firePropertyChangeObject ("caretColor", old, this.caretColor);\r
271 }, "java.awt.Color");\r
272 Clazz.defineMethod (c$, "getSelectionColor", \r
273 function () {\r
274 return this.selectionColor;\r
275 });\r
276 Clazz.defineMethod (c$, "setSelectionColor", \r
277 function (c) {\r
278 var old = this.selectionColor;\r
279 this.selectionColor = c;\r
280 this.firePropertyChangeObject ("selectionColor", old, this.selectionColor);\r
281 }, "java.awt.Color");\r
282 Clazz.defineMethod (c$, "getSelectedTextColor", \r
283 function () {\r
284 return this.selectedTextColor;\r
285 });\r
286 Clazz.defineMethod (c$, "setSelectedTextColor", \r
287 function (c) {\r
288 var old = this.selectedTextColor;\r
289 this.selectedTextColor = c;\r
290 this.firePropertyChangeObject ("selectedTextColor", old, this.selectedTextColor);\r
291 }, "java.awt.Color");\r
292 Clazz.defineMethod (c$, "getDisabledTextColor", \r
293 function () {\r
294 return this.disabledTextColor;\r
295 });\r
296 Clazz.defineMethod (c$, "setDisabledTextColor", \r
297 function (c) {\r
298 var old = this.disabledTextColor;\r
299 this.disabledTextColor = c;\r
300 this.firePropertyChangeObject ("disabledTextColor", old, this.disabledTextColor);\r
301 }, "java.awt.Color");\r
302 Clazz.defineMethod (c$, "replaceSelection", \r
303 function (content) {\r
304 var doc = this.getDocument ();\r
305 if (doc != null) {\r
306 try {\r
307 var composedTextSaved = this.saveComposedText (this.caret.getDot ());\r
308 var p0 = Math.min (this.caret.getDot (), this.caret.getMark ());\r
309 var p1 = Math.max (this.caret.getDot (), this.caret.getMark ());\r
310 if (Clazz.instanceOf (doc, javax.swing.text.JSMinimalAbstractDocument)) {\r
311 (doc).replace (p0, p1 - p0, content, null);\r
312 } else {\r
313 if (p0 != p1) {\r
314 doc.remove (p0, p1 - p0);\r
315 }if (content != null && content.length > 0) {\r
316 doc.insertString (p0, content, null);\r
317 }}if (composedTextSaved) {\r
318 this.restoreComposedText ();\r
319 }} catch (e) {\r
320 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
321 swingjs.JSToolkit.alert ("SWINGJS BAD LOCATION EXCEPTION (replace):" + e.getMessage () + swingjs.JSToolkit.getStackTrace (-10));\r
322 } else {\r
323 throw e;\r
324 }\r
325 }\r
326 }}, "~S");\r
327 Clazz.defineMethod (c$, "getText", \r
328 function (offs, len) {\r
329 return this.getDocument ().getText (offs, len);\r
330 }, "~N,~N");\r
331 Clazz.defineMethod (c$, "modelToView", \r
332 function (pos) {\r
333 return this.getUI ().modelToView (this, pos);\r
334 }, "~N");\r
335 Clazz.defineMethod (c$, "viewToModel", \r
336 function (pt) {\r
337 return this.getUI ().viewToModel (this, pt);\r
338 }, "java.awt.Point");\r
339 Clazz.defineMethod (c$, "cut", \r
340 function () {\r
341 });\r
342 Clazz.defineMethod (c$, "copy", \r
343 function () {\r
344 });\r
345 Clazz.defineMethod (c$, "paste", \r
346 function () {\r
347 });\r
348 Clazz.defineMethod (c$, "moveCaretPosition", \r
349 function (pos) {\r
350 var doc = this.getDocument ();\r
351 if (doc != null) {\r
352 if (pos > doc.getLength () || pos < 0) {\r
353 throw  new IllegalArgumentException ("bad position: " + pos);\r
354 }this.caret.moveDot (pos);\r
355 }}, "~N");\r
356 Clazz.defineMethod (c$, "setFocusAccelerator", \r
357 function (aKey) {\r
358 aKey = Character.toUpperCase (aKey);\r
359 var old = this.focusAccelerator;\r
360 this.focusAccelerator = aKey;\r
361 this.firePropertyChange ("focusAcceleratorKey", old, this.focusAccelerator);\r
362 this.firePropertyChange ("focusAccelerator", old, this.focusAccelerator);\r
363 }, "~S");\r
364 Clazz.defineMethod (c$, "getFocusAccelerator", \r
365 function () {\r
366 return this.focusAccelerator;\r
367 });\r
368 Clazz.defineMethod (c$, "read", \r
369 function ($in, desc) {\r
370 var kit = this.getUI ().getEditorKit (this);\r
371 var doc = kit.createDefaultDocument ();\r
372 if (desc != null) {\r
373 doc.putProperty ("stream", desc);\r
374 }try {\r
375 kit.read ($in, doc, 0);\r
376 this.setDocument (doc);\r
377 } catch (e) {\r
378 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
379 throw  new java.io.IOException (e.getMessage ());\r
380 } else {\r
381 throw e;\r
382 }\r
383 }\r
384 }, "java.io.Reader,~O");\r
385 Clazz.defineMethod (c$, "write", \r
386 function (out) {\r
387 var doc = this.getDocument ();\r
388 try {\r
389 this.getUI ().getEditorKit (this).write (out, doc, 0, doc.getLength ());\r
390 } catch (e) {\r
391 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
392 throw  new java.io.IOException (e.getMessage ());\r
393 } else {\r
394 throw e;\r
395 }\r
396 }\r
397 }, "java.io.Writer");\r
398 Clazz.defineMethod (c$, "removeNotify", \r
399 function () {\r
400 Clazz.superCall (this, javax.swing.text.JTextComponent, "removeNotify", []);\r
401 if (javax.swing.text.JTextComponent.getFocusedComponent () === this) {\r
402 jssun.awt.AppContext.getAppContext ().remove (javax.swing.text.JTextComponent.FOCUSED_COMPONENT);\r
403 }});\r
404 Clazz.defineMethod (c$, "setCaretPosition", \r
405 function (position) {\r
406 var doc = this.getDocument ();\r
407 if (doc != null) {\r
408 if (position > doc.getLength () || position < 0) {\r
409 throw  new IllegalArgumentException ("bad position: " + position);\r
410 }this.caret.setDot (position);\r
411 }}, "~N");\r
412 Clazz.defineMethod (c$, "getCaretPosition", \r
413 function () {\r
414 return this.caret.getDot ();\r
415 });\r
416 Clazz.defineMethod (c$, "setText", \r
417 function (t) {\r
418 try {\r
419 var doc = this.getDocument ();\r
420 if (Clazz.instanceOf (doc, javax.swing.text.JSMinimalAbstractDocument)) {\r
421 (doc).replace (0, doc.getLength (), t, null);\r
422 } else {\r
423 doc.remove (0, doc.getLength ());\r
424 doc.insertString (0, t, null);\r
425 }} catch (e) {\r
426 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
427 swingjs.JSToolkit.alert ("SWINGJS BAD LOCATION EXCEPTION (setText):" + e.getMessage () + swingjs.JSToolkit.getStackTrace (-10));\r
428 } else {\r
429 throw e;\r
430 }\r
431 }\r
432 }, "~S");\r
433 Clazz.defineMethod (c$, "getText", \r
434 function () {\r
435 var doc = this.getDocument ();\r
436 var txt;\r
437 try {\r
438 txt = doc.getText (0, doc.getLength ());\r
439 } catch (e) {\r
440 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
441 txt = null;\r
442 } else {\r
443 throw e;\r
444 }\r
445 }\r
446 return txt;\r
447 });\r
448 Clazz.defineMethod (c$, "getSelectedText", \r
449 function () {\r
450 var txt = null;\r
451 var p0 = Math.min (this.caret.getDot (), this.caret.getMark ());\r
452 var p1 = Math.max (this.caret.getDot (), this.caret.getMark ());\r
453 if (p0 != p1) {\r
454 try {\r
455 var doc = this.getDocument ();\r
456 txt = doc.getText (p0, p1 - p0);\r
457 } catch (e) {\r
458 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
459 throw  new IllegalArgumentException (e.getMessage ());\r
460 } else {\r
461 throw e;\r
462 }\r
463 }\r
464 }return txt;\r
465 });\r
466 Clazz.defineMethod (c$, "isEditable", \r
467 function () {\r
468 return this.editable;\r
469 });\r
470 Clazz.defineMethod (c$, "setEditable", \r
471 function (b) {\r
472 if (b != this.editable) {\r
473 var oldVal = this.editable;\r
474 this.editable = b;\r
475 this.firePropertyChangeObject ("editable", Boolean.$valueOf (oldVal), Boolean.$valueOf (this.editable));\r
476 this.repaint ();\r
477 }}, "~B");\r
478 Clazz.defineMethod (c$, "getSelectionStart", \r
479 function () {\r
480 var start = Math.min (this.caret.getDot (), this.caret.getMark ());\r
481 return start;\r
482 });\r
483 Clazz.defineMethod (c$, "setSelectionStart", \r
484 function (selectionStart) {\r
485 this.select (selectionStart, this.getSelectionEnd ());\r
486 }, "~N");\r
487 Clazz.defineMethod (c$, "getSelectionEnd", \r
488 function () {\r
489 var end = Math.max (this.caret.getDot (), this.caret.getMark ());\r
490 return end;\r
491 });\r
492 Clazz.defineMethod (c$, "setSelectionEnd", \r
493 function (selectionEnd) {\r
494 this.select (this.getSelectionStart (), selectionEnd);\r
495 }, "~N");\r
496 Clazz.defineMethod (c$, "select", \r
497 function (selectionStart, selectionEnd) {\r
498 var docLength = this.getDocument ().getLength ();\r
499 if (selectionStart < 0) {\r
500 selectionStart = 0;\r
501 }if (selectionStart > docLength) {\r
502 selectionStart = docLength;\r
503 }if (selectionEnd > docLength) {\r
504 selectionEnd = docLength;\r
505 }if (selectionEnd < selectionStart) {\r
506 selectionEnd = selectionStart;\r
507 }this.setCaretPosition (selectionStart);\r
508 this.moveCaretPosition (selectionEnd);\r
509 }, "~N,~N");\r
510 Clazz.defineMethod (c$, "selectAll", \r
511 function () {\r
512 var doc = this.getDocument ();\r
513 if (doc != null) {\r
514 this.setCaretPosition (0);\r
515 this.moveCaretPosition (doc.getLength ());\r
516 }});\r
517 Clazz.defineMethod (c$, "getToolTipText", \r
518 function (event) {\r
519 var retValue = Clazz.superCall (this, javax.swing.text.JTextComponent, "getToolTipText", [event]);\r
520 if (retValue == null) {\r
521 var ui = this.getUI ();\r
522 if (ui != null) {\r
523 retValue = ui.getToolTipText (this,  new java.awt.Point (event.getX (), event.getY ()));\r
524 }}return retValue;\r
525 }, "java.awt.event.MouseEvent");\r
526 Clazz.overrideMethod (c$, "getPreferredScrollableViewportSize", \r
527 function () {\r
528 return this.getPreferredSize ();\r
529 });\r
530 Clazz.overrideMethod (c$, "getScrollableUnitIncrement", \r
531 function (visibleRect, orientation, direction) {\r
532 switch (orientation) {\r
533 case 1:\r
534 return Clazz.doubleToInt (visibleRect.height / 10);\r
535 case 0:\r
536 return Clazz.doubleToInt (visibleRect.width / 10);\r
537 default:\r
538 throw  new IllegalArgumentException ("Invalid orientation: " + orientation);\r
539 }\r
540 }, "java.awt.Rectangle,~N,~N");\r
541 Clazz.overrideMethod (c$, "getScrollableBlockIncrement", \r
542 function (visibleRect, orientation, direction) {\r
543 switch (orientation) {\r
544 case 1:\r
545 return visibleRect.height;\r
546 case 0:\r
547 return visibleRect.width;\r
548 default:\r
549 throw  new IllegalArgumentException ("Invalid orientation: " + orientation);\r
550 }\r
551 }, "java.awt.Rectangle,~N,~N");\r
552 Clazz.overrideMethod (c$, "getScrollableTracksViewportWidth", \r
553 function () {\r
554 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
555 return ((this.getParent ()).getWidth () > this.getPreferredSize ().width);\r
556 }return false;\r
557 });\r
558 Clazz.overrideMethod (c$, "getScrollableTracksViewportHeight", \r
559 function () {\r
560 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
561 return ((this.getParent ()).getHeight () > this.getPreferredSize ().height);\r
562 }return false;\r
563 });\r
564 Clazz.defineMethod (c$, "paramString", \r
565 function () {\r
566 var editableString = (this.editable ? "true" : "false");\r
567 var caretColorString = (this.caretColor != null ? this.caretColor.toString () : "");\r
568 var selectionColorString = (this.selectionColor != null ? this.selectionColor.toString () : "");\r
569 var selectedTextColorString = (this.selectedTextColor != null ? this.selectedTextColor.toString () : "");\r
570 var disabledTextColorString = (this.disabledTextColor != null ? this.disabledTextColor.toString () : "");\r
571 var marginString = (this.margin != null ? this.margin.toString () : "");\r
572 return Clazz.superCall (this, javax.swing.text.JTextComponent, "paramString", []) + ",caretColor=" + caretColorString + ",disabledTextColor=" + disabledTextColorString + ",editable=" + editableString + ",margin=" + marginString + ",selectedTextColor=" + selectedTextColorString + ",selectionColor=" + selectionColorString;\r
573 });\r
574 c$.getFocusedComponent = Clazz.defineMethod (c$, "getFocusedComponent", \r
575 function () {\r
576 return jssun.awt.AppContext.getAppContext ().get (javax.swing.text.JTextComponent.FOCUSED_COMPONENT);\r
577 });\r
578 Clazz.defineMethod (c$, "addInputMethodListener", \r
579 function (l) {\r
580 Clazz.superCall (this, javax.swing.text.JTextComponent, "addInputMethodListener", [l]);\r
581 if (l != null) {\r
582 }}, "java.awt.event.InputMethodListener");\r
583 Clazz.defineMethod (c$, "saveComposedText", \r
584  function (pos) {\r
585 if (this.composedTextExists ()) {\r
586 var start = this.composedTextStart.getOffset ();\r
587 var len = this.composedTextEnd.getOffset () - this.composedTextStart.getOffset ();\r
588 if (pos >= start && pos <= start + len) {\r
589 try {\r
590 this.getDocument ().remove (start, len);\r
591 return true;\r
592 } catch (ble) {\r
593 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {\r
594 } else {\r
595 throw ble;\r
596 }\r
597 }\r
598 }}return false;\r
599 }, "~N");\r
600 Clazz.defineMethod (c$, "restoreComposedText", \r
601  function () {\r
602 var doc = this.getDocument ();\r
603 try {\r
604 doc.insertString (this.caret.getDot (), this.composedTextContent, this.composedTextAttribute);\r
605 this.composedTextStart = doc.createPosition (this.caret.getDot () - this.composedTextContent.length);\r
606 this.composedTextEnd = doc.createPosition (this.caret.getDot ());\r
607 } catch (ble) {\r
608 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {\r
609 } else {\r
610 throw ble;\r
611 }\r
612 }\r
613 });\r
614 Clazz.defineMethod (c$, "composedTextExists", \r
615 function () {\r
616 return (this.composedTextStart != null);\r
617 });\r
618 Clazz.pu$h(self.c$);\r
619 c$ = Clazz.decorateAsClass (function () {\r
620 this.key = null;\r
621 this.actionName = null;\r
622 Clazz.instantialize (this, arguments);\r
623 }, javax.swing.text.JTextComponent, "KeyBinding");\r
624 Clazz.makeConstructor (c$, \r
625 function (a, b) {\r
626 this.key = a;\r
627 this.actionName = b;\r
628 }, "javax.swing.KeyStroke,~S");\r
629 c$ = Clazz.p0p ();\r
630 Clazz.pu$h(self.c$);\r
631 c$ = Clazz.decorateAsClass (function () {\r
632 this.nm = null;\r
633 this.parent = null;\r
634 this.bindings = null;\r
635 this.defaultAction = null;\r
636 Clazz.instantialize (this, arguments);\r
637 }, javax.swing.text.JTextComponent, "DefaultKeymap", null, javax.swing.text.Keymap);\r
638 Clazz.makeConstructor (c$, \r
639 function (a, b) {\r
640 this.nm = a;\r
641 this.parent = b;\r
642 this.bindings =  new java.util.Hashtable ();\r
643 }, "~S,javax.swing.text.Keymap");\r
644 Clazz.defineMethod (c$, "getDefaultAction", \r
645 function () {\r
646 if (this.defaultAction != null) {\r
647 return this.defaultAction;\r
648 }return (this.parent != null) ? this.parent.getDefaultAction () : null;\r
649 });\r
650 Clazz.overrideMethod (c$, "setDefaultAction", \r
651 function (a) {\r
652 this.defaultAction = a;\r
653 }, "javax.swing.Action");\r
654 Clazz.overrideMethod (c$, "getName", \r
655 function () {\r
656 return this.nm;\r
657 });\r
658 Clazz.defineMethod (c$, "getAction", \r
659 function (a) {\r
660 var b = this.bindings.get (a);\r
661 if ((b == null) && (this.parent != null)) {\r
662 b = this.parent.getAction (a);\r
663 }return b;\r
664 }, "javax.swing.KeyStroke");\r
665 Clazz.overrideMethod (c$, "getBoundKeyStrokes", \r
666 function () {\r
667 var a =  new Array (this.bindings.size ());\r
668 var b = 0;\r
669 for (var c = this.bindings.keys (); c.hasMoreElements (); ) {\r
670 a[b++] = c.nextElement ();\r
671 }\r
672 return a;\r
673 });\r
674 Clazz.overrideMethod (c$, "getBoundActions", \r
675 function () {\r
676 var a =  new Array (this.bindings.size ());\r
677 var b = 0;\r
678 for (var c = this.bindings.elements (); c.hasMoreElements (); ) {\r
679 a[b++] = c.nextElement ();\r
680 }\r
681 return a;\r
682 });\r
683 Clazz.defineMethod (c$, "getKeyStrokesForAction", \r
684 function (a) {\r
685 if (a == null) {\r
686 return null;\r
687 }var b = null;\r
688 var c = null;\r
689 for (var d = this.bindings.keys (); d.hasMoreElements (); ) {\r
690 var e = d.nextElement ();\r
691 if (this.bindings.get (e) === a) {\r
692 if (c == null) {\r
693 c =  new java.util.Vector ();\r
694 }c.addElement (e);\r
695 }}\r
696 if (this.parent != null) {\r
697 var e = this.parent.getKeyStrokesForAction (a);\r
698 if (e != null) {\r
699 var f = 0;\r
700 for (var g = e.length - 1; g >= 0; g--) {\r
701 if (this.isLocallyDefined (e[g])) {\r
702 e[g] = null;\r
703 f++;\r
704 }}\r
705 if (f > 0 && f < e.length) {\r
706 if (c == null) {\r
707 c =  new java.util.Vector ();\r
708 }for (var h = e.length - 1; h >= 0; h--) {\r
709 if (e[h] != null) {\r
710 c.addElement (e[h]);\r
711 }}\r
712 } else if (f == 0) {\r
713 if (c == null) {\r
714 b = e;\r
715 } else {\r
716 b =  new Array (c.size () + e.length);\r
717 c.copyInto (b);\r
718 System.arraycopy (e, 0, b, c.size (), e.length);\r
719 c = null;\r
720 }}}}if (c != null) {\r
721 b =  new Array (c.size ());\r
722 c.copyInto (b);\r
723 }return b;\r
724 }, "javax.swing.Action");\r
725 Clazz.overrideMethod (c$, "isLocallyDefined", \r
726 function (a) {\r
727 return this.bindings.containsKey (a);\r
728 }, "javax.swing.KeyStroke");\r
729 Clazz.overrideMethod (c$, "addActionForKeyStroke", \r
730 function (a, b) {\r
731 this.bindings.put (a, b);\r
732 }, "javax.swing.KeyStroke,javax.swing.Action");\r
733 Clazz.overrideMethod (c$, "removeKeyStrokeBinding", \r
734 function (a) {\r
735 this.bindings.remove (a);\r
736 }, "javax.swing.KeyStroke");\r
737 Clazz.overrideMethod (c$, "removeBindings", \r
738 function () {\r
739 this.bindings.clear ();\r
740 });\r
741 Clazz.overrideMethod (c$, "getResolveParent", \r
742 function () {\r
743 return this.parent;\r
744 });\r
745 Clazz.overrideMethod (c$, "setResolveParent", \r
746 function (a) {\r
747 this.parent = a;\r
748 }, "javax.swing.text.Keymap");\r
749 Clazz.overrideMethod (c$, "toString", \r
750 function () {\r
751 return "Keymap[" + this.nm + "]" + this.bindings;\r
752 });\r
753 c$ = Clazz.p0p ();\r
754 Clazz.pu$h(self.c$);\r
755 c$ = Clazz.decorateAsClass (function () {\r
756 this.keymap = null;\r
757 Clazz.instantialize (this, arguments);\r
758 }, javax.swing.text.JTextComponent, "KeymapWrapper", javax.swing.InputMap);\r
759 Clazz.makeConstructor (c$, \r
760 function (a) {\r
761 Clazz.superConstructor (this, javax.swing.text.JTextComponent.KeymapWrapper, []);\r
762 this.keymap = a;\r
763 }, "javax.swing.text.Keymap");\r
764 Clazz.defineMethod (c$, "keys", \r
765 function () {\r
766 var a = Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapWrapper, "keys", []);\r
767 var b = this.keymap.getBoundKeyStrokes ();\r
768 var c = (a == null) ? 0 : a.length;\r
769 var d = (b == null) ? 0 : b.length;\r
770 if (c == 0) {\r
771 return b;\r
772 }if (d == 0) {\r
773 return a;\r
774 }var e =  new Array (c + d);\r
775 System.arraycopy (a, 0, e, 0, c);\r
776 System.arraycopy (b, 0, e, c, d);\r
777 return e;\r
778 });\r
779 Clazz.defineMethod (c$, "size", \r
780 function () {\r
781 var a = this.keymap.getBoundKeyStrokes ();\r
782 var b = (a == null) ? 0 : a.length;\r
783 return Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapWrapper, "size", []) + b;\r
784 });\r
785 Clazz.defineMethod (c$, "get", \r
786 function (a) {\r
787 var b = this.keymap.getAction (a);\r
788 if (b == null) {\r
789 b = Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapWrapper, "get", [a]);\r
790 if (b == null && a.getKeyChar () != '\uffff' && this.keymap.getDefaultAction () != null) {\r
791 b = javax.swing.text.JTextComponent.KeymapWrapper.DefaultActionKey;\r
792 }}return b;\r
793 }, "javax.swing.KeyStroke");\r
794 c$.DefaultActionKey = c$.prototype.DefaultActionKey =  new Clazz._O ();\r
795 c$ = Clazz.p0p ();\r
796 Clazz.pu$h(self.c$);\r
797 c$ = Clazz.decorateAsClass (function () {\r
798 this.keymap = null;\r
799 Clazz.instantialize (this, arguments);\r
800 }, javax.swing.text.JTextComponent, "KeymapActionMap", javax.swing.ActionMap);\r
801 Clazz.makeConstructor (c$, \r
802 function (a) {\r
803 Clazz.superConstructor (this, javax.swing.text.JTextComponent.KeymapActionMap, []);\r
804 this.keymap = a;\r
805 }, "javax.swing.text.Keymap");\r
806 Clazz.defineMethod (c$, "keys", \r
807 function () {\r
808 var a = Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapActionMap, "keys", []);\r
809 var b = this.keymap.getBoundActions ();\r
810 var c = (a == null) ? 0 : a.length;\r
811 var d = (b == null) ? 0 : b.length;\r
812 var e = (this.keymap.getDefaultAction () != null);\r
813 if (e) {\r
814 d++;\r
815 }if (c == 0) {\r
816 if (e) {\r
817 var f =  new Array (d);\r
818 if (d > 1) {\r
819 System.arraycopy (b, 0, f, 0, d - 1);\r
820 }f[d - 1] = javax.swing.text.JTextComponent.KeymapWrapper.DefaultActionKey;\r
821 return f;\r
822 }return b;\r
823 }if (d == 0) {\r
824 return a;\r
825 }var f =  new Array (c + d);\r
826 System.arraycopy (a, 0, f, 0, c);\r
827 if (e) {\r
828 if (d > 1) {\r
829 System.arraycopy (b, 0, f, c, d - 1);\r
830 }f[c + d - 1] = javax.swing.text.JTextComponent.KeymapWrapper.DefaultActionKey;\r
831 } else {\r
832 System.arraycopy (b, 0, f, c, d);\r
833 }return f;\r
834 });\r
835 Clazz.defineMethod (c$, "size", \r
836 function () {\r
837 var a = this.keymap.getBoundActions ();\r
838 var b = (a == null) ? 0 : a.length;\r
839 if (this.keymap.getDefaultAction () != null) {\r
840 b++;\r
841 }return Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapActionMap, "size", []) + b;\r
842 });\r
843 Clazz.defineMethod (c$, "get", \r
844 function (a) {\r
845 var b = Clazz.superCall (this, javax.swing.text.JTextComponent.KeymapActionMap, "get", [a]);\r
846 if (b == null) {\r
847 if (a === javax.swing.text.JTextComponent.KeymapWrapper.DefaultActionKey) {\r
848 b = this.keymap.getDefaultAction ();\r
849 } else if (Clazz.instanceOf (a, javax.swing.Action)) {\r
850 b = a;\r
851 }}return b;\r
852 }, "~O");\r
853 c$ = Clazz.p0p ();\r
854 Clazz.pu$h(self.c$);\r
855 c$ = Clazz.decorateAsClass (function () {\r
856 this.dragActive = false;\r
857 this.dot = 0;\r
858 this.mark = 0;\r
859 Clazz.instantialize (this, arguments);\r
860 }, javax.swing.text.JTextComponent, "MutableCaretEvent", javax.swing.event.CaretEvent, [javax.swing.event.ChangeListener, java.awt.event.FocusListener, java.awt.event.MouseListener]);\r
861 Clazz.defineMethod (c$, "fire", \r
862 function () {\r
863 var a = this.getSource ();\r
864 if (a != null) {\r
865 var b = a.getCaret ();\r
866 if (b != null) {\r
867 this.dot = b.getDot ();\r
868 this.mark = b.getMark ();\r
869 a.fireCaretUpdate (this);\r
870 }}});\r
871 Clazz.overrideMethod (c$, "toString", \r
872 function () {\r
873 return "dot=" + this.dot + "," + "mark=" + this.mark;\r
874 });\r
875 Clazz.overrideMethod (c$, "getDot", \r
876 function () {\r
877 return this.dot;\r
878 });\r
879 Clazz.overrideMethod (c$, "getMark", \r
880 function () {\r
881 return this.mark;\r
882 });\r
883 Clazz.overrideMethod (c$, "stateChanged", \r
884 function (a) {\r
885 if (!this.dragActive) {\r
886 this.fire ();\r
887 }}, "javax.swing.event.ChangeEvent");\r
888 Clazz.overrideMethod (c$, "focusGained", \r
889 function (a) {\r
890 jssun.awt.AppContext.getAppContext ().put (javax.swing.text.JTextComponent.FOCUSED_COMPONENT, a.getSource ());\r
891 }, "java.awt.event.FocusEvent");\r
892 Clazz.overrideMethod (c$, "focusLost", \r
893 function (a) {\r
894 }, "java.awt.event.FocusEvent");\r
895 Clazz.overrideMethod (c$, "mousePressed", \r
896 function (a) {\r
897 this.dragActive = true;\r
898 }, "java.awt.event.MouseEvent");\r
899 Clazz.overrideMethod (c$, "mouseReleased", \r
900 function (a) {\r
901 this.dragActive = false;\r
902 this.fire ();\r
903 }, "java.awt.event.MouseEvent");\r
904 Clazz.overrideMethod (c$, "mouseClicked", \r
905 function (a) {\r
906 }, "java.awt.event.MouseEvent");\r
907 Clazz.overrideMethod (c$, "mouseEntered", \r
908 function (a) {\r
909 }, "java.awt.event.MouseEvent");\r
910 Clazz.overrideMethod (c$, "mouseExited", \r
911 function (a) {\r
912 }, "java.awt.event.MouseEvent");\r
913 c$ = Clazz.p0p ();\r
914 Clazz.defineStatics (c$,\r
915 "FOCUS_ACCELERATOR_KEY", "focusAcceleratorKey");\r
916 c$.KEYMAP_TABLE = c$.prototype.KEYMAP_TABLE =  new Clazz._O ();\r
917 c$.FOCUSED_COMPONENT = c$.prototype.FOCUSED_COMPONENT =  new Clazz._O ();\r
918 Clazz.defineStatics (c$,\r
919 "DEFAULT_KEYMAP", "default");\r
920 });\r