1 Clazz.declarePackage ("javax.swing.event");
\r
2 Clazz.load (null, "javax.swing.event.EventListenerList", ["java.lang.reflect.Array"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.listenerList = null;
\r
5 Clazz.instantialize (this, arguments);
\r
6 }, javax.swing.event, "EventListenerList");
\r
7 Clazz.prepareFields (c$, function () {
\r
8 this.listenerList = javax.swing.event.EventListenerList.NULL_ARRAY;
\r
10 Clazz.defineMethod (c$, "getListenerList",
\r
12 return this.listenerList;
\r
14 Clazz.defineMethod (c$, "getListeners",
\r
16 var lList = this.listenerList;
\r
17 var n = this.getListenerCount (lList, t);
\r
18 var result = java.lang.reflect.Array.newInstance (t, n);
\r
20 for (var i = lList.length - 2; i >= 0; i -= 2) {
\r
21 if (lList[i] === t) {
\r
22 result[j++] = lList[i + 1];
\r
26 Clazz.defineMethod (c$, "getListenerCount",
\r
28 return Clazz.doubleToInt (this.listenerList.length / 2);
\r
30 Clazz.defineMethod (c$, "getListenerCount",
\r
32 var lList = this.listenerList;
\r
33 return this.getListenerCount (lList, t);
\r
35 Clazz.defineMethod (c$, "getListenerCount",
\r
36 function (list, t) {
\r
38 for (var i = 0; i < list.length; i += 2) {
\r
39 if (t === list[i]) count++;
\r
43 Clazz.defineMethod (c$, "add",
\r
47 }if (this.listenerList === javax.swing.event.EventListenerList.NULL_ARRAY) {
\r
48 this.listenerList = Clazz.newArray (-1, [t, l]);
\r
50 var i = this.listenerList.length;
\r
51 var tmp = new Array (i + 2);
\r
52 System.arraycopy (this.listenerList, 0, tmp, 0, i);
\r
55 this.listenerList = tmp;
\r
57 Clazz.defineMethod (c$, "remove",
\r
62 for (var i = this.listenerList.length - 2; i >= 0; i -= 2) {
\r
63 if ((this.listenerList[i] === t) && (this.listenerList[i + 1].equals (l) == true)) {
\r
68 var tmp = new Array (this.listenerList.length - 2);
\r
69 System.arraycopy (this.listenerList, 0, tmp, 0, index);
\r
70 if (index < tmp.length) System.arraycopy (this.listenerList, index + 2, tmp, index, tmp.length - index);
\r
71 this.listenerList = (tmp.length == 0) ? javax.swing.event.EventListenerList.NULL_ARRAY : tmp;
\r
73 Clazz.overrideMethod (c$, "toString",
\r
75 var lList = this.listenerList;
\r
76 var s = "EventListenerList: ";
\r
77 s += Clazz.doubleToInt (lList.length / 2) + " listeners: ";
\r
78 for (var i = 0; i <= lList.length - 2; i += 2) {
\r
79 s += " type " + (lList[i]).getName ();
\r
80 s += " listener " + lList[i + 1];
\r
84 c$.NULL_ARRAY = c$.prototype.NULL_ARRAY = new Array (0);
\r