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