src/Tools/jEdit/src/document_view.scala
changeset 49288 2c9272cb4568
parent 49196 1d63ceb0d177
child 49356 6e0c0ffb6ec7
equal deleted inserted replaced
49272:97f8cb455691 49288:2c9272cb4568
   339     Swing_Thread.require()
   339     Swing_Thread.require()
   340     model.snapshot().node.command_at(text_area.getCaretPosition).map(_._1)
   340     model.snapshot().node.command_at(text_area.getCaretPosition).map(_._1)
   341   }
   341   }
   342 
   342 
   343   private val delay_caret_update =
   343   private val delay_caret_update =
   344     Swing_Thread.delay_last(session.input_delay) {
   344     Swing_Thread.delay_last(Time.seconds(Isabelle.options.real("editor_input_delay"))) {
   345       session.caret_focus.event(Session.Caret_Focus)
   345       session.caret_focus.event(Session.Caret_Focus)
   346     }
   346     }
   347 
   347 
   348   private val caret_listener = new CaretListener {
   348   private val caret_listener = new CaretListener {
   349     override def caretUpdate(e: CaretEvent) { delay_caret_update.invoke() }
   349     override def caretUpdate(e: CaretEvent) { delay_caret_update.invoke() }
   353   /* text status overview left of scrollbar */
   353   /* text status overview left of scrollbar */
   354 
   354 
   355   private object overview extends Text_Overview(this)
   355   private object overview extends Text_Overview(this)
   356   {
   356   {
   357     val delay_repaint =
   357     val delay_repaint =
   358       Swing_Thread.delay_first(Isabelle.session.update_delay) { repaint() }
   358       Swing_Thread.delay_first(
       
   359         Time.seconds(Isabelle.options.real("editor_update_delay"))) { repaint() }
   359   }
   360   }
   360 
   361 
   361 
   362 
   362   /* main actor */
   363   /* main actor */
   363 
   364 
   364   private val main_actor = actor {
   365   private val main_actor = actor {
   365     loop {
   366     loop {
   366       react {
   367       react {
   367         case _: Session.Raw_Edits =>
   368         case _: Session.Raw_Edits =>
   368           Swing_Thread.later {
   369           Swing_Thread.later {
   369             overview.delay_repaint.postpone(Isabelle.session.input_delay)
   370             overview.delay_repaint.postpone(
       
   371               Time.seconds(Isabelle.options.real("editor_input_delay")))
   370           }
   372           }
   371 
   373 
   372         case changed: Session.Commands_Changed =>
   374         case changed: Session.Commands_Changed =>
   373           val buffer = model.buffer
   375           val buffer = model.buffer
   374           Swing_Thread.later {
   376           Swing_Thread.later {