d226fb4055e2e19e475ec514a285d16416168ba0
[jalviewjs.git] / site / swingjs / j2s / javax / swing / JEditorPane.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["java.io.FilterInputStream", "java.lang.Thread", "javax.swing.text.CompositeView", "$.DefaultEditorKit", "$.JTextComponent", "$.ParagraphView", "$.ViewFactory", "java.lang.Error", "java.util.HashMap", "javax.swing.JTextArea"], "javax.swing.JEditorPane", ["java.io.BufferedInputStream", "$.DataOutputStream", "$.IOException", "$.InputStreamReader", "$.StringReader", "java.lang.Boolean", "$.RuntimeException", "java.net.HttpURLConnection", "$.URL", "java.util.Hashtable", "java.awt.Dimension", "$.Rectangle", "javax.swing.JViewport", "$.SwingUtilities", "$.UIManager", "javax.swing.event.HyperlinkListener", "javax.swing.text.BoxView", "$.JSMinimalAbstractDocument", "$.WrappedPlainView", "swingjs.api.Interface"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 if (!Clazz.isClassDefined ("javax.swing.JEditorPane.PageLoader")) {\r
5 javax.swing.JEditorPane.$JEditorPane$PageLoader$ ();\r
6 }\r
7 this.loading = null;\r
8 this.kit = null;\r
9 this.isUserSetEditorKit = false;\r
10 this.pageProperties = null;\r
11 this.typeHandlers = null;\r
12 Clazz.instantialize (this, arguments);\r
13 }, javax.swing, "JEditorPane", javax.swing.text.JTextComponent);\r
14 Clazz.makeConstructor (c$, \r
15 function (initialPage) {\r
16 this.construct ();\r
17 this.setPage (initialPage);\r
18 }, "java.net.URL");\r
19 Clazz.makeConstructor (c$, \r
20 function (url) {\r
21 this.construct ();\r
22 this.setPage (url);\r
23 }, "~S");\r
24 Clazz.makeConstructor (c$, \r
25 function (type, text) {\r
26 this.construct ();\r
27 this.setContentType (type);\r
28 this.setText (text);\r
29 }, "~S,~S");\r
30 Clazz.defineMethod (c$, "addHyperlinkListener", \r
31 function (listener) {\r
32 this.listenerList.add (javax.swing.event.HyperlinkListener, listener);\r
33 }, "javax.swing.event.HyperlinkListener");\r
34 Clazz.defineMethod (c$, "removeHyperlinkListener", \r
35 function (listener) {\r
36 this.listenerList.remove (javax.swing.event.HyperlinkListener, listener);\r
37 }, "javax.swing.event.HyperlinkListener");\r
38 Clazz.defineMethod (c$, "getHyperlinkListeners", \r
39 function () {\r
40 return this.listenerList.getListeners (javax.swing.event.HyperlinkListener);\r
41 });\r
42 Clazz.defineMethod (c$, "fireHyperlinkUpdate", \r
43 function (e) {\r
44 var listeners = this.listenerList.getListenerList ();\r
45 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
46 if (listeners[i] === javax.swing.event.HyperlinkListener) {\r
47 (listeners[i + 1]).hyperlinkUpdate (e);\r
48 }}\r
49 }, "javax.swing.event.HyperlinkEvent");\r
50 Clazz.defineMethod (c$, "setPage", \r
51 function (page) {\r
52 if (page == null) {\r
53 throw  new java.io.IOException ("invalid url");\r
54 }var loaded = this.getPage ();\r
55 if (!page.equals (loaded) && page.getRef () == null) {\r
56 this.scrollRectToVisible ( new java.awt.Rectangle (0, 0, 1, 1));\r
57 }var reloaded = false;\r
58 var postData = this.getPostData ();\r
59 if ((loaded == null) || !loaded.sameFile (page) || (postData != null)) {\r
60 var p = this.getAsynchronousLoadPriority (this.getDocument ());\r
61 if ((postData == null) || (p < 0)) {\r
62 var $in = this.getStream (page);\r
63 if (this.kit != null) {\r
64 var doc = this.initializeModel (this.kit, page);\r
65 {\r
66 if (this.loading != null) {\r
67 this.loading.cancel ();\r
68 this.loading = null;\r
69 }}p = this.getAsynchronousLoadPriority (doc);\r
70 if (p >= 0) {\r
71 this.setDocument (doc);\r
72 {\r
73 this.loading =  new javax.swing.JEditorPane.PageStream ($in);\r
74 var pl = Clazz.innerTypeInstance (javax.swing.JEditorPane.PageLoader, this, null, doc, this.loading, p, loaded, page);\r
75 pl.start ();\r
76 }return;\r
77 }this.read ($in, doc);\r
78 this.setDocument (doc);\r
79 reloaded = true;\r
80 }} else {\r
81 var pl = Clazz.innerTypeInstance (javax.swing.JEditorPane.PageLoader, this, null, null, null, p, loaded, page);\r
82 pl.start ();\r
83 return;\r
84 }}var reference = page.getRef ();\r
85 if (reference != null) {\r
86 if (!reloaded) {\r
87 this.scrollToReference (reference);\r
88 } else {\r
89 javax.swing.SwingUtilities.invokeLater (((Clazz.isClassDefined ("javax.swing.JEditorPane$1") ? 0 : javax.swing.JEditorPane.$JEditorPane$1$ ()), Clazz.innerTypeInstance (javax.swing.JEditorPane$1, this, Clazz.cloneFinals ("reference", reference))));\r
90 }this.getDocument ().putProperty ("stream", page);\r
91 }this.firePropertyChangeObject ("page", loaded, page);\r
92 }, "java.net.URL");\r
93 Clazz.defineMethod (c$, "initializeModel", \r
94  function (kit, page) {\r
95 var doc = kit.createDefaultDocument ();\r
96 if (this.pageProperties != null) {\r
97 for (var e = this.pageProperties.keys (); e.hasMoreElements (); ) {\r
98 var key = e.nextElement ();\r
99 doc.putProperty (key, this.pageProperties.get (key));\r
100 }\r
101 this.pageProperties.clear ();\r
102 }if (doc.getProperty ("stream") == null) {\r
103 doc.putProperty ("stream", page);\r
104 }return doc;\r
105 }, "javax.swing.text.EditorKit,java.net.URL");\r
106 Clazz.defineMethod (c$, "getAsynchronousLoadPriority", \r
107  function (doc) {\r
108 return (Clazz.instanceOf (doc, javax.swing.text.JSMinimalAbstractDocument) ? (doc).getAsynchronousLoadPriority () : -1);\r
109 }, "javax.swing.text.Document");\r
110 Clazz.defineMethod (c$, "read", \r
111 function ($in, desc) {\r
112 var charset = this.getClientProperty ("charset");\r
113 var r = (charset != null) ?  new java.io.InputStreamReader ($in, charset) :  new java.io.InputStreamReader ($in);\r
114 Clazz.superCall (this, javax.swing.JEditorPane, "read", [r, desc]);\r
115 }, "java.io.InputStream,~O");\r
116 Clazz.defineMethod (c$, "read", \r
117 function ($in, doc) {\r
118 if (!Boolean.TRUE.equals (doc.getProperty ("IgnoreCharsetDirective"))) {\r
119 var READ_LIMIT = 10240;\r
120 $in =  new java.io.BufferedInputStream ($in, 10240);\r
121 $in.mark (10240);\r
122 }try {\r
123 var charset = this.getClientProperty ("charset");\r
124 var r = (charset != null) ?  new java.io.InputStreamReader ($in, charset) :  new java.io.InputStreamReader ($in);\r
125 this.kit.read (r, doc, 0);\r
126 } catch (e$$) {\r
127 if (Clazz.exceptionOf (e$$, javax.swing.text.BadLocationException)) {\r
128 var e = e$$;\r
129 {\r
130 throw  new java.io.IOException (e.getMessage ());\r
131 }\r
132 } else if (Clazz.exceptionOf (e$$, javax.swing.text.ChangedCharSetException)) {\r
133 var changedCharSetException = e$$;\r
134 {\r
135 var charSetSpec = changedCharSetException.getCharSetSpec ();\r
136 if (changedCharSetException.keyEqualsCharSet ()) {\r
137 this.putClientProperty ("charset", charSetSpec);\r
138 } else {\r
139 this.setCharsetFromContentTypeParameters (charSetSpec);\r
140 }try {\r
141 $in.reset ();\r
142 } catch (exception) {\r
143 if (Clazz.exceptionOf (exception, java.io.IOException)) {\r
144 $in.close ();\r
145 var url = doc.getProperty ("stream");\r
146 if (url != null) {\r
147 var conn = url.openConnection ();\r
148 $in = conn.getInputStream ();\r
149 } else {\r
150 throw changedCharSetException;\r
151 }} else {\r
152 throw exception;\r
153 }\r
154 }\r
155 try {\r
156 doc.remove (0, doc.getLength ());\r
157 } catch (e) {\r
158 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
159 } else {\r
160 throw e;\r
161 }\r
162 }\r
163 doc.putProperty ("IgnoreCharsetDirective", Boolean.$valueOf (true));\r
164 this.read ($in, doc);\r
165 }\r
166 } else {\r
167 throw e$$;\r
168 }\r
169 }\r
170 }, "java.io.InputStream,javax.swing.text.Document");\r
171 Clazz.defineMethod (c$, "getStream", \r
172 function (page) {\r
173 var conn = page.openConnection ();\r
174 if (Clazz.instanceOf (conn, java.net.HttpURLConnection)) {\r
175 var hconn = conn;\r
176 hconn.setInstanceFollowRedirects (false);\r
177 var postData = this.getPostData ();\r
178 if (postData != null) {\r
179 this.handlePostData (hconn, postData);\r
180 }var response = hconn.getResponseCode ();\r
181 var redirect = (response >= 300 && response <= 399);\r
182 if (redirect) {\r
183 var loc = conn.getHeaderField ("Location");\r
184 if (loc.startsWith ("http", 0)) {\r
185 page =  new java.net.URL (loc);\r
186 } else {\r
187 page =  new java.net.URL (page, loc);\r
188 }return this.getStream (page);\r
189 }}if (javax.swing.SwingUtilities.isEventDispatchThread ()) {\r
190 this.handleConnectionProperties (conn);\r
191 } else {\r
192 try {\r
193 javax.swing.SwingUtilities.invokeAndWait (((Clazz.isClassDefined ("javax.swing.JEditorPane$2") ? 0 : javax.swing.JEditorPane.$JEditorPane$2$ ()), Clazz.innerTypeInstance (javax.swing.JEditorPane$2, this, Clazz.cloneFinals ("conn", conn))));\r
194 } catch (e$$) {\r
195 if (Clazz.exceptionOf (e$$, InterruptedException)) {\r
196 var e = e$$;\r
197 {\r
198 throw  new RuntimeException (e);\r
199 }\r
200 } else if (Clazz.exceptionOf (e$$, java.lang.reflect.InvocationTargetException)) {\r
201 var e = e$$;\r
202 {\r
203 throw  new RuntimeException (e);\r
204 }\r
205 } else {\r
206 throw e$$;\r
207 }\r
208 }\r
209 }return conn.getInputStream ();\r
210 }, "java.net.URL");\r
211 Clazz.defineMethod (c$, "handleConnectionProperties", \r
212  function (conn) {\r
213 if (this.pageProperties == null) {\r
214 this.pageProperties =  new java.util.Hashtable ();\r
215 }var type = conn.getContentType ();\r
216 if (type != null) {\r
217 this.setContentType (type);\r
218 this.pageProperties.put ("content-type", type);\r
219 }this.pageProperties.put ("stream", conn.getURL ());\r
220 var enc = conn.getContentEncoding ();\r
221 if (enc != null) {\r
222 this.pageProperties.put ("content-encoding", enc);\r
223 }}, "java.net.URLConnection");\r
224 Clazz.defineMethod (c$, "getPostData", \r
225  function () {\r
226 return this.getDocument ().getProperty ("javax.swing.JEditorPane.postdata");\r
227 });\r
228 Clazz.defineMethod (c$, "handlePostData", \r
229  function (conn, postData) {\r
230 conn.setDoOutput (true);\r
231 var os = null;\r
232 try {\r
233 conn.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");\r
234 os =  new java.io.DataOutputStream (conn.getOutputStream ());\r
235 os.writeBytes (postData);\r
236 } finally {\r
237 if (os != null) {\r
238 os.close ();\r
239 }}\r
240 }, "java.net.HttpURLConnection,~O");\r
241 Clazz.defineMethod (c$, "scrollToReference", \r
242 function (reference) {\r
243 }, "~S");\r
244 Clazz.defineMethod (c$, "getPage", \r
245 function () {\r
246 return this.getDocument ().getProperty ("stream");\r
247 });\r
248 Clazz.defineMethod (c$, "setPage", \r
249 function (url) {\r
250 if (url == null) {\r
251 throw  new java.io.IOException ("invalid url");\r
252 }var page =  new java.net.URL (url);\r
253 this.setPage (page);\r
254 }, "~S");\r
255 Clazz.overrideMethod (c$, "getUIClassID", \r
256 function () {\r
257 return "EditorPaneUI";\r
258 });\r
259 Clazz.defineMethod (c$, "createDefaultEditorKit", \r
260 function () {\r
261 return  new javax.swing.JEditorPane.PlainEditorKit ();\r
262 });\r
263 Clazz.defineMethod (c$, "getEditorKit", \r
264 function () {\r
265 if (this.kit == null) {\r
266 this.kit = this.createDefaultEditorKit ();\r
267 this.isUserSetEditorKit = false;\r
268 }return this.kit;\r
269 });\r
270 Clazz.defineMethod (c$, "getContentType", \r
271 function () {\r
272 return (this.kit != null) ? this.kit.getContentType () : null;\r
273 });\r
274 Clazz.defineMethod (c$, "setContentType", \r
275 function (type) {\r
276 var parm = type.indexOf (";");\r
277 if (parm > -1) {\r
278 var paramList = type.substring (parm);\r
279 type = type.substring (0, parm).trim ();\r
280 if (type.toLowerCase ().startsWith ("text/")) {\r
281 this.setCharsetFromContentTypeParameters (paramList);\r
282 }}if ((this.kit == null) || (!type.equals (this.kit.getContentType ())) || !this.isUserSetEditorKit) {\r
283 var k = this.getEditorKitForContentType (type);\r
284 if (k != null && k !== this.kit) {\r
285 this.setEditorKit (k);\r
286 this.isUserSetEditorKit = false;\r
287 }}}, "~S");\r
288 Clazz.defineMethod (c$, "setCharsetFromContentTypeParameters", \r
289  function (paramlist) {\r
290 var charset = null;\r
291 try {\r
292 var semi = paramlist.indexOf (';');\r
293 if (semi > -1 && semi < paramlist.length - 1) {\r
294 paramlist = paramlist.substring (semi + 1);\r
295 }if (paramlist.length > 0) {\r
296 var hdrParser =  new javax.swing.JEditorPane.HeaderParser (paramlist);\r
297 charset = hdrParser.findValue ("charset");\r
298 if (charset != null) {\r
299 this.putClientProperty ("charset", charset);\r
300 }}} catch (e$$) {\r
301 if (Clazz.exceptionOf (e$$, IndexOutOfBoundsException)) {\r
302 var e = e$$;\r
303 {\r
304 }\r
305 } else if (Clazz.exceptionOf (e$$, NullPointerException)) {\r
306 var e = e$$;\r
307 {\r
308 }\r
309 } else if (Clazz.exceptionOf (e$$, Exception)) {\r
310 var e = e$$;\r
311 {\r
312 System.err.println ("JEditorPane.getCharsetFromContentTypeParameters failed on: " + paramlist);\r
313 e.printStackTrace ();\r
314 }\r
315 } else {\r
316 throw e$$;\r
317 }\r
318 }\r
319 }, "~S");\r
320 Clazz.defineMethod (c$, "setEditorKit", \r
321 function (kit) {\r
322 var old = this.kit;\r
323 this.isUserSetEditorKit = true;\r
324 if (old != null) {\r
325 old.deinstall (this);\r
326 }this.kit = kit;\r
327 if (this.kit != null) {\r
328 this.kit.install (this);\r
329 this.setDocument (this.kit.createDefaultDocument ());\r
330 }this.firePropertyChangeObject ("editorKit", old, kit);\r
331 }, "javax.swing.text.EditorKit");\r
332 Clazz.defineMethod (c$, "getEditorKitForContentType", \r
333 function (type) {\r
334 if (this.typeHandlers == null) {\r
335 this.typeHandlers =  new java.util.Hashtable (3);\r
336 }var k = this.typeHandlers.get (type);\r
337 if (k == null) {\r
338 k = javax.swing.JEditorPane.createEditorKitForContentType (type);\r
339 if (k != null) {\r
340 this.setEditorKitForContentType (type, k);\r
341 }}if (k == null) {\r
342 k = this.createDefaultEditorKit ();\r
343 }return k;\r
344 }, "~S");\r
345 Clazz.defineMethod (c$, "setEditorKitForContentType", \r
346 function (type, k) {\r
347 if (this.typeHandlers == null) {\r
348 this.typeHandlers =  new java.util.Hashtable (3);\r
349 }this.typeHandlers.put (type, k);\r
350 }, "~S,javax.swing.text.EditorKit");\r
351 Clazz.defineMethod (c$, "replaceSelection", \r
352 function (content) {\r
353 if (!this.isEditable ()) {\r
354 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this);\r
355 return;\r
356 }var kit = this.getEditorKit ();\r
357 if (Clazz.instanceOf (kit, javax.swing.text.StyledEditorKit)) {\r
358 try {\r
359 var doc = this.getDocument ();\r
360 var caret = this.getCaret ();\r
361 var p0 = Math.min (caret.getDot (), caret.getMark ());\r
362 var p1 = Math.max (caret.getDot (), caret.getMark ());\r
363 if (Clazz.instanceOf (doc, javax.swing.text.JSMinimalAbstractDocument)) {\r
364 (doc).replace (p0, p1 - p0, content, (kit).getInputAttributes ());\r
365 } else {\r
366 if (p0 != p1) {\r
367 doc.remove (p0, p1 - p0);\r
368 }if (content != null && content.length > 0) {\r
369 doc.insertString (p0, content, (kit).getInputAttributes ());\r
370 }}} catch (e) {\r
371 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
372 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this);\r
373 } else {\r
374 throw e;\r
375 }\r
376 }\r
377 } else {\r
378 Clazz.superCall (this, javax.swing.JEditorPane, "replaceSelection", [content]);\r
379 }}, "~S");\r
380 c$.createEditorKitForContentType = Clazz.defineMethod (c$, "createEditorKitForContentType", \r
381 function (type) {\r
382 var k = null;\r
383 var kitRegistry = javax.swing.JEditorPane.getKitRegisty ();\r
384 k = kitRegistry.get (type);\r
385 if (k == null) {\r
386 var classname = javax.swing.JEditorPane.getKitTypeRegistry ().get (type);\r
387 try {\r
388 k = swingjs.api.Interface.getInstance (classname, false);\r
389 kitRegistry.put (type, k);\r
390 } catch (e) {\r
391 k = null;\r
392 }\r
393 }if (k != null) {\r
394 return k.clone ();\r
395 }return null;\r
396 }, "~S");\r
397 c$.registerEditorKitForContentType = Clazz.defineMethod (c$, "registerEditorKitForContentType", \r
398 function (type, classname) {\r
399 javax.swing.JEditorPane.registerEditorKitForContentType (type, classname, null);\r
400 }, "~S,~S");\r
401 c$.registerEditorKitForContentType = Clazz.defineMethod (c$, "registerEditorKitForContentType", \r
402 function (type, classname, loader) {\r
403 javax.swing.JEditorPane.getKitTypeRegistry ().put (type, classname);\r
404 javax.swing.JEditorPane.getKitRegisty ().remove (type);\r
405 }, "~S,~S,ClassLoader");\r
406 c$.getEditorKitClassNameForContentType = Clazz.defineMethod (c$, "getEditorKitClassNameForContentType", \r
407 function (type) {\r
408 return javax.swing.JEditorPane.getKitTypeRegistry ().get (type);\r
409 }, "~S");\r
410 c$.getKitTypeRegistry = Clazz.defineMethod (c$, "getKitTypeRegistry", \r
411  function () {\r
412 javax.swing.JEditorPane.loadDefaultKitsIfNecessary ();\r
413 return javax.swing.SwingUtilities.appContextGet (javax.swing.JEditorPane.kitTypeRegistryKey);\r
414 });\r
415 c$.getKitRegisty = Clazz.defineMethod (c$, "getKitRegisty", \r
416  function () {\r
417 var ht = javax.swing.SwingUtilities.appContextGet (javax.swing.JEditorPane.kitRegistryKey);\r
418 if (ht == null) {\r
419 ht =  new java.util.Hashtable (3);\r
420 javax.swing.SwingUtilities.appContextPut (javax.swing.JEditorPane.kitRegistryKey, ht);\r
421 }return ht;\r
422 });\r
423 c$.loadDefaultKitsIfNecessary = Clazz.defineMethod (c$, "loadDefaultKitsIfNecessary", \r
424  function () {\r
425 if (javax.swing.SwingUtilities.appContextGet (javax.swing.JEditorPane.kitTypeRegistryKey) == null) {\r
426 {\r
427 if (javax.swing.JEditorPane.defaultEditorKitMap.size () == 0) {\r
428 javax.swing.JEditorPane.defaultEditorKitMap.put ("text/plain", "javax.swing.JEditorPane$PlainEditorKit");\r
429 javax.swing.JEditorPane.defaultEditorKitMap.put ("text/html", "javax.swing.text.html.HTMLEditorKit");\r
430 javax.swing.JEditorPane.defaultEditorKitMap.put ("text/rtf", "javax.swing.text.rtf.RTFEditorKit");\r
431 javax.swing.JEditorPane.defaultEditorKitMap.put ("application/rtf", "javax.swing.text.rtf.RTFEditorKit");\r
432 }}var ht =  new java.util.Hashtable ();\r
433 javax.swing.SwingUtilities.appContextPut (javax.swing.JEditorPane.kitTypeRegistryKey, ht);\r
434 ht =  new java.util.Hashtable ();\r
435 javax.swing.SwingUtilities.appContextPut (javax.swing.JEditorPane.kitLoaderRegistryKey, ht);\r
436 for (var key, $key = javax.swing.JEditorPane.defaultEditorKitMap.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {\r
437 javax.swing.JEditorPane.registerEditorKitForContentType (key, javax.swing.JEditorPane.defaultEditorKitMap.get (key));\r
438 }\r
439 }});\r
440 Clazz.overrideMethod (c$, "getPreferredSize", \r
441 function () {\r
442 var d = this.getPrefSizeJComp ();\r
443 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
444 var port = this.getParent ();\r
445 var ui = this.getUI ();\r
446 var prefWidth = d.width;\r
447 var prefHeight = d.height;\r
448 if (!this.getScrollableTracksViewportWidth ()) {\r
449 var w = port.getWidth ();\r
450 var min = ui.getMinimumSize (this);\r
451 if (w != 0 && w < min.width) {\r
452 prefWidth = min.width;\r
453 }}if (!this.getScrollableTracksViewportHeight ()) {\r
454 var h = port.getHeight ();\r
455 var min = ui.getMinimumSize (this);\r
456 if (h != 0 && h < min.height) {\r
457 prefHeight = min.height;\r
458 }}if (prefWidth != d.width || prefHeight != d.height) {\r
459 d =  new java.awt.Dimension (prefWidth, prefHeight);\r
460 }}return d;\r
461 });\r
462 Clazz.overrideMethod (c$, "setText", \r
463 function (t) {\r
464 try {\r
465 var doc = this.getDocument ();\r
466 doc.remove (0, doc.getLength ());\r
467 if (t == null || t.equals ("")) {\r
468 return;\r
469 }var r =  new java.io.StringReader (t);\r
470 var kit = this.getEditorKit ();\r
471 kit.read (r, doc, 0);\r
472 } catch (e$$) {\r
473 if (Clazz.exceptionOf (e$$, java.io.IOException)) {\r
474 var ioe = e$$;\r
475 {\r
476 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this);\r
477 }\r
478 } else if (Clazz.exceptionOf (e$$, javax.swing.text.BadLocationException)) {\r
479 var ble = e$$;\r
480 {\r
481 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this);\r
482 }\r
483 } else {\r
484 throw e$$;\r
485 }\r
486 }\r
487 }, "~S");\r
488 Clazz.defineMethod (c$, "getText", \r
489 function () {\r
490 var doc = this.getDocument ();\r
491 try {\r
492 return doc.getText (0, doc.getLength ());\r
493 } catch (e) {\r
494 if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
495 return null;\r
496 } else {\r
497 throw e;\r
498 }\r
499 }\r
500 });\r
501 Clazz.overrideMethod (c$, "getScrollableTracksViewportWidth", \r
502 function () {\r
503 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
504 var port = this.getParent ();\r
505 var ui = this.getUI ();\r
506 var w = port.getWidth ();\r
507 var min = ui.getMinimumSize (this);\r
508 var max = ui.getMaximumSize (this);\r
509 if ((w >= min.width) && (w <= max.width)) {\r
510 return true;\r
511 }}return false;\r
512 });\r
513 Clazz.overrideMethod (c$, "getScrollableTracksViewportHeight", \r
514 function () {\r
515 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
516 var port = this.getParent ();\r
517 var ui = this.getUI ();\r
518 var h = port.getHeight ();\r
519 var min = ui.getMinimumSize (this);\r
520 if (h >= min.height) {\r
521 var max = ui.getMaximumSize (this);\r
522 if (h <= max.height) {\r
523 return true;\r
524 }}}return false;\r
525 });\r
526 Clazz.defineMethod (c$, "paramString", \r
527 function () {\r
528 var kitString = (this.kit != null ? this.kit.toString () : "");\r
529 var typeHandlersString = (this.typeHandlers != null ? this.typeHandlers.toString () : "");\r
530 return Clazz.superCall (this, javax.swing.JEditorPane, "paramString", []) + ",kit=" + kitString + ",typeHandlers=" + typeHandlersString;\r
531 });\r
532 c$.$JEditorPane$PageLoader$ = function () {\r
533 Clazz.pu$h(self.c$);\r
534 c$ = Clazz.decorateAsClass (function () {\r
535 Clazz.prepareCallback (this, arguments);\r
536 this.pageLoaded = false;\r
537 this.$in = null;\r
538 this.old = null;\r
539 this.page = null;\r
540 this.doc = null;\r
541 Clazz.instantialize (this, arguments);\r
542 }, javax.swing.JEditorPane, "PageLoader", Thread);\r
543 Clazz.makeConstructor (c$, \r
544 function (a, b, c, d, e) {\r
545 Clazz.superConstructor (this, javax.swing.JEditorPane.PageLoader, []);\r
546 this.setPriority (c);\r
547 this.$in = b;\r
548 this.old = d;\r
549 this.page = e;\r
550 this.doc = a;\r
551 }, "javax.swing.text.Document,java.io.InputStream,~N,java.net.URL,java.net.URL");\r
552 Clazz.overrideMethod (c$, "run", \r
553 function () {\r
554 try {\r
555 if (this.$in == null) {\r
556 this.$in = this.b$["javax.swing.JEditorPane"].getStream (this.page);\r
557 if (this.b$["javax.swing.JEditorPane"].kit == null) {\r
558 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this.b$["javax.swing.JEditorPane"]);\r
559 return;\r
560 }{\r
561 this.$in = this.b$["javax.swing.JEditorPane"].loading =  new javax.swing.JEditorPane.PageStream (this.$in);\r
562 }}if (this.doc == null) {\r
563 try {\r
564 javax.swing.SwingUtilities.invokeAndWait (((Clazz.isClassDefined ("javax.swing.JEditorPane$PageLoader$2") ? 0 : javax.swing.JEditorPane.PageLoader.$JEditorPane$PageLoader$2$ ()), Clazz.innerTypeInstance (javax.swing.JEditorPane$PageLoader$2, this, null)));\r
565 } catch (e$$) {\r
566 if (Clazz.exceptionOf (e$$, java.lang.reflect.InvocationTargetException)) {\r
567 var ex = e$$;\r
568 {\r
569 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this.b$["javax.swing.JEditorPane"]);\r
570 return;\r
571 }\r
572 } else if (Clazz.exceptionOf (e$$, InterruptedException)) {\r
573 var ex = e$$;\r
574 {\r
575 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this.b$["javax.swing.JEditorPane"]);\r
576 return;\r
577 }\r
578 } else {\r
579 throw e$$;\r
580 }\r
581 }\r
582 }this.b$["javax.swing.JEditorPane"].read (this.$in, this.doc);\r
583 var a = this.doc.getProperty ("stream");\r
584 var b = a.getRef ();\r
585 if (b != null) {\r
586 var c = ((Clazz.isClassDefined ("javax.swing.JEditorPane$PageLoader$3") ? 0 : javax.swing.JEditorPane.PageLoader.$JEditorPane$PageLoader$3$ ()), Clazz.innerTypeInstance (javax.swing.JEditorPane$PageLoader$3, this, null));\r
587 javax.swing.SwingUtilities.invokeLater (c);\r
588 }this.pageLoaded = true;\r
589 } catch (ioe) {\r
590 if (Clazz.exceptionOf (ioe, java.io.IOException)) {\r
591 javax.swing.UIManager.getLookAndFeel ().provideErrorFeedback (this.b$["javax.swing.JEditorPane"]);\r
592 } else {\r
593 throw ioe;\r
594 }\r
595 } finally {\r
596 {\r
597 this.b$["javax.swing.JEditorPane"].loading = null;\r
598 }javax.swing.SwingUtilities.invokeLater (((Clazz.isClassDefined ("javax.swing.JEditorPane$PageLoader$1") ? 0 : javax.swing.JEditorPane.PageLoader.$JEditorPane$PageLoader$1$ ()), Clazz.innerTypeInstance (javax.swing.JEditorPane$PageLoader$1, this, null)));\r
599 }\r
600 });\r
601 c$.$JEditorPane$PageLoader$2$ = function () {\r
602 Clazz.pu$h(self.c$);\r
603 c$ = Clazz.declareAnonymous (javax.swing, "JEditorPane$PageLoader$2", null, Runnable);\r
604 Clazz.overrideMethod (c$, "run", \r
605 function () {\r
606 this.b$["javax.swing.JEditorPane.PageLoader"].doc = this.b$["javax.swing.JEditorPane"].initializeModel (this.b$["javax.swing.JEditorPane"].kit, this.b$["javax.swing.JEditorPane.PageLoader"].page);\r
607 this.b$["javax.swing.JEditorPane"].setDocument (this.b$["javax.swing.JEditorPane.PageLoader"].doc);\r
608 });\r
609 c$ = Clazz.p0p ();\r
610 };\r
611 c$.$JEditorPane$PageLoader$3$ = function () {\r
612 Clazz.pu$h(self.c$);\r
613 c$ = Clazz.declareAnonymous (javax.swing, "JEditorPane$PageLoader$3", null, Runnable);\r
614 Clazz.overrideMethod (c$, "run", \r
615 function () {\r
616 var a = this.b$["javax.swing.JEditorPane"].getDocument ().getProperty ("stream");\r
617 var b = a.getRef ();\r
618 this.b$["javax.swing.JEditorPane"].scrollToReference (b);\r
619 });\r
620 c$ = Clazz.p0p ();\r
621 };\r
622 c$.$JEditorPane$PageLoader$1$ = function () {\r
623 Clazz.pu$h(self.c$);\r
624 c$ = Clazz.declareAnonymous (javax.swing, "JEditorPane$PageLoader$1", null, Runnable);\r
625 Clazz.overrideMethod (c$, "run", \r
626 function () {\r
627 if (this.b$["javax.swing.JEditorPane.PageLoader"].pageLoaded) {\r
628 this.b$["javax.swing.JEditorPane"].firePropertyChangeObject ("page", this.b$["javax.swing.JEditorPane.PageLoader"].old, this.b$["javax.swing.JEditorPane.PageLoader"].page);\r
629 }});\r
630 c$ = Clazz.p0p ();\r
631 };\r
632 c$ = Clazz.p0p ();\r
633 };\r
634 c$.$JEditorPane$1$ = function () {\r
635 Clazz.pu$h(self.c$);\r
636 c$ = Clazz.declareAnonymous (javax.swing, "JEditorPane$1", null, Runnable);\r
637 Clazz.overrideMethod (c$, "run", \r
638 function () {\r
639 this.b$["javax.swing.JEditorPane"].scrollToReference (this.f$.reference);\r
640 });\r
641 c$ = Clazz.p0p ();\r
642 };\r
643 c$.$JEditorPane$2$ = function () {\r
644 Clazz.pu$h(self.c$);\r
645 c$ = Clazz.declareAnonymous (javax.swing, "JEditorPane$2", null, Runnable);\r
646 Clazz.overrideMethod (c$, "run", \r
647 function () {\r
648 this.b$["javax.swing.JEditorPane"].handleConnectionProperties (this.f$.conn);\r
649 });\r
650 c$ = Clazz.p0p ();\r
651 };\r
652 Clazz.pu$h(self.c$);\r
653 c$ = Clazz.decorateAsClass (function () {\r
654 this.canceled = false;\r
655 Clazz.instantialize (this, arguments);\r
656 }, javax.swing.JEditorPane, "PageStream", java.io.FilterInputStream);\r
657 Clazz.makeConstructor (c$, \r
658 function (a) {\r
659 Clazz.superConstructor (this, javax.swing.JEditorPane.PageStream, [a]);\r
660 this.canceled = false;\r
661 }, "java.io.InputStream");\r
662 Clazz.defineMethod (c$, "cancel", \r
663 function () {\r
664 this.canceled = true;\r
665 });\r
666 Clazz.defineMethod (c$, "checkCanceled", \r
667 function () {\r
668 if (this.canceled) {\r
669 throw  new java.io.IOException ("page canceled");\r
670 }});\r
671 Clazz.defineMethod (c$, "read", \r
672 function () {\r
673 this.checkCanceled ();\r
674 return Clazz.superCall (this, javax.swing.JEditorPane.PageStream, "read", []);\r
675 });\r
676 Clazz.defineMethod (c$, "skip", \r
677 function (a) {\r
678 this.checkCanceled ();\r
679 return Clazz.superCall (this, javax.swing.JEditorPane.PageStream, "skip", [a]);\r
680 }, "~N");\r
681 Clazz.defineMethod (c$, "available", \r
682 function () {\r
683 this.checkCanceled ();\r
684 return Clazz.superCall (this, javax.swing.JEditorPane.PageStream, "available", []);\r
685 });\r
686 Clazz.defineMethod (c$, "reset", \r
687 function () {\r
688 this.checkCanceled ();\r
689 Clazz.superCall (this, javax.swing.JEditorPane.PageStream, "reset", []);\r
690 });\r
691 c$ = Clazz.p0p ();\r
692 Clazz.pu$h(self.c$);\r
693 c$ = Clazz.declareType (javax.swing.JEditorPane, "PlainEditorKit", javax.swing.text.DefaultEditorKit, javax.swing.text.ViewFactory);\r
694 Clazz.overrideMethod (c$, "getViewFactory", \r
695 function () {\r
696 return this;\r
697 });\r
698 Clazz.overrideMethod (c$, "create", \r
699 function (a) {\r
700 return  new javax.swing.text.WrappedPlainView (a);\r
701 }, "javax.swing.text.Element");\r
702 Clazz.defineMethod (c$, "createI18N", \r
703 function (a) {\r
704 var b = a.getName ();\r
705 if (b != null) {\r
706 if (b.equals ("content")) {\r
707 return  new javax.swing.JEditorPane.PlainEditorKit.PlainParagraph (a);\r
708 } else if (b.equals ("paragraph")) {\r
709 return  new javax.swing.text.BoxView (a, 1);\r
710 }}return null;\r
711 }, "javax.swing.text.Element");\r
712 Clazz.pu$h(self.c$);\r
713 c$ = Clazz.declareType (javax.swing.JEditorPane.PlainEditorKit, "PlainParagraph", javax.swing.text.ParagraphView);\r
714 Clazz.makeConstructor (c$, \r
715 function (a) {\r
716 Clazz.superConstructor (this, javax.swing.JEditorPane.PlainEditorKit.PlainParagraph, [a]);\r
717 this.layoutPool =  new javax.swing.JEditorPane.PlainEditorKit.PlainParagraph.LogicalView (a);\r
718 this.layoutPool.setParent (this);\r
719 }, "javax.swing.text.Element");\r
720 Clazz.overrideMethod (c$, "setPropertiesFromAttributes", \r
721 function () {\r
722 var a = this.getContainer ();\r
723 if ((a != null) && (!a.getComponentOrientation ().isLeftToRight ())) {\r
724 this.setJustification (2);\r
725 } else {\r
726 this.setJustification (0);\r
727 }});\r
728 Clazz.defineMethod (c$, "getFlowSpan", \r
729 function (a) {\r
730 var b = this.getContainer ();\r
731 if (Clazz.instanceOf (b, javax.swing.JTextArea)) {\r
732 var c = b;\r
733 if (!c.getLineWrap ()) {\r
734 return 2147483647;\r
735 }}return Clazz.superCall (this, javax.swing.JEditorPane.PlainEditorKit.PlainParagraph, "getFlowSpan", [a]);\r
736 }, "~N");\r
737 Clazz.defineMethod (c$, "calculateMinorAxisRequirements", \r
738 function (a, b) {\r
739 var c = Clazz.superCall (this, javax.swing.JEditorPane.PlainEditorKit.PlainParagraph, "calculateMinorAxisRequirements", [a, b]);\r
740 var d = this.getContainer ();\r
741 if (Clazz.instanceOf (d, javax.swing.JTextArea)) {\r
742 var e = d;\r
743 if (!e.getLineWrap ()) {\r
744 c.minimum = c.preferred;\r
745 }}return c;\r
746 }, "~N,javax.swing.SizeRequirements");\r
747 Clazz.pu$h(self.c$);\r
748 c$ = Clazz.declareType (javax.swing.JEditorPane.PlainEditorKit.PlainParagraph, "LogicalView", javax.swing.text.CompositeView);\r
749 Clazz.overrideMethod (c$, "getViewIndexAtPosition", \r
750 function (a) {\r
751 var b = this.getElement ();\r
752 if (b.getElementCount () > 0) {\r
753 return b.getElementIndex (a);\r
754 }return 0;\r
755 }, "~N");\r
756 Clazz.overrideMethod (c$, "updateChildren", \r
757 function (a, b, c) {\r
758 return false;\r
759 }, "javax.swing.event.DocumentEvent.ElementChange,javax.swing.event.DocumentEvent,javax.swing.text.ViewFactory");\r
760 Clazz.overrideMethod (c$, "loadChildren", \r
761 function (a) {\r
762 }, "javax.swing.text.ViewFactory");\r
763 Clazz.defineMethod (c$, "getPreferredSpan", \r
764 function (a) {\r
765 if (this.getViewCount () != 1) throw  new Error ("One child view is assumed.");\r
766 var b = this.getView (0);\r
767 return b.getPreferredSpan (a);\r
768 }, "~N");\r
769 Clazz.defineMethod (c$, "forwardUpdateToView", \r
770 function (a, b, c, d) {\r
771 a.setParent (this);\r
772 Clazz.superCall (this, javax.swing.JEditorPane.PlainEditorKit.PlainParagraph.LogicalView, "forwardUpdateToView", [a, b, c, d]);\r
773 }, "javax.swing.text.View,javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");\r
774 Clazz.overrideMethod (c$, "paint", \r
775 function (a, b) {\r
776 }, "java.awt.Graphics,java.awt.Shape");\r
777 Clazz.overrideMethod (c$, "isBefore", \r
778 function (a, b, c) {\r
779 return false;\r
780 }, "~N,~N,java.awt.Rectangle");\r
781 Clazz.overrideMethod (c$, "isAfter", \r
782 function (a, b, c) {\r
783 return false;\r
784 }, "~N,~N,java.awt.Rectangle");\r
785 Clazz.overrideMethod (c$, "getViewAtPoint", \r
786 function (a, b, c) {\r
787 return null;\r
788 }, "~N,~N,java.awt.Rectangle");\r
789 Clazz.overrideMethod (c$, "childAllocation", \r
790 function (a, b) {\r
791 }, "~N,java.awt.Rectangle");\r
792 c$ = Clazz.p0p ();\r
793 c$ = Clazz.p0p ();\r
794 c$ = Clazz.p0p ();\r
795 Clazz.pu$h(self.c$);\r
796 c$ = Clazz.decorateAsClass (function () {\r
797 this.raw = null;\r
798 this.tab = null;\r
799 Clazz.instantialize (this, arguments);\r
800 }, javax.swing.JEditorPane, "HeaderParser");\r
801 Clazz.makeConstructor (c$, \r
802 function (a) {\r
803 this.raw = a;\r
804 this.tab =  Clazz.newArray (10, 2, null);\r
805 this.parse ();\r
806 }, "~S");\r
807 Clazz.defineMethod (c$, "parse", \r
808  function () {\r
809 if (this.raw != null) {\r
810 this.raw = this.raw.trim ();\r
811 var a = this.raw.toCharArray ();\r
812 var b = 0;\r
813 var c = 0;\r
814 var d = 0;\r
815 var e = true;\r
816 var f = false;\r
817 var g = a.length;\r
818 while (c < g) {\r
819 var h = a[c];\r
820 if (h == '=') {\r
821 this.tab[d][0] =  String.instantialize (a, b, c - b).toLowerCase ();\r
822 e = false;\r
823 c++;\r
824 b = c;\r
825 } else if (h == '\"') {\r
826 if (f) {\r
827 this.tab[d++][1] =  String.instantialize (a, b, c - b);\r
828 f = false;\r
829 do {\r
830 c++;\r
831 } while (c < g && (a[c] == ' ' || a[c] == ','));\r
832 e = true;\r
833 b = c;\r
834 } else {\r
835 f = true;\r
836 c++;\r
837 b = c;\r
838 }} else if (h == ' ' || h == ',') {\r
839 if (f) {\r
840 c++;\r
841 continue;\r
842 } else if (e) {\r
843 this.tab[d++][0] = ( String.instantialize (a, b, c - b)).toLowerCase ();\r
844 } else {\r
845 this.tab[d++][1] = ( String.instantialize (a, b, c - b));\r
846 }while (c < g && (a[c] == ' ' || a[c] == ',')) {\r
847 c++;\r
848 }\r
849 e = true;\r
850 b = c;\r
851 } else {\r
852 c++;\r
853 }}\r
854 if (--c > b) {\r
855 if (!e) {\r
856 if (a[c] == '\"') {\r
857 this.tab[d++][1] = ( String.instantialize (a, b, c - b));\r
858 } else {\r
859 this.tab[d++][1] = ( String.instantialize (a, b, c - b + 1));\r
860 }} else {\r
861 this.tab[d][0] = ( String.instantialize (a, b, c - b + 1)).toLowerCase ();\r
862 }} else if (c == b) {\r
863 if (!e) {\r
864 if (a[c] == '\"') {\r
865 this.tab[d++][1] = String.valueOf (a[c - 1]);\r
866 } else {\r
867 this.tab[d++][1] = String.valueOf (a[c]);\r
868 }} else {\r
869 this.tab[d][0] = String.valueOf (a[c]).toLowerCase ();\r
870 }}}});\r
871 Clazz.defineMethod (c$, "findKey", \r
872 function (a) {\r
873 if (a < 0 || a > 10) return null;\r
874 return this.tab[a][0];\r
875 }, "~N");\r
876 Clazz.defineMethod (c$, "findValue", \r
877 function (a) {\r
878 if (a < 0 || a > 10) return null;\r
879 return this.tab[a][1];\r
880 }, "~N");\r
881 Clazz.defineMethod (c$, "findValue", \r
882 function (a) {\r
883 return this.findValue (a, null);\r
884 }, "~S");\r
885 Clazz.defineMethod (c$, "findValue", \r
886 function (a, b) {\r
887 if (a == null) return b;\r
888 a = a.toLowerCase ();\r
889 for (var c = 0; c < 10; ++c) {\r
890 if (this.tab[c][0] == null) {\r
891 return b;\r
892 } else if (a.equals (this.tab[c][0])) {\r
893 return this.tab[c][1];\r
894 }}\r
895 return b;\r
896 }, "~S,~S");\r
897 Clazz.defineMethod (c$, "findInt", \r
898 function (a, b) {\r
899 try {\r
900 return Integer.parseInt (this.findValue (a, String.valueOf (b)));\r
901 } catch (t) {\r
902 return b;\r
903 }\r
904 }, "~S,~N");\r
905 c$ = Clazz.p0p ();\r
906 Clazz.defineStatics (c$,\r
907 "PostDataProperty", "javax.swing.JEditorPane.postdata");\r
908 c$.kitRegistryKey = c$.prototype.kitRegistryKey =  new Clazz._O ();\r
909 c$.kitTypeRegistryKey = c$.prototype.kitTypeRegistryKey =  new Clazz._O ();\r
910 c$.kitLoaderRegistryKey = c$.prototype.kitLoaderRegistryKey =  new Clazz._O ();\r
911 Clazz.defineStatics (c$,\r
912 "$uiClassID", "EditorPaneUI",\r
913 "W3C_LENGTH_UNITS", "JEditorPane.w3cLengthUnits",\r
914 "HONOR_DISPLAY_PROPERTIES", "JEditorPane.honorDisplayProperties");\r
915 c$.defaultEditorKitMap = c$.prototype.defaultEditorKitMap =  new java.util.HashMap (0);\r
916 });\r