src/Tools/jEdit/src/html_panel.scala
author wenzelm
Sat, 25 May 2013 17:40:44 +0200
changeset 52147 9943f8067f11
parent 49612 e6a53d203362
permissions -rw-r--r--
tuned;

/*  Title:      Tools/jEdit/src/html_panel.scala
    Author:     Makarius

HTML panel based on Lobo/Cobra.
*/

package isabelle.jedit


import isabelle._

import java.io.StringReader

import java.util.logging.{Logger, Level}

import org.lobobrowser.html.parser.{DocumentBuilderImpl, InputSourceImpl}
import org.lobobrowser.html.gui.HtmlPanel
import org.lobobrowser.html.test.{SimpleHtmlRendererContext, SimpleUserAgentContext}


class HTML_Panel extends HtmlPanel
{
  Swing_Thread.require()

  Logger.getLogger("org.lobobrowser").setLevel(Level.WARNING)

  private val ucontext = new SimpleUserAgentContext
  private val rcontext = new SimpleHtmlRendererContext(this, ucontext)
  private val builder = new DocumentBuilderImpl(ucontext, rcontext)

  def render_document(url: String, html_text: String)
  {
    val doc = builder.parse(new InputSourceImpl(new StringReader(html_text), url))
    Swing_Thread.later { setDocument(doc, rcontext) }
  }
}