1 Clazz.declarePackage ("swingjs.plaf");
2 Clazz.load (["java.awt.event.FocusListener", "$.MouseListener", "$.MouseMotionListener", "java.beans.PropertyChangeListener", "javax.swing.event.ChangeListener", "$.DocumentListener", "swingjs.plaf.JSEventHandler"], "swingjs.plaf.JSTextListener", ["javax.swing.SwingUtilities"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 this.haveDocument = false;
6 Clazz.instantialize (this, arguments);
7 }, swingjs.plaf, "JSTextListener", null, [java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.FocusListener, javax.swing.event.ChangeListener, java.beans.PropertyChangeListener, javax.swing.event.DocumentListener, swingjs.plaf.JSEventHandler]);
8 Clazz.makeConstructor (c$,
11 }, "javax.swing.text.JTextComponent");
12 Clazz.defineMethod (c$, "checkDocument",
14 if (!this.haveDocument && this.b.getDocument () != null) {
15 this.haveDocument = true;
16 this.b.getDocument ().addDocumentListener (this);
18 Clazz.overrideMethod (c$, "propertyChange",
20 var prop = e.getPropertyName ();
21 System.out.println ("JSTextListener property change: " + prop + " " + e.getSource ());
22 if ("font" === prop || "foreground" === prop || "preferredSize" === prop) {
23 var b = e.getSource ();
24 (b.getUI ()).notifyPropertyChanged (prop);
25 }}, "java.beans.PropertyChangeEvent");
26 Clazz.overrideMethod (c$, "stateChanged",
28 var b = e.getSource ();
30 }, "javax.swing.event.ChangeEvent");
31 Clazz.overrideMethod (c$, "focusGained",
33 }, "java.awt.event.FocusEvent");
34 Clazz.overrideMethod (c$, "focusLost",
36 }, "java.awt.event.FocusEvent");
37 Clazz.overrideMethod (c$, "mouseMoved",
39 }, "java.awt.event.MouseEvent");
40 Clazz.overrideMethod (c$, "mouseDragged",
42 }, "java.awt.event.MouseEvent");
43 Clazz.overrideMethod (c$, "mouseClicked",
45 }, "java.awt.event.MouseEvent");
46 Clazz.overrideMethod (c$, "mousePressed",
48 if (javax.swing.SwingUtilities.isLeftMouseButton (e)) {
49 var b = e.getSource ();
50 if (!b.contains (e.getX (), e.getY ())) return;
51 if (!b.hasFocus () && b.isRequestFocusEnabled ()) {
53 }}}, "java.awt.event.MouseEvent");
54 Clazz.overrideMethod (c$, "mouseReleased",
56 }, "java.awt.event.MouseEvent");
57 Clazz.overrideMethod (c$, "mouseEntered",
59 }, "java.awt.event.MouseEvent");
60 Clazz.overrideMethod (c$, "mouseExited",
62 }, "java.awt.event.MouseEvent");
63 Clazz.overrideMethod (c$, "handleJSEvent",
64 function (target, eventType, jQueryEvent) {
70 mark = jQueryEvent.target.selectionStart; dot =
71 jQueryEvent.target.selectionEnd; evType = jQueryEvent.type;
72 }var oldDot = ui.editor.getCaret ().getDot ();
73 var oldMark = ui.editor.getCaret ().getMark ();
74 if (dot != mark && oldMark == dot) {
85 var val = ui.getJSTextValue ();
86 if (!val.equals (ui.currentText)) {
87 var oldval = ui.currentText;
88 ui.editor.setText (val);
89 ui.editor.firePropertyChangeObject ("text", oldval, val);
92 if (dot != oldDot || mark != oldMark) {
93 ui.editor.getCaret ().setDot (dot);
94 if (dot != mark) ui.editor.getCaret ().moveDot (mark);
95 ui.editor.caretEvent.fire ();
96 }System.out.println (ui.id + " handling event " + evType + " " + eventType + " " + ui.editor.getCaret () + " " + ui.getComponentText ());
99 Clazz.overrideMethod (c$, "insertUpdate",
102 }, "javax.swing.event.DocumentEvent");
103 Clazz.overrideMethod (c$, "removeUpdate",
106 }, "javax.swing.event.DocumentEvent");
107 Clazz.overrideMethod (c$, "changedUpdate",
109 }, "javax.swing.event.DocumentEvent");
110 Clazz.defineMethod (c$, "setText",
112 (this.b.getUI ()).notifyPropertyChanged ("text");