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