# HG changeset patch # User wenzelm # Date 1274560237 -7200 # Node ID 07936a4efe938ff19dfe105d0f77a00a2e89a304 # Parent 31093f3687b511b2e0b6686397a90f9c4637845e access statically typed dockable windows; diff -r 31093f3687b5 -r 07936a4efe93 src/Tools/jEdit/src/jedit/plugin.scala --- a/src/Tools/jEdit/src/jedit/plugin.scala Sat May 22 22:05:41 2010 +0200 +++ b/src/Tools/jEdit/src/jedit/plugin.scala Sat May 22 22:30:37 2010 +0200 @@ -21,6 +21,7 @@ import org.gjt.sp.jedit.buffer.JEditBuffer import org.gjt.sp.jedit.textarea.JEditTextArea import org.gjt.sp.jedit.msg.{EditPaneUpdate, PropertiesChanged} +import org.gjt.sp.jedit.gui.DockableWindowManager object Isabelle @@ -112,6 +113,29 @@ jedit_text_areas().filter(_.getBuffer == buffer) + /* dockable windows */ + + private def wm(view: View): DockableWindowManager = view.getDockableWindowManager + + def docked_output(view: View): Option[Output_Dockable] = + wm(view).getDockableWindow("isabelle-output") match { + case dockable: Output_Dockable => Some(dockable) + case _ => None + } + + def docked_raw_output(view: View): Option[Raw_Output_Dockable] = + wm(view).getDockableWindow("isabelle-raw-output") match { + case dockable: Raw_Output_Dockable => Some(dockable) + case _ => None + } + + def docked_protocol(view: View): Option[Protocol_Dockable] = + wm(view).getDockableWindow("isabelle-protocol") match { + case dockable: Protocol_Dockable => Some(dockable) + case _ => None + } + + /* manage prover */ private def prover_started(view: View): Boolean =