src/Tools/jEdit/src/jedit/plugin.scala
changeset 34760 dc7f5e0d9d27
parent 34759 bfea7839d9e1
child 34762 0974378d235a
equal deleted inserted replaced
34759:bfea7839d9e1 34760:dc7f5e0d9d27
     1 /*
     1 /*
     2  * Main Isabelle/jEdit plugin setup
     2  * Main Isabelle/jEdit plugin setup
     3  *
     3  *
     4  * @author Johannes Hölzl, TU Munich
     4  * @author Johannes Hölzl, TU Munich
     5  * @author Fabian Immler, TU Munich
     5  * @author Fabian Immler, TU Munich
       
     6  * @author Makarius
     6  */
     7  */
     7 
     8 
     8 package isabelle.jedit
     9 package isabelle.jedit
     9 
    10 
    10 
    11 
    12 import java.awt.Font
    13 import java.awt.Font
    13 import javax.swing.JScrollPane
    14 import javax.swing.JScrollPane
    14 
    15 
    15 import scala.collection.mutable
    16 import scala.collection.mutable
    16 
    17 
    17 import isabelle.prover.{Prover, Command}
    18 import isabelle.proofdocument.{Command, Proof_Document, Prover}
    18 import isabelle.proofdocument.ProofDocument
       
    19 import isabelle.Isabelle_System
    19 import isabelle.Isabelle_System
    20 
    20 
    21 import org.gjt.sp.jedit.{jEdit, EBMessage, EBPlugin, Buffer, EditPane, ServiceManager, View}
    21 import org.gjt.sp.jedit.{jEdit, EBMessage, EBPlugin, Buffer, EditPane, ServiceManager, View}
    22 import org.gjt.sp.jedit.buffer.JEditBuffer
    22 import org.gjt.sp.jedit.buffer.JEditBuffer
    23 import org.gjt.sp.jedit.textarea.JEditTextArea
    23 import org.gjt.sp.jedit.textarea.JEditTextArea
    96   def selected_state_=(state: Command) { _selected_state = state; state_update.event(state) }
    96   def selected_state_=(state: Command) { _selected_state = state; state_update.event(state) }
    97 
    97 
    98 
    98 
    99   /* mapping buffer <-> prover */
    99   /* mapping buffer <-> prover */
   100 
   100 
   101   private val mapping = new mutable.HashMap[JEditBuffer, ProverSetup]
   101   private val mapping = new mutable.HashMap[JEditBuffer, Prover_Setup]
   102 
   102 
   103   private def install(view: View)
   103   private def install(view: View)
   104   {
   104   {
   105     val buffer = view.getBuffer
   105     val buffer = view.getBuffer
   106     val prover_setup = new ProverSetup(buffer)
   106     val prover_setup = new Prover_Setup(buffer)
   107     mapping.update(buffer, prover_setup)
   107     mapping.update(buffer, prover_setup)
   108     prover_setup.activate(view)
   108     prover_setup.activate(view)
   109   }
   109   }
   110 
   110 
   111   private def uninstall(view: View) =
   111   private def uninstall(view: View) =
   113 
   113 
   114   def switch_active (view: View) =
   114   def switch_active (view: View) =
   115     if (mapping.isDefinedAt(view.getBuffer)) uninstall(view)
   115     if (mapping.isDefinedAt(view.getBuffer)) uninstall(view)
   116     else install(view)
   116     else install(view)
   117 
   117 
   118   def prover_setup(buffer: JEditBuffer): Option[ProverSetup] = mapping.get(buffer)
   118   def prover_setup(buffer: JEditBuffer): Option[Prover_Setup] = mapping.get(buffer)
   119   def is_active (buffer: JEditBuffer) = mapping.isDefinedAt(buffer)
   119   def is_active (buffer: JEditBuffer) = mapping.isDefinedAt(buffer)
   120 
   120 
   121 
   121 
   122   /* main plugin plumbing */
   122   /* main plugin plumbing */
   123 
   123