JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / jssun / awt / SunToolkit.js
1 Clazz.declarePackage ("jssun.awt");\r
2 Clazz.load (["java.awt.Toolkit", "jssun.awt.ComponentFactory", "$.WindowClosingListener", "$.WindowClosingSupport", "java.util.HashMap"], "jssun.awt.SunToolkit", ["java.lang.NullPointerException", "$.Thread", "java.awt.Component", "$.Dimension", "$.EventQueue", "$.Panel", "$.Window", "jssun.awt.AWTAccessor", "$.AWTAutoShutdown", "$.AppContext", "$.PeerEvent", "$.PostEventQueue", "jssun.font.FontDesignMetrics"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.windowClosingListener = null;\r
5 Clazz.instantialize (this, arguments);\r
6 }, jssun.awt, "SunToolkit", java.awt.Toolkit, [jssun.awt.WindowClosingSupport, jssun.awt.WindowClosingListener, jssun.awt.ComponentFactory]);\r
7 Clazz.makeConstructor (c$, \r
8 function () {\r
9 Clazz.superConstructor (this, jssun.awt.SunToolkit, []);\r
10 var eventQueue;\r
11 eventQueue =  new java.awt.EventQueue ();\r
12 var appContext = jssun.awt.AppContext.getAppContext ();\r
13 if (appContext != null) {\r
14 appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, eventQueue);\r
15 var postEventQueue =  new jssun.awt.PostEventQueue (eventQueue);\r
16 appContext.put ("PostEventQueue", postEventQueue);\r
17 }});\r
18 Clazz.defineMethod (c$, "useBufferPerWindow", \r
19 function () {\r
20 return false;\r
21 });\r
22 c$.createNewAppContext = Clazz.defineMethod (c$, "createNewAppContext", \r
23 function () {\r
24 var threadGroup = Thread.currentThread ().getThreadGroup ();\r
25 return jssun.awt.SunToolkit.createNewAppContext (threadGroup);\r
26 });\r
27 c$.createNewAppContext = Clazz.defineMethod (c$, "createNewAppContext", \r
28 function (threadGroup) {\r
29 var eventQueue;\r
30 var eqName = System.getProperty ("AWT.EventQueueClass", "java.awt.EventQueue");\r
31 try {\r
32 eventQueue = Clazz._4Name (eqName).newInstance ();\r
33 } catch (e) {\r
34 if (Clazz.exceptionOf (e, Exception)) {\r
35 System.err.println ("Failed loading " + eqName + ": " + e);\r
36 eventQueue =  new java.awt.EventQueue ();\r
37 } else {\r
38 throw e;\r
39 }\r
40 }\r
41 var appContext =  new jssun.awt.AppContext (threadGroup);\r
42 appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, eventQueue);\r
43 var postEventQueue =  new jssun.awt.PostEventQueue (eventQueue);\r
44 appContext.put ("PostEventQueue", postEventQueue);\r
45 return appContext;\r
46 }, "ThreadGroup");\r
47 c$.wakeupEventQueue = Clazz.defineMethod (c$, "wakeupEventQueue", \r
48 function (q, isShutdown) {\r
49 q.wakeup (isShutdown);\r
50 }, "java.awt.EventQueue,~B");\r
51 c$.targetToPeer = Clazz.defineMethod (c$, "targetToPeer", \r
52 function (target) {\r
53 if (target != null) {\r
54 return jssun.awt.AWTAutoShutdown.getInstance ().getPeer (target);\r
55 }return null;\r
56 }, "~O");\r
57 c$.targetCreatedPeer = Clazz.defineMethod (c$, "targetCreatedPeer", \r
58 function (target, peer) {\r
59 if (target != null && peer != null) {\r
60 jssun.awt.AWTAutoShutdown.getInstance ().registerPeer (target, peer);\r
61 }}, "~O,~O");\r
62 c$.targetDisposedPeer = Clazz.defineMethod (c$, "targetDisposedPeer", \r
63 function (target, peer) {\r
64 if (target != null && peer != null) {\r
65 jssun.awt.AWTAutoShutdown.getInstance ().unregisterPeer (target, peer);\r
66 }}, "~O,~O");\r
67 c$.setAppContext = Clazz.defineMethod (c$, "setAppContext", \r
68  function (target, context) {\r
69 if (Clazz.instanceOf (target, java.awt.Component)) {\r
70 jssun.awt.AWTAccessor.getComponentAccessor ().setAppContext (target, context);\r
71 } else {\r
72 return false;\r
73 }return true;\r
74 }, "~O,jssun.awt.AppContext");\r
75 c$.getAppContext = Clazz.defineMethod (c$, "getAppContext", \r
76  function (target) {\r
77 if (Clazz.instanceOf (target, java.awt.Component)) {\r
78 {\r
79 return target.appContext;\r
80 }} else {\r
81 return null;\r
82 }}, "~O");\r
83 c$.targetToAppContext = Clazz.defineMethod (c$, "targetToAppContext", \r
84 function (target) {\r
85 if (target == null) {\r
86 return null;\r
87 }var context = jssun.awt.SunToolkit.getAppContext (target);\r
88 if (context == null) {\r
89 context = jssun.awt.SunToolkit.appContextMap.get (target);\r
90 }return context;\r
91 }, "~O");\r
92 c$.setLWRequestStatus = Clazz.defineMethod (c$, "setLWRequestStatus", \r
93 function (changed, status) {\r
94 jssun.awt.AWTAccessor.getWindowAccessor ().setLWRequestStatus (changed, status);\r
95 }, "java.awt.Window,~B");\r
96 c$.checkAndSetPolicy = Clazz.defineMethod (c$, "checkAndSetPolicy", \r
97 function (cont, isSwingCont) {\r
98 }, "java.awt.Container,~B");\r
99 c$.insertTargetMapping = Clazz.defineMethod (c$, "insertTargetMapping", \r
100 function (target, appContext) {\r
101 if (!jssun.awt.SunToolkit.setAppContext (target, appContext)) {\r
102 jssun.awt.SunToolkit.appContextMap.put (target, appContext);\r
103 }}, "~O,jssun.awt.AppContext");\r
104 c$.postEvent = Clazz.defineMethod (c$, "postEvent", \r
105 function (appContext, event) {\r
106 if (event == null) {\r
107 throw  new NullPointerException ();\r
108 }var postEventQueue = appContext.get ("PostEventQueue");\r
109 if (postEventQueue != null) {\r
110 postEventQueue.postEvent (event);\r
111 }}, "jssun.awt.AppContext,java.awt.AWTEvent");\r
112 c$.postPriorityEvent = Clazz.defineMethod (c$, "postPriorityEvent", \r
113 function (e) {\r
114 var pe =  new jssun.awt.PeerEvent (java.awt.Toolkit.getDefaultToolkit (), ((Clazz.isClassDefined ("jssun.awt.SunToolkit$1") ? 0 : jssun.awt.SunToolkit.$SunToolkit$1$ ()), Clazz.innerTypeInstance (jssun.awt.SunToolkit$1, this, Clazz.cloneFinals ("e", e))), 2);\r
115 jssun.awt.SunToolkit.postEvent (jssun.awt.SunToolkit.targetToAppContext (e.getSource ()), pe);\r
116 }, "java.awt.AWTEvent");\r
117 c$.flushPendingEvents = Clazz.defineMethod (c$, "flushPendingEvents", \r
118 function () {\r
119 var appContext = jssun.awt.AppContext.getAppContext ();\r
120 var postEventQueue = appContext.get ("PostEventQueue");\r
121 if (postEventQueue != null) {\r
122 postEventQueue.flush ();\r
123 }});\r
124 c$.isPostEventQueueEmpty = Clazz.defineMethod (c$, "isPostEventQueueEmpty", \r
125 function () {\r
126 var appContext = jssun.awt.AppContext.getAppContext ();\r
127 var postEventQueue = appContext.get ("PostEventQueue");\r
128 return (postEventQueue == null || postEventQueue.noEvents ());\r
129 });\r
130 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread", \r
131 function (target, runnable) {\r
132 jssun.awt.SunToolkit.executeOnEventHandlerThread ( new jssun.awt.PeerEvent (target, runnable, 1));\r
133 }, "~O,Runnable");\r
134 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread", \r
135 function (target, runnable, when) {\r
136 jssun.awt.SunToolkit.executeOnEventHandlerThread (((Clazz.isClassDefined ("jssun.awt.SunToolkit$2") ? 0 : jssun.awt.SunToolkit.$SunToolkit$2$ ()), Clazz.innerTypeInstance (jssun.awt.SunToolkit$2, this, Clazz.cloneFinals ("when", when), target, runnable, 1)));\r
137 }, "~O,Runnable,~N");\r
138 c$.executeOnEventHandlerThread = Clazz.defineMethod (c$, "executeOnEventHandlerThread", \r
139 function (peerEvent) {\r
140 jssun.awt.SunToolkit.postEvent (jssun.awt.SunToolkit.targetToAppContext (peerEvent.getSource ()), peerEvent);\r
141 }, "jssun.awt.PeerEvent");\r
142 c$.invokeLaterOnAppContext = Clazz.defineMethod (c$, "invokeLaterOnAppContext", \r
143 function (appContext, dispatcher) {\r
144 jssun.awt.SunToolkit.postEvent (appContext,  new jssun.awt.PeerEvent (java.awt.Toolkit.getDefaultToolkit (), dispatcher, 1));\r
145 }, "jssun.awt.AppContext,Runnable");\r
146 c$.isDispatchThreadForAppContext = Clazz.defineMethod (c$, "isDispatchThreadForAppContext", \r
147 function (target) {\r
148 var appContext = jssun.awt.SunToolkit.targetToAppContext (target);\r
149 var eq = appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY);\r
150 var next = jssun.awt.AWTAccessor.getEventQueueAccessor ().getNextQueue (eq);\r
151 while (next != null) {\r
152 eq = next;\r
153 next = jssun.awt.AWTAccessor.getEventQueueAccessor ().getNextQueue (eq);\r
154 }\r
155 return (Thread.currentThread () === jssun.awt.AWTAccessor.getEventQueueAccessor ().getDispatchThread (eq));\r
156 }, "~O");\r
157 Clazz.overrideMethod (c$, "getScreenSize", \r
158 function () {\r
159 return  new java.awt.Dimension (this.getScreenWidth (), this.getScreenHeight ());\r
160 });\r
161 Clazz.overrideMethod (c$, "getFontMetrics", \r
162 function (font) {\r
163 return jssun.font.FontDesignMetrics.getMetrics (font);\r
164 }, "java.awt.Font");\r
165 Clazz.overrideMethod (c$, "getFontList", \r
166 function () {\r
167 var hardwiredFontList =  Clazz.newArray (-1, ["Dialog", "SansSerif", "Serif", "Monospaced", "DialogInput"]);\r
168 return hardwiredFontList;\r
169 });\r
170 Clazz.overrideMethod (c$, "createPanel", \r
171 function (target) {\r
172 return this.createComponent (target);\r
173 }, "java.awt.Panel");\r
174 Clazz.defineMethod (c$, "disableBackgroundErase", \r
175 function (component) {\r
176 this.disableBackgroundEraseImpl (component);\r
177 }, "java.awt.Component");\r
178 Clazz.defineMethod (c$, "disableBackgroundEraseImpl", \r
179  function (component) {\r
180 jssun.awt.AWTAccessor.getComponentAccessor ().setBackgroundEraseDisabled (component, true);\r
181 }, "java.awt.Component");\r
182 c$.getSunAwtNoerasebackground = Clazz.defineMethod (c$, "getSunAwtNoerasebackground", \r
183 function () {\r
184 return false;\r
185 });\r
186 c$.getSunAwtErasebackgroundonresize = Clazz.defineMethod (c$, "getSunAwtErasebackgroundonresize", \r
187 function () {\r
188 return true;\r
189 });\r
190 Clazz.defineMethod (c$, "setOverrideRedirect", \r
191 function (target) {\r
192 }, "java.awt.Window");\r
193 c$.getImageFromHash = Clazz.defineMethod (c$, "getImageFromHash", \r
194 function (tk, url) {\r
195 var img = jssun.awt.SunToolkit.imgCache.get (url);\r
196 if (img == null) {\r
197 try {\r
198 img = tk.createImage (url);\r
199 jssun.awt.SunToolkit.imgCache.put (url, img);\r
200 } catch (e) {\r
201 if (Clazz.exceptionOf (e, Exception)) {\r
202 } else {\r
203 throw e;\r
204 }\r
205 }\r
206 }return img;\r
207 }, "java.awt.Toolkit,java.net.URL");\r
208 c$.getImageFromHash = Clazz.defineMethod (c$, "getImageFromHash", \r
209 function (tk, filename) {\r
210 var img = jssun.awt.SunToolkit.imgCache.get (filename);\r
211 if (img == null) {\r
212 try {\r
213 tk.createImage (filename);\r
214 jssun.awt.SunToolkit.imgCache.put (filename, img);\r
215 } catch (e) {\r
216 if (Clazz.exceptionOf (e, Exception)) {\r
217 } else {\r
218 throw e;\r
219 }\r
220 }\r
221 }return img;\r
222 }, "java.awt.Toolkit,~S");\r
223 Clazz.defineMethod (c$, "getImage", \r
224 function (filename) {\r
225 return jssun.awt.SunToolkit.getImageFromHash (this, filename);\r
226 }, "~S");\r
227 Clazz.defineMethod (c$, "getImage", \r
228 function (url) {\r
229 return jssun.awt.SunToolkit.getImageFromHash (this, url);\r
230 }, "java.net.URL");\r
231 Clazz.overrideMethod (c$, "checkImage", \r
232 function (img, w, h, o) {\r
233 return 0;\r
234 }, "java.awt.Image,~N,~N,java.awt.image.ImageObserver");\r
235 Clazz.overrideMethod (c$, "prepareImage", \r
236 function (img, w, h, o) {\r
237 if (w == 0 || h == 0) {\r
238 return true;\r
239 }return true;\r
240 }, "java.awt.Image,~N,~N,java.awt.image.ImageObserver");\r
241 Clazz.overrideMethod (c$, "getSystemEventQueueImpl", \r
242 function () {\r
243 return jssun.awt.SunToolkit.getSystemEventQueueImplPP ();\r
244 });\r
245 c$.getSystemEventQueueImplPP = Clazz.defineMethod (c$, "getSystemEventQueueImplPP", \r
246 function () {\r
247 return jssun.awt.SunToolkit.getSystemEventQueueImplPP (jssun.awt.AppContext.getAppContext ());\r
248 });\r
249 c$.getSystemEventQueueImplPP = Clazz.defineMethod (c$, "getSystemEventQueueImplPP", \r
250 function (appContext) {\r
251 var theEventQueue = appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY);\r
252 return theEventQueue;\r
253 }, "jssun.awt.AppContext");\r
254 c$.getNativeContainer = Clazz.defineMethod (c$, "getNativeContainer", \r
255 function (c) {\r
256 return java.awt.Toolkit.getNativeContainer (c);\r
257 }, "java.awt.Component");\r
258 Clazz.defineMethod (c$, "enableInputMethodsForTextComponent", \r
259 function () {\r
260 return false;\r
261 });\r
262 c$.getStartupLocale = Clazz.defineMethod (c$, "getStartupLocale", \r
263 function () {\r
264 if (jssun.awt.SunToolkit.startupLocale == null) {\r
265 {\r
266 }}return jssun.awt.SunToolkit.startupLocale;\r
267 });\r
268 Clazz.defineMethod (c$, "getDefaultKeyboardLocale", \r
269 function () {\r
270 return jssun.awt.SunToolkit.getStartupLocale ();\r
271 });\r
272 c$.setDataTransfererClassName = Clazz.defineMethod (c$, "setDataTransfererClassName", \r
273 function (className) {\r
274 jssun.awt.SunToolkit.dataTransfererClassName = className;\r
275 }, "~S");\r
276 c$.getDataTransfererClassName = Clazz.defineMethod (c$, "getDataTransfererClassName", \r
277 function () {\r
278 if (jssun.awt.SunToolkit.dataTransfererClassName == null) {\r
279 java.awt.Toolkit.getDefaultToolkit ();\r
280 }return jssun.awt.SunToolkit.dataTransfererClassName;\r
281 });\r
282 Clazz.overrideMethod (c$, "getWindowClosingListener", \r
283 function () {\r
284 return this.windowClosingListener;\r
285 });\r
286 Clazz.overrideMethod (c$, "setWindowClosingListener", \r
287 function (wcl) {\r
288 this.windowClosingListener = wcl;\r
289 }, "jssun.awt.WindowClosingListener");\r
290 Clazz.defineMethod (c$, "windowClosingNotify", \r
291 function (event) {\r
292 if (this.windowClosingListener != null) {\r
293 return this.windowClosingListener.windowClosingNotify (event);\r
294 } else {\r
295 return null;\r
296 }}, "java.awt.event.WindowEvent");\r
297 Clazz.defineMethod (c$, "windowClosingDelivered", \r
298 function (event) {\r
299 if (this.windowClosingListener != null) {\r
300 return this.windowClosingListener.windowClosingDelivered (event);\r
301 } else {\r
302 return null;\r
303 }}, "java.awt.event.WindowEvent");\r
304 c$.isModalExcluded = Clazz.defineMethod (c$, "isModalExcluded", \r
305 function (window) {\r
306 return true;\r
307 }, "java.awt.Window");\r
308 c$.isLightweightOrUnknown = Clazz.defineMethod (c$, "isLightweightOrUnknown", \r
309 function (comp) {\r
310 if (comp.isLightweight () || !(Clazz.instanceOf (java.awt.Toolkit.getDefaultToolkit (), jssun.awt.SunToolkit))) {\r
311 return true;\r
312 }return !(Clazz.instanceOf (comp, java.awt.Panel) || Clazz.instanceOf (comp, java.awt.Window));\r
313 }, "java.awt.Component");\r
314 Clazz.defineMethod (c$, "getDesktopAAHints", \r
315 function () {\r
316 return null;\r
317 });\r
318 c$.getContainingWindow = Clazz.defineMethod (c$, "getContainingWindow", \r
319 function (comp) {\r
320 while (comp != null && !(Clazz.instanceOf (comp, java.awt.Window))) {\r
321 comp = comp.getParent ();\r
322 }\r
323 return comp;\r
324 }, "java.awt.Component");\r
325 Clazz.defineMethod (c$, "isNativeGTKAvailable", \r
326 function () {\r
327 return false;\r
328 });\r
329 Clazz.defineMethod (c$, "isWindowOpacitySupported", \r
330 function () {\r
331 return false;\r
332 });\r
333 Clazz.defineMethod (c$, "isWindowShapingSupported", \r
334 function () {\r
335 return false;\r
336 });\r
337 Clazz.defineMethod (c$, "isWindowTranslucencySupported", \r
338 function () {\r
339 return false;\r
340 });\r
341 Clazz.defineMethod (c$, "isTranslucencyCapable", \r
342 function (gc) {\r
343 return false;\r
344 }, "java.awt.GraphicsConfiguration");\r
345 Clazz.defineMethod (c$, "needUpdateWindow", \r
346 function () {\r
347 return false;\r
348 });\r
349 c$.$SunToolkit$1$ = function () {\r
350 Clazz.pu$h(self.c$);\r
351 c$ = Clazz.declareAnonymous (jssun.awt, "SunToolkit$1", null, Runnable);\r
352 Clazz.overrideMethod (c$, "run", \r
353 function () {\r
354 jssun.awt.AWTAccessor.getAWTEventAccessor ().setPosted (this.f$.e);\r
355 (this.f$.e.getSource ()).dispatchEvent (this.f$.e);\r
356 });\r
357 c$ = Clazz.p0p ();\r
358 };\r
359 c$.$SunToolkit$2$ = function () {\r
360 Clazz.pu$h(self.c$);\r
361 c$ = Clazz.declareAnonymous (jssun.awt, "SunToolkit$2", jssun.awt.PeerEvent);\r
362 Clazz.overrideMethod (c$, "getWhen", \r
363 function () {\r
364 return this.f$.when;\r
365 });\r
366 c$ = Clazz.p0p ();\r
367 };\r
368 Clazz.defineStatics (c$,\r
369 "GRAB_EVENT_MASK", 0x80000000,\r
370 "POST_EVENT_QUEUE_KEY", "PostEventQueue");\r
371 c$.appContextMap = c$.prototype.appContextMap =  new java.util.HashMap ();\r
372 c$.imgCache = c$.prototype.imgCache =  new java.util.HashMap ();\r
373 Clazz.defineStatics (c$,\r
374 "startupLocale", null,\r
375 "dataTransfererClassName", null,\r
376 "DESKTOPFONTHINTS", "awt.font.desktophints");\r
377 });\r