1 Clazz.declarePackage ("javax.swing.text");
\r
2 Clazz.load (["java.awt.Rectangle", "java.awt.event.ActionListener", "$.FocusListener", "$.MouseListener", "$.MouseMotionListener", "java.beans.PropertyChangeListener", "javax.swing.event.DocumentListener", "javax.swing.text.Caret", "$.NavigationFilter", "javax.swing.event.EventListenerList"], "javax.swing.text.DefaultCaret", ["java.lang.Boolean", "$.IllegalArgumentException", "java.awt.Point", "java.awt.event.ActionEvent", "javax.swing.SwingUtilities", "javax.swing.event.ChangeEvent", "$.ChangeListener", "javax.swing.text.AbstractDocument", "javax.swing.text.AbstractDocument.UndoRedoDocumentEvent", "javax.swing.text.DefaultEditorKit", "$.DefaultHighlighter", "$.Document", "$.Position", "$.Segment", "$.StateInvariantError"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.listenerList = null;
\r
5 this.changeEvent = null;
\r
6 this.component = null;
\r
7 this.updatePolicy = 0;
\r
8 this.visible = false;
\r
12 this.selectionTag = null;
\r
13 this.selectionVisible = false;
\r
14 this.magicCaretPosition = null;
\r
15 this.dotBias = null;
\r
16 this.markBias = null;
\r
17 this.dotLTR = false;
\r
18 this.markLTR = false;
\r
19 this.handler = null;
\r
20 this.flagXPoints = null;
\r
21 this.flagYPoints = null;
\r
22 this.filterBypass = null;
\r
23 this.ownsSelection = false;
\r
24 this.forceCaretPositionChange = false;
\r
25 this.shouldHandleRelease = false;
\r
26 this.selectedWordEvent = null;
\r
27 this.caretWidth = -1;
\r
28 this.aspectRatio = -1;
\r
29 if (!Clazz.isClassDefined ("javax.swing.text.DefaultCaret.SafeScroller")) {
\r
30 javax.swing.text.DefaultCaret.$DefaultCaret$SafeScroller$ ();
\r
32 if (!Clazz.isClassDefined ("javax.swing.text.DefaultCaret.Handler")) {
\r
33 javax.swing.text.DefaultCaret.$DefaultCaret$Handler$ ();
\r
35 if (!Clazz.isClassDefined ("javax.swing.text.DefaultCaret.DefaultFilterBypass")) {
\r
36 javax.swing.text.DefaultCaret.$DefaultCaret$DefaultFilterBypass$ ();
\r
38 Clazz.instantialize (this, arguments);
\r
39 }, javax.swing.text, "DefaultCaret", java.awt.Rectangle, [javax.swing.text.Caret, java.awt.event.FocusListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener]);
\r
40 Clazz.prepareFields (c$, function () {
\r
41 this.listenerList = new javax.swing.event.EventListenerList ();
\r
42 this.handler = Clazz.innerTypeInstance (javax.swing.text.DefaultCaret.Handler, this, null);
\r
43 this.flagXPoints = Clazz.newIntArray (3, 0);
\r
44 this.flagYPoints = Clazz.newIntArray (3, 0);
\r
46 Clazz.makeConstructor (c$,
\r
48 Clazz.superConstructor (this, javax.swing.text.DefaultCaret, []);
\r
50 Clazz.defineMethod (c$, "setUpdatePolicy",
\r
52 this.updatePolicy = policy;
\r
54 Clazz.defineMethod (c$, "getUpdatePolicy",
\r
56 return this.updatePolicy;
\r
58 Clazz.defineMethod (c$, "getComponent",
\r
60 return this.component;
\r
62 Clazz.defineMethod (c$, "repaint",
\r
64 if (this.component != null) {
\r
65 this.component.repaint (this.x, this.y, this.width, this.height);
\r
67 Clazz.defineMethod (c$, "damage",
\r
70 var damageWidth = this.getCaretWidth (r.height);
\r
71 this.x = r.x - 4 - (damageWidth >> 1);
\r
73 this.width = 9 + damageWidth;
\r
74 this.height = r.height;
\r
76 }}, "java.awt.Rectangle");
\r
77 Clazz.defineMethod (c$, "adjustVisibility",
\r
79 if (this.component == null) {
\r
81 }if (javax.swing.SwingUtilities.isEventDispatchThread ()) {
\r
82 this.component.scrollRectToVisible (nloc);
\r
84 javax.swing.SwingUtilities.invokeLater (Clazz.innerTypeInstance (javax.swing.text.DefaultCaret.SafeScroller, this, null, nloc));
\r
85 }}, "java.awt.Rectangle");
\r
86 Clazz.defineMethod (c$, "getSelectionPainter",
\r
88 return javax.swing.text.DefaultHighlighter.DefaultPainter;
\r
90 Clazz.defineMethod (c$, "positionCaret",
\r
92 var pt = new java.awt.Point (e.getX (), e.getY ());
\r
93 var biasRet = new Array (1);
\r
94 var pos = this.component.getUI ().viewToModel (this.component, pt, biasRet);
\r
95 if (biasRet[0] == null) biasRet[0] = javax.swing.text.Position.Bias.Forward;
\r
97 this.setDot (pos, biasRet[0]);
\r
98 }}, "java.awt.event.MouseEvent");
\r
99 Clazz.defineMethod (c$, "moveCaret",
\r
101 var pt = new java.awt.Point (e.getX (), e.getY ());
\r
102 var biasRet = new Array (1);
\r
103 var pos = this.component.getUI ().viewToModel (this.component, pt, biasRet);
\r
104 if (biasRet[0] == null) biasRet[0] = javax.swing.text.Position.Bias.Forward;
\r
106 this.moveDot (pos, biasRet[0]);
\r
107 }}, "java.awt.event.MouseEvent");
\r
108 Clazz.overrideMethod (c$, "focusGained",
\r
110 if (this.component.isEnabled ()) {
\r
111 if (this.component.isEditable ()) {
\r
112 this.setVisible (true);
\r
113 }this.setSelectionVisible (true);
\r
114 }}, "java.awt.event.FocusEvent");
\r
115 Clazz.overrideMethod (c$, "focusLost",
\r
117 this.setVisible (false);
\r
118 this.setSelectionVisible (this.ownsSelection || e.isTemporary ());
\r
119 }, "java.awt.event.FocusEvent");
\r
120 Clazz.overrideMethod (c$, "mouseClicked",
\r
122 var nclicks = e.getClickCount ();
\r
123 if (!e.isConsumed ()) {
\r
124 if (javax.swing.SwingUtilities.isLeftMouseButton (e)) {
\r
125 if (nclicks == 1) {
\r
126 this.selectedWordEvent = null;
\r
127 }} else if (javax.swing.SwingUtilities.isMiddleMouseButton (e)) {
\r
128 }}}, "java.awt.event.MouseEvent");
\r
129 Clazz.overrideMethod (c$, "mousePressed",
\r
131 if (javax.swing.SwingUtilities.isLeftMouseButton (e)) {
\r
132 if (e.isConsumed ()) {
\r
133 this.shouldHandleRelease = true;
\r
135 this.shouldHandleRelease = false;
\r
136 this.adjustCaretAndFocus (e);
\r
137 }}}, "java.awt.event.MouseEvent");
\r
138 Clazz.defineMethod (c$, "adjustCaretAndFocus",
\r
140 this.adjustCaret (e);
\r
141 this.adjustFocus (false);
\r
142 }, "java.awt.event.MouseEvent");
\r
143 Clazz.defineMethod (c$, "adjustCaret",
\r
145 if ((e.getModifiers () & 1) != 0 && this.getDot () != -1) {
\r
146 this.moveCaret (e);
\r
148 this.positionCaret (e);
\r
149 }}, "java.awt.event.MouseEvent");
\r
150 Clazz.defineMethod (c$, "adjustFocus",
\r
151 function (inWindow) {
\r
152 if ((this.component != null) && this.component.isEnabled () && this.component.isRequestFocusEnabled ()) {
\r
154 this.component.requestFocusInWindow ();
\r
156 this.component.requestFocus ();
\r
158 Clazz.overrideMethod (c$, "mouseReleased",
\r
160 if (!e.isConsumed () && this.shouldHandleRelease && javax.swing.SwingUtilities.isLeftMouseButton (e)) {
\r
161 this.adjustCaretAndFocus (e);
\r
162 }}, "java.awt.event.MouseEvent");
\r
163 Clazz.overrideMethod (c$, "mouseEntered",
\r
165 }, "java.awt.event.MouseEvent");
\r
166 Clazz.overrideMethod (c$, "mouseExited",
\r
168 }, "java.awt.event.MouseEvent");
\r
169 Clazz.overrideMethod (c$, "mouseDragged",
\r
171 if ((!e.isConsumed ()) && javax.swing.SwingUtilities.isLeftMouseButton (e)) {
\r
172 this.moveCaret (e);
\r
173 }}, "java.awt.event.MouseEvent");
\r
174 Clazz.overrideMethod (c$, "mouseMoved",
\r
176 }, "java.awt.event.MouseEvent");
\r
177 Clazz.overrideMethod (c$, "paint",
\r
179 if (this.isVisible ()) {
\r
181 var mapper = this.component.getUI ();
\r
182 var r = mapper.modelToView (this.component, this.dot, this.dotBias);
\r
183 if ((r == null) || ((r.width == 0) && (r.height == 0))) {
\r
185 }if (this.width > 0 && this.height > 0 && !this._contains (r.x, r.y, r.width, r.height)) {
\r
186 var clip = g.getClipBounds ();
\r
187 if (clip != null && !clip.contains (this)) {
\r
190 }g.setColor (this.component.getCaretColor ());
\r
191 var paintWidth = this.getCaretWidth (r.height);
\r
192 r.x -= paintWidth >> 1;
\r
193 g.fillRect (r.x, r.y, paintWidth, r.height);
\r
194 var doc = this.component.getDocument ();
\r
195 if (Clazz.instanceOf (doc, javax.swing.text.AbstractDocument)) {
\r
196 var bidi = (doc).getBidiRootElement ();
\r
197 if ((bidi != null) && (bidi.getElementCount () > 1)) {
\r
198 this.flagXPoints[0] = r.x + ((this.dotLTR) ? paintWidth : 0);
\r
199 this.flagYPoints[0] = r.y;
\r
200 this.flagXPoints[1] = this.flagXPoints[0];
\r
201 this.flagYPoints[1] = this.flagYPoints[0] + 4;
\r
202 this.flagXPoints[2] = this.flagXPoints[0] + ((this.dotLTR) ? 4 : -4);
\r
203 this.flagYPoints[2] = this.flagYPoints[0];
\r
204 g.fillPolygon (this.flagXPoints, this.flagYPoints, 3);
\r
206 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
\r
211 }}, "java.awt.Graphics");
\r
212 Clazz.overrideMethod (c$, "install",
\r
214 this.component = c;
\r
215 var doc = c.getDocument ();
\r
216 this.dot = this.mark = 0;
\r
217 this.dotLTR = this.markLTR = true;
\r
218 this.dotBias = this.markBias = javax.swing.text.Position.Bias.Forward;
\r
220 doc.addDocumentListener (this.handler);
\r
221 }c.addPropertyChangeListener (this.handler);
\r
222 c.addFocusListener (this);
\r
223 c.addMouseListener (this);
\r
224 c.addMouseMotionListener (this);
\r
225 if (this.component.hasFocus ()) {
\r
226 this.focusGained (null);
\r
227 }var ratio = c.getClientProperty ("caretAspectRatio");
\r
228 if (ratio != null) {
\r
229 this.aspectRatio = ratio.floatValue ();
\r
231 this.aspectRatio = -1;
\r
232 }var width = c.getClientProperty ("caretWidth");
\r
233 if (width != null) {
\r
234 this.caretWidth = width.intValue ();
\r
236 this.caretWidth = -1;
\r
237 }}, "javax.swing.text.JTextComponent");
\r
238 Clazz.overrideMethod (c$, "deinstall",
\r
240 c.removeMouseListener (this);
\r
241 c.removeMouseMotionListener (this);
\r
242 c.removeFocusListener (this);
\r
243 c.removePropertyChangeListener (this.handler);
\r
244 var doc = c.getDocument ();
\r
246 doc.removeDocumentListener (this.handler);
\r
248 this.component = null;
\r
249 }}, "javax.swing.text.JTextComponent");
\r
250 Clazz.overrideMethod (c$, "addChangeListener",
\r
252 this.listenerList.add (javax.swing.event.ChangeListener, l);
\r
253 }, "javax.swing.event.ChangeListener");
\r
254 Clazz.overrideMethod (c$, "removeChangeListener",
\r
256 this.listenerList.remove (javax.swing.event.ChangeListener, l);
\r
257 }, "javax.swing.event.ChangeListener");
\r
258 Clazz.defineMethod (c$, "getChangeListeners",
\r
260 return this.listenerList.getListeners (javax.swing.event.ChangeListener);
\r
262 Clazz.defineMethod (c$, "fireStateChanged",
\r
264 var listeners = this.listenerList.getListenerList ();
\r
265 for (var i = listeners.length - 2; i >= 0; i -= 2) {
\r
266 if (listeners[i] === javax.swing.event.ChangeListener) {
\r
267 if (this.changeEvent == null) this.changeEvent = new javax.swing.event.ChangeEvent (this);
\r
268 (listeners[i + 1]).stateChanged (this.changeEvent);
\r
271 Clazz.defineMethod (c$, "getListeners",
\r
272 function (listenerType) {
\r
273 return this.listenerList.getListeners (listenerType);
\r
275 Clazz.overrideMethod (c$, "setSelectionVisible",
\r
277 if (vis != this.selectionVisible) {
\r
278 this.selectionVisible = vis;
\r
279 if (this.selectionVisible) {
\r
280 var h = this.component.getHighlighter ();
\r
281 if ((this.dot != this.mark) && (h != null) && (this.selectionTag == null)) {
\r
282 var p0 = Math.min (this.dot, this.mark);
\r
283 var p1 = Math.max (this.dot, this.mark);
\r
284 var p = this.getSelectionPainter ();
\r
286 this.selectionTag = h.addHighlight (p0, p1, p);
\r
288 if (Clazz.exceptionOf (bl, javax.swing.text.BadLocationException)) {
\r
289 this.selectionTag = null;
\r
295 if (this.selectionTag != null) {
\r
296 var h = this.component.getHighlighter ();
\r
297 h.removeHighlight (this.selectionTag);
\r
298 this.selectionTag = null;
\r
300 Clazz.overrideMethod (c$, "isSelectionVisible",
\r
302 return this.selectionVisible;
\r
304 Clazz.defineMethod (c$, "isActive",
\r
306 return this.active;
\r
308 Clazz.overrideMethod (c$, "isVisible",
\r
310 return this.visible;
\r
312 Clazz.overrideMethod (c$, "setVisible",
\r
314 if (this.component != null) {
\r
316 var mapper = this.component.getUI ();
\r
317 if (this.visible != e) {
\r
320 var loc = mapper.modelToView (this.component, this.dot, this.dotBias);
\r
323 if (Clazz.exceptionOf (badloc, javax.swing.text.BadLocationException)) {
\r
329 Clazz.overrideMethod (c$, "setBlinkRate",
\r
332 Clazz.overrideMethod (c$, "getBlinkRate",
\r
336 Clazz.overrideMethod (c$, "getDot",
\r
340 Clazz.overrideMethod (c$, "getMark",
\r
344 Clazz.defineMethod (c$, "setDot",
\r
346 this.setDot (dot, javax.swing.text.Position.Bias.Forward);
\r
348 Clazz.defineMethod (c$, "moveDot",
\r
350 this.moveDot (dot, javax.swing.text.Position.Bias.Forward);
\r
352 Clazz.defineMethod (c$, "moveDot",
\r
353 function (dot, dotBias) {
\r
354 if (dotBias == null) {
\r
355 throw new IllegalArgumentException ("null bias");
\r
356 }if (!this.component.isEnabled ()) {
\r
357 this.setDot (dot, dotBias);
\r
359 }if (dot != this.dot) {
\r
360 var filter = this.component.getNavigationFilter ();
\r
361 if (filter != null) {
\r
362 filter.moveDot (this.getFilterBypass (), dot, dotBias);
\r
364 this.handleMoveDot (dot, dotBias);
\r
365 }}}, "~N,javax.swing.text.Position.Bias");
\r
366 Clazz.defineMethod (c$, "handleMoveDot",
\r
367 function (dot, dotBias) {
\r
368 this.changeCaretPosition (dot, dotBias);
\r
369 if (this.selectionVisible) {
\r
370 var h = this.component.getHighlighter ();
\r
372 var p0 = Math.min (dot, this.mark);
\r
373 var p1 = Math.max (dot, this.mark);
\r
375 if (this.selectionTag != null) {
\r
376 h.removeHighlight (this.selectionTag);
\r
377 this.selectionTag = null;
\r
380 if (this.selectionTag != null) {
\r
381 h.changeHighlight (this.selectionTag, p0, p1);
\r
383 var p = this.getSelectionPainter ();
\r
384 this.selectionTag = h.addHighlight (p0, p1, p);
\r
386 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
\r
387 throw new javax.swing.text.StateInvariantError ("Bad caret position");
\r
392 }}}}, "~N,javax.swing.text.Position.Bias");
\r
393 Clazz.defineMethod (c$, "setDot",
\r
394 function (dot, dotBias) {
\r
395 if (dotBias == null) {
\r
396 throw new IllegalArgumentException ("null bias");
\r
397 }var filter = this.component.getNavigationFilter ();
\r
398 if (filter != null) {
\r
399 filter.setDot (this.getFilterBypass (), dot, dotBias);
\r
401 this.handleSetDot (dot, dotBias);
\r
402 }}, "~N,javax.swing.text.Position.Bias");
\r
403 Clazz.defineMethod (c$, "handleSetDot",
\r
404 function (dot, dotBias) {
\r
405 var doc = this.component.getDocument ();
\r
407 dot = Math.min (dot, doc.getLength ());
\r
408 }dot = Math.max (dot, 0);
\r
409 if (dot == 0) dotBias = javax.swing.text.Position.Bias.Forward;
\r
411 if (this.dot != dot || this.dotBias !== dotBias || this.selectionTag != null || this.forceCaretPositionChange) {
\r
412 this.changeCaretPosition (dot, dotBias);
\r
413 }this.markBias = this.dotBias;
\r
414 this.markLTR = this.dotLTR;
\r
415 var h = this.component.getHighlighter ();
\r
416 if ((h != null) && (this.selectionTag != null)) {
\r
417 h.removeHighlight (this.selectionTag);
\r
418 this.selectionTag = null;
\r
419 }}, "~N,javax.swing.text.Position.Bias");
\r
420 Clazz.defineMethod (c$, "getDotBias",
\r
422 return this.dotBias;
\r
424 Clazz.defineMethod (c$, "getMarkBias",
\r
426 return this.markBias;
\r
428 Clazz.defineMethod (c$, "isDotLeftToRight",
\r
430 return this.dotLTR;
\r
432 Clazz.defineMethod (c$, "isMarkLeftToRight",
\r
434 return this.markLTR;
\r
436 Clazz.defineMethod (c$, "isPositionLTR",
\r
437 function (position, bias) {
\r
438 var doc = this.component.getDocument ();
\r
439 if (Clazz.instanceOf (doc, javax.swing.text.AbstractDocument)) {
\r
440 if (bias === javax.swing.text.Position.Bias.Backward && --position < 0) position = 0;
\r
441 return (doc).isLeftToRight (position, position);
\r
443 }, "~N,javax.swing.text.Position.Bias");
\r
444 Clazz.defineMethod (c$, "guessBiasForOffset",
\r
445 function (offset, lastBias, lastLTR) {
\r
446 if (lastLTR != this.isPositionLTR (offset, lastBias)) {
\r
447 lastBias = javax.swing.text.Position.Bias.Backward;
\r
448 } else if (lastBias !== javax.swing.text.Position.Bias.Backward && lastLTR != this.isPositionLTR (offset, javax.swing.text.Position.Bias.Backward)) {
\r
449 lastBias = javax.swing.text.Position.Bias.Backward;
\r
450 }if (lastBias === javax.swing.text.Position.Bias.Backward && offset > 0) {
\r
452 var s = new javax.swing.text.Segment ();
\r
453 this.component.getDocument ().getText (offset - 1, 1, s);
\r
454 if (s.count > 0 && s.array[s.offset] == '\n') {
\r
455 lastBias = javax.swing.text.Position.Bias.Forward;
\r
457 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {
\r
463 }, "~N,javax.swing.text.Position.Bias,~B");
\r
464 Clazz.defineMethod (c$, "changeCaretPosition",
\r
465 function (dot, dotBias) {
\r
468 this.dotBias = dotBias;
\r
469 this.dotLTR = this.isPositionLTR (dot, dotBias);
\r
470 this.fireStateChanged ();
\r
471 this.updateSystemSelection ();
\r
472 this.setMagicCaretPosition (null);
\r
473 var callRepaintNewCaret = ((Clazz.isClassDefined ("javax.swing.text.DefaultCaret$1") ? 0 : javax.swing.text.DefaultCaret.$DefaultCaret$1$ ()), Clazz.innerTypeInstance (javax.swing.text.DefaultCaret$1, this, null));
\r
474 javax.swing.SwingUtilities.invokeLater (callRepaintNewCaret);
\r
475 }, "~N,javax.swing.text.Position.Bias");
\r
476 Clazz.defineMethod (c$, "repaintNewCaret",
\r
478 if (this.component != null) {
\r
479 var mapper = this.component.getUI ();
\r
480 var doc = this.component.getDocument ();
\r
481 if ((mapper != null) && (doc != null)) {
\r
484 newLoc = mapper.modelToView (this.component, this.dot, this.dotBias);
\r
486 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
\r
492 if (newLoc != null) {
\r
493 this.adjustVisibility (newLoc);
\r
494 if (this.getMagicCaretPosition () == null) {
\r
495 this.setMagicCaretPosition ( new java.awt.Point (newLoc.x, newLoc.y));
\r
496 }}this.damage (newLoc);
\r
498 Clazz.defineMethod (c$, "updateSystemSelection",
\r
501 Clazz.defineMethod (c$, "ensureValidPosition",
\r
503 var length = this.component.getDocument ().getLength ();
\r
504 if (this.dot > length || this.mark > length) {
\r
505 this.handleSetDot (length, javax.swing.text.Position.Bias.Forward);
\r
507 Clazz.overrideMethod (c$, "setMagicCaretPosition",
\r
509 this.magicCaretPosition = p;
\r
510 }, "java.awt.Point");
\r
511 Clazz.overrideMethod (c$, "getMagicCaretPosition",
\r
513 return this.magicCaretPosition;
\r
515 Clazz.overrideMethod (c$, "equals",
\r
517 return (this === obj);
\r
519 Clazz.overrideMethod (c$, "toString",
\r
521 var s = "Dot=(" + this.dot + ", " + this.dotBias + ")";
\r
522 s += " Mark=(" + this.mark + ", " + this.markBias + ")";
\r
525 Clazz.defineMethod (c$, "getFilterBypass",
\r
527 if (this.filterBypass == null) {
\r
528 this.filterBypass = Clazz.innerTypeInstance (javax.swing.text.DefaultCaret.DefaultFilterBypass, this, null);
\r
529 }return this.filterBypass;
\r
531 Clazz.defineMethod (c$, "_contains",
\r
532 function (X, Y, W, H) {
\r
533 var w = this.width;
\r
534 var h = this.height;
\r
535 if ((w | h | W | H) < 0) {
\r
539 if (X < x || Y < y) {
\r
545 if (w >= x || W > w) return false;
\r
547 if (w >= x && W > w) return false;
\r
548 }} else if ((x + w) < X) {
\r
554 if (h >= y || H > h) return false;
\r
556 if (h >= y && H > h) return false;
\r
557 }} else if ((y + h) < Y) {
\r
561 Clazz.defineMethod (c$, "getCaretWidth",
\r
562 function (height) {
\r
563 if (this.aspectRatio > -1) {
\r
564 return Clazz.floatToInt (this.aspectRatio * height) + 1;
\r
565 }if (this.caretWidth > -1) {
\r
566 return this.caretWidth;
\r
569 c$.$DefaultCaret$SafeScroller$ = function () {
\r
570 Clazz.pu$h(self.c$);
\r
571 c$ = Clazz.decorateAsClass (function () {
\r
572 Clazz.prepareCallback (this, arguments);
\r
574 Clazz.instantialize (this, arguments);
\r
575 }, javax.swing.text.DefaultCaret, "SafeScroller", null, Runnable);
\r
576 Clazz.makeConstructor (c$,
\r
579 }, "java.awt.Rectangle");
\r
580 Clazz.overrideMethod (c$, "run",
\r
582 if (this.b$["javax.swing.text.DefaultCaret"].component != null) {
\r
583 this.b$["javax.swing.text.DefaultCaret"].component.scrollRectToVisible (this.r);
\r
587 c$.$DefaultCaret$Handler$ = function () {
\r
588 Clazz.pu$h(self.c$);
\r
589 c$ = Clazz.decorateAsClass (function () {
\r
590 Clazz.prepareCallback (this, arguments);
\r
591 Clazz.instantialize (this, arguments);
\r
592 }, javax.swing.text.DefaultCaret, "Handler", null, [java.beans.PropertyChangeListener, javax.swing.event.DocumentListener, java.awt.event.ActionListener]);
\r
593 Clazz.overrideMethod (c$, "actionPerformed",
\r
595 if (this.b$["javax.swing.text.DefaultCaret"].width == 0 || this.b$["javax.swing.text.DefaultCaret"].height == 0) {
\r
596 if (this.b$["javax.swing.text.DefaultCaret"].component != null) {
\r
597 var b = this.b$["javax.swing.text.DefaultCaret"].component.getUI ();
\r
599 var c = b.modelToView (this.b$["javax.swing.text.DefaultCaret"].component, this.b$["javax.swing.text.DefaultCaret"].dot, this.b$["javax.swing.text.DefaultCaret"].dotBias);
\r
600 if (c != null && c.width != 0 && c.height != 0) {
\r
601 this.b$["javax.swing.text.DefaultCaret"].damage (c);
\r
603 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {
\r
608 }}this.b$["javax.swing.text.DefaultCaret"].visible = !this.b$["javax.swing.text.DefaultCaret"].visible;
\r
609 this.b$["javax.swing.text.DefaultCaret"].repaint ();
\r
610 }, "java.awt.event.ActionEvent");
\r
611 Clazz.overrideMethod (c$, "insertUpdate",
\r
613 if (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 1 || (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 0 && !javax.swing.SwingUtilities.isEventDispatchThread ())) {
\r
614 if ((a.getOffset () <= this.b$["javax.swing.text.DefaultCaret"].dot || a.getOffset () <= this.b$["javax.swing.text.DefaultCaret"].mark) && this.b$["javax.swing.text.DefaultCaret"].selectionTag != null) {
\r
616 this.b$["javax.swing.text.DefaultCaret"].component.getHighlighter ().changeHighlight (this.b$["javax.swing.text.DefaultCaret"].selectionTag, Math.min (this.b$["javax.swing.text.DefaultCaret"].dot, this.b$["javax.swing.text.DefaultCaret"].mark), Math.max (this.b$["javax.swing.text.DefaultCaret"].dot, this.b$["javax.swing.text.DefaultCaret"].mark));
\r
618 if (Clazz.exceptionOf (e1, javax.swing.text.BadLocationException)) {
\r
619 e1.printStackTrace ();
\r
626 var c = a.getOffset ();
\r
627 var d = a.getLength ();
\r
628 var e = this.b$["javax.swing.text.DefaultCaret"].dot;
\r
630 if (Clazz.instanceOf (a, javax.swing.text.AbstractDocument.UndoRedoDocumentEvent)) {
\r
631 this.b$["javax.swing.text.DefaultCaret"].setDot (c + d);
\r
636 }var g = this.b$["javax.swing.text.DefaultCaret"].mark;
\r
641 var h = this.b$["javax.swing.text.DefaultCaret"].dotBias;
\r
642 if (this.b$["javax.swing.text.DefaultCaret"].dot == c) {
\r
643 var i = this.b$["javax.swing.text.DefaultCaret"].component.getDocument ();
\r
646 var k = new javax.swing.text.Segment ();
\r
647 i.getText (e - 1, 1, k);
\r
648 j = (k.count > 0 && k.array[k.offset] == '\n');
\r
650 if (Clazz.exceptionOf (ble, javax.swing.text.BadLocationException)) {
\r
657 h = javax.swing.text.Position.Bias.Forward;
\r
659 h = javax.swing.text.Position.Bias.Backward;
\r
661 this.b$["javax.swing.text.DefaultCaret"].setDot (e, h);
\r
662 this.b$["javax.swing.text.DefaultCaret"].ensureValidPosition ();
\r
664 this.b$["javax.swing.text.DefaultCaret"].setDot (g, this.b$["javax.swing.text.DefaultCaret"].markBias);
\r
665 if (this.b$["javax.swing.text.DefaultCaret"].getDot () == g) {
\r
666 this.b$["javax.swing.text.DefaultCaret"].moveDot (e, h);
\r
667 }this.b$["javax.swing.text.DefaultCaret"].ensureValidPosition ();
\r
668 }}}, "javax.swing.event.DocumentEvent");
\r
669 Clazz.overrideMethod (c$, "removeUpdate",
\r
671 if (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 1 || (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 0 && !javax.swing.SwingUtilities.isEventDispatchThread ())) {
\r
672 var b = this.b$["javax.swing.text.DefaultCaret"].component.getDocument ().getLength ();
\r
673 this.b$["javax.swing.text.DefaultCaret"].dot = Math.min (this.b$["javax.swing.text.DefaultCaret"].dot, b);
\r
674 this.b$["javax.swing.text.DefaultCaret"].mark = Math.min (this.b$["javax.swing.text.DefaultCaret"].mark, b);
\r
675 if ((a.getOffset () < this.b$["javax.swing.text.DefaultCaret"].dot || a.getOffset () < this.b$["javax.swing.text.DefaultCaret"].mark) && this.b$["javax.swing.text.DefaultCaret"].selectionTag != null) {
\r
677 this.b$["javax.swing.text.DefaultCaret"].component.getHighlighter ().changeHighlight (this.b$["javax.swing.text.DefaultCaret"].selectionTag, Math.min (this.b$["javax.swing.text.DefaultCaret"].dot, this.b$["javax.swing.text.DefaultCaret"].mark), Math.max (this.b$["javax.swing.text.DefaultCaret"].dot, this.b$["javax.swing.text.DefaultCaret"].mark));
\r
679 if (Clazz.exceptionOf (e1, javax.swing.text.BadLocationException)) {
\r
680 e1.printStackTrace ();
\r
686 }var b = a.getOffset ();
\r
687 var c = b + a.getLength ();
\r
689 var e = this.b$["javax.swing.text.DefaultCaret"].dot;
\r
691 var g = this.b$["javax.swing.text.DefaultCaret"].mark;
\r
693 if (Clazz.instanceOf (a, javax.swing.text.AbstractDocument.UndoRedoDocumentEvent)) {
\r
694 this.b$["javax.swing.text.DefaultCaret"].setDot (b);
\r
700 }} else if (e >= b) {
\r
707 }} else if (g >= b) {
\r
711 this.b$["javax.swing.text.DefaultCaret"].forceCaretPositionChange = true;
\r
713 this.b$["javax.swing.text.DefaultCaret"].setDot (e, this.b$["javax.swing.text.DefaultCaret"].guessBiasForOffset (e, this.b$["javax.swing.text.DefaultCaret"].dotBias, this.b$["javax.swing.text.DefaultCaret"].dotLTR));
\r
715 this.b$["javax.swing.text.DefaultCaret"].forceCaretPositionChange = false;
\r
717 this.b$["javax.swing.text.DefaultCaret"].ensureValidPosition ();
\r
719 var i = this.b$["javax.swing.text.DefaultCaret"].dotBias;
\r
720 var j = this.b$["javax.swing.text.DefaultCaret"].markBias;
\r
722 i = this.b$["javax.swing.text.DefaultCaret"].guessBiasForOffset (e, i, this.b$["javax.swing.text.DefaultCaret"].dotLTR);
\r
724 j = this.b$["javax.swing.text.DefaultCaret"].guessBiasForOffset (this.b$["javax.swing.text.DefaultCaret"].mark, j, this.b$["javax.swing.text.DefaultCaret"].markLTR);
\r
725 }this.b$["javax.swing.text.DefaultCaret"].setDot (g, j);
\r
726 if (this.b$["javax.swing.text.DefaultCaret"].getDot () == g) {
\r
727 this.b$["javax.swing.text.DefaultCaret"].moveDot (e, i);
\r
728 }this.b$["javax.swing.text.DefaultCaret"].ensureValidPosition ();
\r
729 }}, "javax.swing.event.DocumentEvent");
\r
730 Clazz.overrideMethod (c$, "changedUpdate",
\r
732 if (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 1 || (this.b$["javax.swing.text.DefaultCaret"].getUpdatePolicy () == 0 && !javax.swing.SwingUtilities.isEventDispatchThread ())) {
\r
734 }if (Clazz.instanceOf (a, javax.swing.text.AbstractDocument.UndoRedoDocumentEvent)) {
\r
735 this.b$["javax.swing.text.DefaultCaret"].setDot (a.getOffset () + a.getLength ());
\r
736 }}, "javax.swing.event.DocumentEvent");
\r
737 Clazz.overrideMethod (c$, "propertyChange",
\r
739 var b = a.getOldValue ();
\r
740 var c = a.getNewValue ();
\r
741 if ((Clazz.instanceOf (b, javax.swing.text.Document)) || (Clazz.instanceOf (c, javax.swing.text.Document))) {
\r
742 this.b$["javax.swing.text.DefaultCaret"].setDot (0);
\r
744 (b).removeDocumentListener (this);
\r
746 (c).addDocumentListener (this);
\r
747 }} else if ("enabled".equals (a.getPropertyName ())) {
\r
748 var d = a.getNewValue ();
\r
749 if (this.b$["javax.swing.text.DefaultCaret"].component.isFocusOwner ()) {
\r
750 if (d === Boolean.TRUE) {
\r
751 if (this.b$["javax.swing.text.DefaultCaret"].component.isEditable ()) {
\r
752 this.b$["javax.swing.text.DefaultCaret"].setVisible (true);
\r
753 }this.b$["javax.swing.text.DefaultCaret"].setSelectionVisible (true);
\r
755 this.b$["javax.swing.text.DefaultCaret"].setVisible (false);
\r
756 this.b$["javax.swing.text.DefaultCaret"].setSelectionVisible (false);
\r
757 }}} else if ("caretWidth".equals (a.getPropertyName ())) {
\r
758 var d = a.getNewValue ();
\r
760 this.b$["javax.swing.text.DefaultCaret"].caretWidth = d.intValue ();
\r
762 this.b$["javax.swing.text.DefaultCaret"].caretWidth = -1;
\r
763 }this.b$["javax.swing.text.DefaultCaret"].repaint ();
\r
764 } else if ("caretAspectRatio".equals (a.getPropertyName ())) {
\r
765 var d = a.getNewValue ();
\r
767 this.b$["javax.swing.text.DefaultCaret"].aspectRatio = d.floatValue ();
\r
769 this.b$["javax.swing.text.DefaultCaret"].aspectRatio = -1;
\r
770 }this.b$["javax.swing.text.DefaultCaret"].repaint ();
\r
771 }}, "java.beans.PropertyChangeEvent");
\r
774 c$.$DefaultCaret$DefaultFilterBypass$ = function () {
\r
775 Clazz.pu$h(self.c$);
\r
776 c$ = Clazz.decorateAsClass (function () {
\r
777 Clazz.prepareCallback (this, arguments);
\r
778 Clazz.instantialize (this, arguments);
\r
779 }, javax.swing.text.DefaultCaret, "DefaultFilterBypass", javax.swing.text.NavigationFilter.FilterBypass);
\r
780 Clazz.overrideMethod (c$, "getCaret",
\r
782 return this.b$["javax.swing.text.DefaultCaret"];
\r
784 Clazz.overrideMethod (c$, "setDot",
\r
786 this.b$["javax.swing.text.DefaultCaret"].handleSetDot (a, b);
\r
787 }, "~N,javax.swing.text.Position.Bias");
\r
788 Clazz.overrideMethod (c$, "moveDot",
\r
790 this.b$["javax.swing.text.DefaultCaret"].handleMoveDot (a, b);
\r
791 }, "~N,javax.swing.text.Position.Bias");
\r
794 c$.$DefaultCaret$1$ = function () {
\r
795 Clazz.pu$h(self.c$);
\r
796 c$ = Clazz.declareAnonymous (javax.swing.text, "DefaultCaret$1", null, Runnable);
\r
797 Clazz.overrideMethod (c$, "run",
\r
799 this.b$["javax.swing.text.DefaultCaret"].repaintNewCaret ();
\r
803 Clazz.defineStatics (c$,
\r
804 "UPDATE_WHEN_ON_EDT", 0,
\r
806 "ALWAYS_UPDATE", 2,
\r
807 "$selectWord", null,
\r
808 "selectLine", null);
\r