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