| author | wenzelm |
| Sun, 18 Aug 2013 18:49:45 +0200 | |
| changeset 53076 | 47c9aff07725 |
| 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 |
} |