handle tree selection;
authorwenzelm
Mon, 18 Nov 2024 14:35:48 +0100
changeset 81481 085393ed204a
parent 81480 dd657c4bc269
child 81482 1001e27dbbf1
handle tree selection;
src/Tools/jEdit/src/output_dockable.scala
--- a/src/Tools/jEdit/src/output_dockable.scala	Mon Nov 18 12:36:56 2024 +0100
+++ b/src/Tools/jEdit/src/output_dockable.scala	Mon Nov 18 14:35:48 2024 +0100
@@ -11,6 +11,7 @@
 
 import java.awt.BorderLayout
 import java.awt.event.{ComponentEvent, ComponentAdapter}
+import javax.swing.event.TreeSelectionEvent
 
 import org.gjt.sp.jedit.View
 
@@ -67,6 +68,19 @@
     }
   }
 
+
+  /* tree view */
+
+  private def tree_selection(): Option[Pretty_Text_Area.Search_Result] =
+    output.tree.get_selection({ case x: Pretty_Text_Area.Search_Result => x })
+
+  output.tree.addTreeSelectionListener({ (e: TreeSelectionEvent) =>
+    for (result <- tree_selection()) {
+      output.pretty_text_area.setCaretPosition(result.line_range.start)
+      JEdit_Lib.scroll_to_caret(output.pretty_text_area)
+    }
+  })
+
   output.init_gui(dockable, split = true)