src/Tools/jEdit/src/jedit_options.scala
changeset 75847 93436389db1c
parent 75841 7c00d5266bf8
child 75848 9e4c0aaa30aa
equal deleted inserted replaced
75846:d9926523855e 75847:93436389db1c
    25   def save(): Unit
    25   def save(): Unit
    26 }
    26 }
    27 
    27 
    28 object JEdit_Options {
    28 object JEdit_Options {
    29   val RENDERING_SECTION = "Rendering of Document Content"
    29   val RENDERING_SECTION = "Rendering of Document Content"
       
    30 
       
    31   class Access[A](access: Options.Access_Variable[A], val name: String) {
       
    32     def apply(): A = access.apply(name)
       
    33     def update(x: A): Unit = change(_ => x)
       
    34     def change(f: A => A): Unit = {
       
    35       val x0 = apply()
       
    36       access.change(name, f)
       
    37       val x1 = apply()
       
    38       if (x0 != x1) changed()
       
    39     }
       
    40     def changed(): Unit = GUI_Thread.require { PIDE.session.update_options(access.options.value) }
       
    41   }
    30 }
    42 }
    31 
    43 
    32 class JEdit_Options(init_options: Options) extends Options_Variable(init_options) {
    44 class JEdit_Options(init_options: Options) extends Options_Variable(init_options) {
    33   def color_value(s: String): Color = Color_Value(string(s))
    45   def color_value(s: String): Color = Color_Value(string(s))
    34 
    46