src/Tools/jEdit/src/isabelle.scala
changeset 55827 8a881f83e206
parent 55825 694833e3e4a0
child 56170 638b29331549
equal deleted inserted replaced
55826:e56a52dd770a 55827:8a881f83e206
   184   def toggle_node_required(view: View) { node_required_update(view, toggle = true) }
   184   def toggle_node_required(view: View) { node_required_update(view, toggle = true) }
   185 
   185 
   186 
   186 
   187   /* font size */
   187   /* font size */
   188 
   188 
   189   private object font_size
   189   def reset_font_size() {
   190   {
   190     Font_Info.main_change.reset(PIDE.options.int("jedit_reset_font_size").toFloat)
   191     // owned by Swing thread
   191   }
   192     private var steps = 0
   192   def increase_font_size() { Font_Info.main_change.step(1) }
   193     private val delay = Swing_Thread.delay_last(PIDE.options.seconds("editor_input_delay"))
   193   def decrease_font_size() { Font_Info.main_change.step(-1) }
   194     {
       
   195       Font_Info.main_change(size =>
       
   196         {
       
   197           var i = size.round
       
   198           while (steps != 0 && i > 0) {
       
   199             if (steps > 0)
       
   200               { i += (i / 10) max 1; steps -= 1 }
       
   201             else
       
   202               { i -= (i / 10) max 1; steps += 1 }
       
   203           }
       
   204           steps = 0
       
   205           i.toFloat
       
   206         })
       
   207     }
       
   208     def step(i: Int) { steps += i; delay.invoke() }
       
   209     def reset() { delay.revoke(); steps = 0 }
       
   210   }
       
   211 
       
   212   def reset_font_size()
       
   213   {
       
   214     font_size.reset()
       
   215     Font_Info.main_change(_ => PIDE.options.int("jedit_reset_font_size").toFloat)
       
   216   }
       
   217 
       
   218   def increase_font_size() { font_size.step(1) }
       
   219   def decrease_font_size() { font_size.step(-1) }
       
   220 
   194 
   221 
   195 
   222   /* structured edits */
   196   /* structured edits */
   223 
   197 
   224   def insert_line_padding(text_area: JEditTextArea, text: String)
   198   def insert_line_padding(text_area: JEditTextArea, text: String)