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