JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / javax / swing / KeyboardManager.js
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
8 }\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
14 });\r
15 c$.getCurrentManager = Clazz.defineMethod (c$, "getCurrentManager", \r
16 function () {\r
17 return javax.swing.KeyboardManager.currentManager;\r
18 });\r
19 c$.setCurrentManager = Clazz.defineMethod (c$, "setCurrentManager", \r
20 function (km) {\r
21 javax.swing.KeyboardManager.currentManager = km;\r
22 }, "javax.swing.KeyboardManager");\r
23 Clazz.defineMethod (c$, "registerKeyStroke", \r
24 function (k, c) {\r
25 var topContainer = javax.swing.KeyboardManager.getTopAncestor (c);\r
26 if (topContainer == null) {\r
27 return;\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
32 if (tmp == null) {\r
33 keyMap.put (k, c);\r
34 } else if (Clazz.instanceOf (tmp, java.util.Vector)) {\r
35 var v = tmp;\r
36 if (!v.contains (c)) {\r
37 v.addElement (c);\r
38 }} else if (Clazz.instanceOf (tmp, javax.swing.JComponent)) {\r
39 if (tmp !== c) {\r
40 var v =  new java.util.Vector ();\r
41 v.addElement (tmp);\r
42 v.addElement (c);\r
43 keyMap.put (k, v);\r
44 }} else {\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
50  function (c) {\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
53 return p;\r
54 }}\r
55 return null;\r
56 }, "javax.swing.JComponent");\r
57 Clazz.defineMethod (c$, "unregisterKeyStroke", \r
58 function (ks, c) {\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
62 return;\r
63 }var keyMap = this.containerMap.get (topContainer);\r
64 if (keyMap == null) {\r
65 Thread.dumpStack ();\r
66 return;\r
67 }var tmp = keyMap.get (ks);\r
68 if (tmp == null) {\r
69 Thread.dumpStack ();\r
70 return;\r
71 }if (Clazz.instanceOf (tmp, javax.swing.JComponent) && tmp === c) {\r
72 keyMap.remove (ks);\r
73 } else if (Clazz.instanceOf (tmp, java.util.Vector)) {\r
74 var v = tmp;\r
75 v.removeElement (c);\r
76 if (v.isEmpty ()) {\r
77 keyMap.remove (ks);\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
87 }var ks;\r
88 if (e.getID () == 400) {\r
89 ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyChar ());\r
90 } else {\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
95 if (tmp == null) {\r
96 } else if (Clazz.instanceOf (tmp, javax.swing.JComponent)) {\r
97 var c = tmp;\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
101 var v = tmp;\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
107 }}\r
108 } else {\r
109 System.out.println ("Unexpected condition in fireKeyboardAction " + tmp);\r
110 Thread.dumpStack ();\r
111 }}if (e.isConsumed ()) {\r
112 return true;\r
113 }if (keyMap != null) {\r
114 var v = keyMap.get (javax.swing.JMenuBar);\r
115 if (v != null) {\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
122 return true;\r
123 }}}\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
129 e.consume ();\r
130 }}, "javax.swing.JComponent,javax.swing.KeyStroke,java.awt.event.KeyEvent,~B");\r
131 Clazz.defineMethod (c$, "registerMenuBar", \r
132 function (mb) {\r
133 var top = javax.swing.KeyboardManager.getTopAncestor (mb);\r
134 if (top == null) {\r
135 return;\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
147 function (mb) {\r
148 var topContainer = javax.swing.KeyboardManager.getTopAncestor (mb);\r
149 if (topContainer == null) {\r
150 return;\r
151 }var keyMap = this.containerMap.get (topContainer);\r
152 if (keyMap != null) {\r
153 var v = keyMap.get (javax.swing.JMenuBar);\r
154 if (v != null) {\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
165 return 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
176 function (a, b) {\r
177 this.component = a;\r
178 this.keyStroke = b;\r
179 }, "~O,~O");\r
180 Clazz.defineMethod (c$, "equals", \r
181 function (a) {\r
182 if (!(Clazz.instanceOf (a, javax.swing.KeyboardManager.ComponentKeyStrokePair))) {\r
183 return false;\r
184 }var b = a;\r
185 return ((this.component.equals (b.component)) && (this.keyStroke.equals (b.keyStroke)));\r
186 }, "~O");\r
187 Clazz.defineMethod (c$, "hashCode", \r
188 function () {\r
189 return this.component.hashCode () * this.keyStroke.hashCode ();\r
190 });\r
191 c$ = Clazz.p0p ();\r
192 };\r
193 c$.currentManager = c$.prototype.currentManager =  new javax.swing.KeyboardManager ();\r
194 });\r