src/Tools/jEdit/src/jedit/html_panel.scala
changeset 39740 0294948ba962
parent 39590 2258769f112f
child 42976 9901f877eeb7
equal deleted inserted replaced
39739:c7f0fa0593f0 39740:0294948ba962
   116   /* internal messages */
   116   /* internal messages */
   117 
   117 
   118   private case class Resize(font_family: String, font_size: Int)
   118   private case class Resize(font_family: String, font_size: Int)
   119   private case class Render_Document(text: String)
   119   private case class Render_Document(text: String)
   120   private case class Render(body: XML.Body)
   120   private case class Render(body: XML.Body)
       
   121   private case class Render_Sync(body: XML.Body)
   121   private case object Refresh
   122   private case object Refresh
   122 
   123 
   123   private val main_actor = actor {
   124   private val main_actor = actor {
   124 
   125 
   125     /* internal state */
   126     /* internal state */
   186       react {
   187       react {
   187         case Resize(font_family, font_size) => resize(font_family, font_size)
   188         case Resize(font_family, font_size) => resize(font_family, font_size)
   188         case Refresh => refresh()
   189         case Refresh => refresh()
   189         case Render_Document(text) => render_document(text)
   190         case Render_Document(text) => render_document(text)
   190         case Render(body) => render(body)
   191         case Render(body) => render(body)
       
   192         case Render_Sync(body) => render(body); reply(())
   191         case bad => System.err.println("main_actor: ignoring bad message " + bad)
   193         case bad => System.err.println("main_actor: ignoring bad message " + bad)
   192       }
   194       }
   193     }
   195     }
   194   }
   196   }
   195 
   197 
   198 
   200 
   199   def resize(font_family: String, font_size: Int) { main_actor ! Resize(font_family, font_size) }
   201   def resize(font_family: String, font_size: Int) { main_actor ! Resize(font_family, font_size) }
   200   def refresh() { main_actor ! Refresh }
   202   def refresh() { main_actor ! Refresh }
   201   def render_document(text: String) { main_actor ! Render_Document(text) }
   203   def render_document(text: String) { main_actor ! Render_Document(text) }
   202   def render(body: XML.Body) { main_actor ! Render(body) }
   204   def render(body: XML.Body) { main_actor ! Render(body) }
       
   205   def render_sync(body: XML.Body) { main_actor !? Render_Sync(body) }
   203 }
   206 }