1 Clazz.declarePackage ("javax.swing");
\r
2 Clazz.load (["java.util.Hashtable"], "javax.swing.KeyboardManager", ["java.lang.Thread", "java.util.Vector", "java.applet.Applet", "java.awt.Window", "javax.swing.JComponent", "$.JMenuBar", "$.KeyStroke"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.containerMap = null;
\r
5 this.componentKeyStrokeMap = null;
\r
6 if (!Clazz.isClassDefined ("javax.swing.KeyboardManager.ComponentKeyStrokePair")) {
\r
7 javax.swing.KeyboardManager.$KeyboardManager$ComponentKeyStrokePair$ ();
\r
9 Clazz.instantialize (this, arguments);
\r
10 }, javax.swing, "KeyboardManager");
\r
11 Clazz.prepareFields (c$, function () {
\r
12 this.containerMap = new java.util.Hashtable ();
\r
13 this.componentKeyStrokeMap = new java.util.Hashtable ();
\r
15 c$.getCurrentManager = Clazz.defineMethod (c$, "getCurrentManager",
\r
17 return javax.swing.KeyboardManager.currentManager;
\r
19 c$.setCurrentManager = Clazz.defineMethod (c$, "setCurrentManager",
\r
21 javax.swing.KeyboardManager.currentManager = km;
\r
22 }, "javax.swing.KeyboardManager");
\r
23 Clazz.defineMethod (c$, "registerKeyStroke",
\r
25 var topContainer = javax.swing.KeyboardManager.getTopAncestor (c);
\r
26 if (topContainer == null) {
\r
28 }var keyMap = this.containerMap.get (topContainer);
\r
29 if (keyMap == null) {
\r
30 keyMap = this.registerNewTopContainer (topContainer);
\r
31 }var tmp = keyMap.get (k);
\r
34 } else if (Clazz.instanceOf (tmp, java.util.Vector)) {
\r
36 if (!v.contains (c)) {
\r
38 }} else if (Clazz.instanceOf (tmp, javax.swing.JComponent)) {
\r
40 var v = new java.util.Vector ();
\r
45 System.out.println ("Unexpected condition in registerKeyStroke");
\r
46 Thread.dumpStack ();
\r
47 }this.componentKeyStrokeMap.put (Clazz.innerTypeInstance (javax.swing.KeyboardManager.ComponentKeyStrokePair, this, null, c, k), topContainer);
\r
48 }, "javax.swing.KeyStroke,javax.swing.JComponent");
\r
49 c$.getTopAncestor = Clazz.defineMethod (c$, "getTopAncestor",
\r
51 for (var p = c.getParent (); p != null; p = p.getParent ()) {
\r
52 if (Clazz.instanceOf (p, java.awt.Window) && (p).isFocusableWindow () || Clazz.instanceOf (p, java.applet.Applet)) {
\r
56 }, "javax.swing.JComponent");
\r
57 Clazz.defineMethod (c$, "unregisterKeyStroke",
\r
59 var ckp = Clazz.innerTypeInstance (javax.swing.KeyboardManager.ComponentKeyStrokePair, this, null, c, ks);
\r
60 var topContainer = this.componentKeyStrokeMap.get (ckp);
\r
61 if (topContainer == null) {
\r
63 }var keyMap = this.containerMap.get (topContainer);
\r
64 if (keyMap == null) {
\r
65 Thread.dumpStack ();
\r
67 }var tmp = keyMap.get (ks);
\r
69 Thread.dumpStack ();
\r
71 }if (Clazz.instanceOf (tmp, javax.swing.JComponent) && tmp === c) {
\r
73 } else if (Clazz.instanceOf (tmp, java.util.Vector)) {
\r
75 v.removeElement (c);
\r
78 }}if (keyMap.isEmpty ()) {
\r
79 this.containerMap.remove (topContainer);
\r
80 }this.componentKeyStrokeMap.remove (ckp);
\r
81 }, "javax.swing.KeyStroke,javax.swing.JComponent");
\r
82 Clazz.defineMethod (c$, "fireKeyboardAction",
\r
83 function (e, pressed, topAncestor) {
\r
84 if (e.isConsumed ()) {
\r
85 System.out.println ("Aquired pre-used event!");
\r
86 Thread.dumpStack ();
\r
88 if (e.getID () == 400) {
\r
89 ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyChar ());
\r
91 ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyCode (), e.getModifiers (), !pressed);
\r
92 }var keyMap = this.containerMap.get (topAncestor);
\r
93 if (keyMap != null) {
\r
94 var tmp = keyMap.get (ks);
\r
96 } else if (Clazz.instanceOf (tmp, javax.swing.JComponent)) {
\r
98 if (c.isShowing () && c.isEnabled ()) {
\r
99 this.fireBinding (c, ks, e, pressed);
\r
100 }} else if (Clazz.instanceOf (tmp, java.util.Vector)) {
\r
102 for (var counter = v.size () - 1; counter >= 0; counter--) {
\r
103 var c = v.elementAt (counter);
\r
104 if (c.isShowing () && c.isEnabled ()) {
\r
105 this.fireBinding (c, ks, e, pressed);
\r
106 if (e.isConsumed ()) return true;
\r
109 System.out.println ("Unexpected condition in fireKeyboardAction " + tmp);
\r
110 Thread.dumpStack ();
\r
111 }}if (e.isConsumed ()) {
\r
113 }if (keyMap != null) {
\r
114 var v = keyMap.get (javax.swing.JMenuBar);
\r
116 var iter = v.elements ();
\r
117 while (iter.hasMoreElements ()) {
\r
118 var mb = iter.nextElement ();
\r
119 if (mb.isShowing () && mb.isEnabled ()) {
\r
120 this.fireBinding (mb, ks, e, pressed);
\r
121 if (e.isConsumed ()) {
\r
124 }}return e.isConsumed ();
\r
125 }, "java.awt.event.KeyEvent,~B,java.awt.Container");
\r
126 Clazz.defineMethod (c$, "fireBinding",
\r
127 function (c, ks, e, pressed) {
\r
128 if (c.processKeyBinding (ks, e, 2, pressed)) {
\r
130 }}, "javax.swing.JComponent,javax.swing.KeyStroke,java.awt.event.KeyEvent,~B");
\r
131 Clazz.defineMethod (c$, "registerMenuBar",
\r
133 var top = javax.swing.KeyboardManager.getTopAncestor (mb);
\r
136 }var keyMap = this.containerMap.get (top);
\r
137 if (keyMap == null) {
\r
138 keyMap = this.registerNewTopContainer (top);
\r
139 }var menuBars = keyMap.get (javax.swing.JMenuBar);
\r
140 if (menuBars == null) {
\r
141 menuBars = new java.util.Vector ();
\r
142 keyMap.put (javax.swing.JMenuBar, menuBars);
\r
143 }if (!menuBars.contains (mb)) {
\r
144 menuBars.addElement (mb);
\r
145 }}, "javax.swing.JMenuBar");
\r
146 Clazz.defineMethod (c$, "unregisterMenuBar",
\r
148 var topContainer = javax.swing.KeyboardManager.getTopAncestor (mb);
\r
149 if (topContainer == null) {
\r
151 }var keyMap = this.containerMap.get (topContainer);
\r
152 if (keyMap != null) {
\r
153 var v = keyMap.get (javax.swing.JMenuBar);
\r
155 v.removeElement (mb);
\r
156 if (v.isEmpty ()) {
\r
157 keyMap.remove (javax.swing.JMenuBar);
\r
158 if (keyMap.isEmpty ()) {
\r
159 this.containerMap.remove (topContainer);
\r
160 }}}}}, "javax.swing.JMenuBar");
\r
161 Clazz.defineMethod (c$, "registerNewTopContainer",
\r
162 function (topContainer) {
\r
163 var keyMap = new java.util.Hashtable ();
\r
164 this.containerMap.put (topContainer, keyMap);
\r
166 }, "java.awt.Container");
\r
167 c$.$KeyboardManager$ComponentKeyStrokePair$ = function () {
\r
168 Clazz.pu$h(self.c$);
\r
169 c$ = Clazz.decorateAsClass (function () {
\r
170 Clazz.prepareCallback (this, arguments);
\r
171 this.component = null;
\r
172 this.keyStroke = null;
\r
173 Clazz.instantialize (this, arguments);
\r
174 }, javax.swing.KeyboardManager, "ComponentKeyStrokePair");
\r
175 Clazz.makeConstructor (c$,
\r
177 this.component = a;
\r
178 this.keyStroke = b;
\r
180 Clazz.defineMethod (c$, "equals",
\r
182 if (!(Clazz.instanceOf (a, javax.swing.KeyboardManager.ComponentKeyStrokePair))) {
\r
185 return ((this.component.equals (b.component)) && (this.keyStroke.equals (b.keyStroke)));
\r
187 Clazz.defineMethod (c$, "hashCode",
\r
189 return this.component.hashCode () * this.keyStroke.hashCode ();
\r
193 c$.currentManager = c$.prototype.currentManager = new javax.swing.KeyboardManager ();
\r