author | wenzelm |
Fri, 09 Aug 2013 11:18:36 +0200 | |
changeset 52931 | ac6648c0c0fb |
parent 49612 | e6a53d203362 |
permissions | -rw-r--r-- |
43282
5d294220ca43
moved sources -- eliminated Netbeans artifact of jedit package directory;
wenzelm
parents:
42976
diff
changeset
|
1 |
/* Title: Tools/jEdit/src/html_panel.scala |
36760 | 2 |
Author: Makarius |
3 |
||
4 |
HTML panel based on Lobo/Cobra. |
|
5 |
*/ |
|
34765 | 6 |
|
34871
e596a0b71f3c
incorporate "proofdocument" part into main Isabelle/Pure.jar -- except for html_panel.scala, which depends on external library (Lobo/Cobra browser);
wenzelm
parents:
34823
diff
changeset
|
7 |
package isabelle.jedit |
34765 | 8 |
|
9 |
||
36015 | 10 |
import isabelle._ |
11 |
||
34765 | 12 |
import java.io.StringReader |
34775 | 13 |
|
34765 | 14 |
import java.util.logging.{Logger, Level} |
15 |
||
16 |
import org.lobobrowser.html.parser.{DocumentBuilderImpl, InputSourceImpl} |
|
17 |
import org.lobobrowser.html.gui.HtmlPanel |
|
18 |
import org.lobobrowser.html.test.{SimpleHtmlRendererContext, SimpleUserAgentContext} |
|
19 |
||
34775 | 20 |
|
49612 | 21 |
class HTML_Panel extends HtmlPanel |
34765 | 22 |
{ |
49612 | 23 |
Swing_Thread.require() |
37034
9640f6546179
more systematic treatment of internal state, which belongs strictly to the main actor, not the Swing thread;
wenzelm
parents:
37016
diff
changeset
|
24 |
|
34765 | 25 |
Logger.getLogger("org.lobobrowser").setLevel(Level.WARNING) |
26 |
||
36993
b7cce32953f0
more systematic treatment of physical document wrt. font size etc.;
wenzelm
parents:
36992
diff
changeset
|
27 |
private val ucontext = new SimpleUserAgentContext |
b7cce32953f0
more systematic treatment of physical document wrt. font size etc.;
wenzelm
parents:
36992
diff
changeset
|
28 |
private val rcontext = new SimpleHtmlRendererContext(this, ucontext) |
b7cce32953f0
more systematic treatment of physical document wrt. font size etc.;
wenzelm
parents:
36992
diff
changeset
|
29 |
private val builder = new DocumentBuilderImpl(ucontext, rcontext) |
b7cce32953f0
more systematic treatment of physical document wrt. font size etc.;
wenzelm
parents:
36992
diff
changeset
|
30 |
|
49612 | 31 |
def render_document(url: String, html_text: String) |
32 |
{ |
|
33 |
val doc = builder.parse(new InputSourceImpl(new StringReader(html_text), url)) |
|
34 |
Swing_Thread.later { setDocument(doc, rcontext) } |
|
34765 | 35 |
} |
36 |
} |