more uniform treatment of dockables and their standard actions;
authorwenzelm
Tue, 18 Feb 2014 20:20:42 +0100
changeset 55558 298274c970b6
parent 55557 aa1adeca714b
child 55559 d4aea4bbe87f
more uniform treatment of dockables and their standard actions;
src/Tools/jEdit/src/Isabelle.props
src/Tools/jEdit/src/actions.xml
src/Tools/jEdit/src/dockables.xml
src/Tools/jEdit/src/isabelle.scala
src/Tools/jEdit/src/jEdit.props
--- a/src/Tools/jEdit/src/Isabelle.props	Tue Feb 18 19:00:13 2014 +0100
+++ b/src/Tools/jEdit/src/Isabelle.props	Tue Feb 18 20:20:42 2014 +0100
@@ -27,48 +27,48 @@
 options.isabelle-rendering.label=Rendering
 options.isabelle-rendering.code=new isabelle.jedit.Isabelle_Options2();
 
-#menu actions
+#menu actions and dockables
 plugin.isabelle.jedit.Plugin.menu.label=Isabelle
 plugin.isabelle.jedit.Plugin.menu= \
-  isabelle.documentation-panel \
-  isabelle.find-panel \
-  isabelle.monitor-panel \
-  isabelle.output-panel \
-  isabelle.protocol-panel \
-  isabelle.raw-output-panel \
-  isabelle.simplifier-trace-panel \
-  isabelle.sledgehammer-panel \
-  isabelle.symbols-panel \
-  isabelle.syslog-panel \
-  isabelle.theories-panel \
-  isabelle.timing-panel
-isabelle.documentation-panel.label=Documentation panel
-isabelle.find-panel.label=Find panel
-isabelle.monitor-panel.label=Monitor panel
-isabelle.output-panel.label=Output panel
-isabelle.protocol-panel.label=Protocol panel
-isabelle.raw-output-panel.label=Raw Output panel
-isabelle.simplifier-trace-panel.label=Simplifier Trace panel
-isabelle.sledgehammer-panel.label=Sledgehammer panel
-isabelle.symbols-panel.label=Symbols panel
-isabelle.syslog-panel.label=Syslog panel
-isabelle.theories-panel.label=Theories panel
-isabelle.timing-panel.label=Timing panel
-
-#dockables
+  isabelle-documentation \
+  isabelle-find \
+  isabelle-monitor \
+  isabelle-output \
+  isabelle-protocol \
+  isabelle-raw-output \
+  isabelle-simplifier-trace \
+  isabelle-sledgehammer \
+  isabelle-symbols \
+  isabelle-syslog \
+  isabelle-theories \
+  isabelle-timing
+isabelle-documentation.label=Documentation panel
+isabelle-documentation.title=Documentation
+isabelle-find.label=Find panel
 isabelle-find.title=Find
+isabelle-graphview.label=Graphview panel
 isabelle-graphview.title=Graphview
+isabelle-info.label=Info panel
 isabelle-info.title=Info
+isabelle-monitor.label=Monitor panel
 isabelle-monitor.title=Monitor
+isabelle-output.label=Output panel
 isabelle-output.title=Output
-isabelle-simplifier-trace.title=Simplifier Trace
+isabelle-protocol.label=Protocol panel
 isabelle-protocol.title=Protocol
+isabelle-raw-output.label=Raw Output panel
 isabelle-raw-output.title=Raw Output
-isabelle-documentation.title=Documentation
+isabelle-simplifier-trace.label=Simplifier Trace panel
+isabelle-simplifier-trace.title=Simplifier Trace
+isabelle-sledgehammer.label=Sledgehammer panel
 isabelle-sledgehammer.title=Sledgehammer
+isabelle-symbols.label=Symbols panel
 isabelle-symbols.title=Symbols
+isabelle-syslog.label=Syslog panel
 isabelle-syslog.title=Syslog
+isabelle-theories.label=Theories panel
 isabelle-theories.title=Theories
+isabelle-timing.label=Timing panel
 isabelle-timing.title=Timing
 
 #SideKick
--- a/src/Tools/jEdit/src/actions.xml	Tue Feb 18 19:00:13 2014 +0100
+++ b/src/Tools/jEdit/src/actions.xml	Tue Feb 18 20:20:42 2014 +0100
@@ -2,66 +2,6 @@
 <!DOCTYPE ACTIONS SYSTEM "actions.dtd">
 
 <ACTIONS>
-	<ACTION NAME="isabelle.theories-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-theories");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.timing-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-timing");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.syslog-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-syslog");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.documentation-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-documentation");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.find-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-find");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.sledgehammer-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-sledgehammer");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.output-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-output");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.raw-output-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-raw-output");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.simplifier-trace-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-simplifier-trace");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.protocol-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-protocol");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.monitor-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-monitor");
-		</CODE>
-	</ACTION>
-	<ACTION NAME="isabelle.symbols-panel">
-		<CODE>
-			wm.addDockableWindow("isabelle-symbols");
-		</CODE>
-	</ACTION>
 	<ACTION NAME="isabelle.set-continuous-checking">
 	  <CODE>
 	    isabelle.jedit.Isabelle.set_continuous_checking();
--- a/src/Tools/jEdit/src/dockables.xml	Tue Feb 18 19:00:13 2014 +0100
+++ b/src/Tools/jEdit/src/dockables.xml	Tue Feb 18 20:20:42 2014 +0100
@@ -2,46 +2,46 @@
 <!DOCTYPE DOCKABLES SYSTEM "dockables.dtd">
 
 <DOCKABLES>
-	<DOCKABLE NAME="isabelle-theories" MOVABLE="TRUE">
-		new isabelle.jedit.Theories_Dockable(view, position);
-	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-timing" MOVABLE="TRUE">
-		new isabelle.jedit.Timing_Dockable(view, position);
-	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-syslog" MOVABLE="TRUE">
-		new isabelle.jedit.Syslog_Dockable(view, position);
-	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-documentation" MOVABLE="TRUE">
 		new isabelle.jedit.Documentation_Dockable(view, position);
 	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-output" MOVABLE="TRUE">
-		new isabelle.jedit.Output_Dockable(view, position);
-	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-find" MOVABLE="TRUE">
 		new isabelle.jedit.Find_Dockable(view, position);
 	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-sledgehammer" MOVABLE="TRUE">
-		new isabelle.jedit.Sledgehammer_Dockable(view, position);
-	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-info" MOVABLE="TRUE">
 		new isabelle.jedit.Info_Dockable(view, position);
 	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-graphview" MOVABLE="TRUE">
 		new isabelle.jedit.Graphview_Dockable(view, position);
 	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-raw-output" MOVABLE="TRUE">
-		new isabelle.jedit.Raw_Output_Dockable(view, position);
+	<DOCKABLE NAME="isabelle-monitor" MOVABLE="TRUE">
+		new isabelle.jedit.Monitor_Dockable(view, position);
+	</DOCKABLE>
+	<DOCKABLE NAME="isabelle-output" MOVABLE="TRUE">
+		new isabelle.jedit.Output_Dockable(view, position);
 	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-protocol" MOVABLE="TRUE">
 		new isabelle.jedit.Protocol_Dockable(view, position);
 	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-monitor" MOVABLE="TRUE">
-		new isabelle.jedit.Monitor_Dockable(view, position);
+	<DOCKABLE NAME="isabelle-raw-output" MOVABLE="TRUE">
+		new isabelle.jedit.Raw_Output_Dockable(view, position);
+	</DOCKABLE>
+	<DOCKABLE NAME="isabelle-simplifier-trace" MOVABLE="TRUE">
+		new isabelle.jedit.Simplifier_Trace_Dockable(view, position);
+	</DOCKABLE>
+	<DOCKABLE NAME="isabelle-sledgehammer" MOVABLE="TRUE">
+		new isabelle.jedit.Sledgehammer_Dockable(view, position);
 	</DOCKABLE>
 	<DOCKABLE NAME="isabelle-symbols" MOVABLE="TRUE">
 		new isabelle.jedit.Symbols_Dockable(view, position);
 	</DOCKABLE>
-	<DOCKABLE NAME="isabelle-simplifier-trace" MOVABLE="TRUE">
-		new isabelle.jedit.Simplifier_Trace_Dockable(view, position);
+	<DOCKABLE NAME="isabelle-syslog" MOVABLE="TRUE">
+		new isabelle.jedit.Syslog_Dockable(view, position);
+	</DOCKABLE>
+	<DOCKABLE NAME="isabelle-theories" MOVABLE="TRUE">
+		new isabelle.jedit.Theories_Dockable(view, position);
+	</DOCKABLE>
+	<DOCKABLE NAME="isabelle-timing" MOVABLE="TRUE">
+		new isabelle.jedit.Timing_Dockable(view, position);
 	</DOCKABLE>
 </DOCKABLES>
--- a/src/Tools/jEdit/src/isabelle.scala	Tue Feb 18 19:00:13 2014 +0100
+++ b/src/Tools/jEdit/src/isabelle.scala	Tue Feb 18 20:20:42 2014 +0100
@@ -58,45 +58,75 @@
 
   private def wm(view: View): DockableWindowManager = view.getDockableWindowManager
 
-  def docked_theories(view: View): Option[Theories_Dockable] =
-    wm(view).getDockableWindow("isabelle-theories") match {
-      case dockable: Theories_Dockable => Some(dockable)
+  def documentation_dockable(view: View): Option[Documentation_Dockable] =
+    wm(view).getDockableWindow("isabelle-documentation") match {
+      case dockable: Documentation_Dockable => Some(dockable)
       case _ => None
     }
 
-  def docked_timing(view: View): Option[Timing_Dockable] =
-    wm(view).getDockableWindow("isabelle-timing") match {
-      case dockable: Timing_Dockable => Some(dockable)
+  def find_dockable(view: View): Option[Find_Dockable] =
+    wm(view).getDockableWindow("isabelle-find") match {
+      case dockable: Find_Dockable => Some(dockable)
       case _ => None
     }
 
-  def docked_output(view: View): Option[Output_Dockable] =
+  def monitor_dockable(view: View): Option[Monitor_Dockable] =
+    wm(view).getDockableWindow("isabelle-monitor") match {
+      case dockable: Monitor_Dockable => Some(dockable)
+      case _ => None
+    }
+
+  def output_dockable(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] =
+  def protocol_dockable(view: View): Option[Protocol_Dockable] =
+    wm(view).getDockableWindow("isabelle-protocol") match {
+      case dockable: Protocol_Dockable => Some(dockable)
+      case _ => None
+    }
+
+  def raw_output_dockable(view: View): Option[Raw_Output_Dockable] =
     wm(view).getDockableWindow("isabelle-raw-output") match {
       case dockable: Raw_Output_Dockable => Some(dockable)
       case _ => None
     }
 
-  def docked_simplifier_trace(view: View): Option[Simplifier_Trace_Dockable] =
+  def simplifier_trace_dockable(view: View): Option[Simplifier_Trace_Dockable] =
     wm(view).getDockableWindow("isabelle-simplifier-trace") match {
       case dockable: Simplifier_Trace_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)
+  def sledgehammer_dockable(view: View): Option[Sledgehammer_Dockable] =
+    wm(view).getDockableWindow("isabelle-sledgehammer") match {
+      case dockable: Sledgehammer_Dockable => Some(dockable)
+      case _ => None
+    }
+
+  def symbols_dockable(view: View): Option[Symbols_Dockable] =
+    wm(view).getDockableWindow("isabelle-symbols") match {
+      case dockable: Symbols_Dockable => Some(dockable)
       case _ => None
     }
 
-  def docked_monitor(view: View): Option[Monitor_Dockable] =
-    wm(view).getDockableWindow("isabelle-monitor") match {
-      case dockable: Monitor_Dockable => Some(dockable)
+  def syslog_dockable(view: View): Option[Syslog_Dockable] =
+    wm(view).getDockableWindow("isabelle-syslog") match {
+      case dockable: Syslog_Dockable => Some(dockable)
+      case _ => None
+    }
+
+  def theories_dockable(view: View): Option[Theories_Dockable] =
+    wm(view).getDockableWindow("isabelle-theories") match {
+      case dockable: Theories_Dockable => Some(dockable)
+      case _ => None
+    }
+
+  def timing_dockable(view: View): Option[Timing_Dockable] =
+    wm(view).getDockableWindow("isabelle-timing") match {
+      case dockable: Timing_Dockable => Some(dockable)
       case _ => None
     }
 
--- a/src/Tools/jEdit/src/jEdit.props	Tue Feb 18 19:00:13 2014 +0100
+++ b/src/Tools/jEdit/src/jEdit.props	Tue Feb 18 20:20:42 2014 +0100
@@ -188,8 +188,8 @@
 isabelle-output.dock-position=bottom
 isabelle-output.height=174
 isabelle-output.width=412
+isabelle-simplifier-trace.dock-position=bottom
 isabelle-sledgehammer.dock-position=bottom
-isabelle-simplifier-trace.dock-position=bottom
 isabelle-symbols.dock-position=bottom
 isabelle-theories.dock-position=right
 isabelle.complete.label=Complete Isabelle text