# HG changeset patch # User wenzelm # Date 1670275906 -3600 # Node ID aef247025f071a7d12fb11f9916c3cbcd7e1fa52 # Parent 318c6b466ec05087a3f6e98184d3bc150593a517 more GUI elements; diff -r 318c6b466ec0 -r aef247025f07 src/Tools/jEdit/src/document_dockable.scala --- a/src/Tools/jEdit/src/document_dockable.scala Mon Dec 05 21:10:39 2022 +0100 +++ b/src/Tools/jEdit/src/document_dockable.scala Mon Dec 05 22:31:46 2022 +0100 @@ -156,6 +156,9 @@ val progress = init_progress() val process = Future.thread[Unit](name = "document_build") { + show_page(theories_page) + Time.seconds(2.0).sleep() + show_page(log_page) val res = Exn.capture { @@ -228,6 +231,13 @@ /* message pane with pages */ + private val theories = new Theories_Status(view) + + private val theories_page = + new TabbedPane.Page("Theories", new BorderPanel { + layout(theories.gui) = BorderPanel.Position.Center + }, "Selection and status of document theories") + private val output_controls = Wrap_Panel(List(pretty_text_area.search_label, pretty_text_area.search_field, zoom)) @@ -242,7 +252,7 @@ layout(scroll_log_area) = BorderPanel.Position.Center }, "Raw log of build process") - message_pane.pages ++= List(log_page, output_page) + message_pane.pages ++= List(theories_page, log_page, output_page) set_content(message_pane) @@ -250,19 +260,29 @@ /* main */ private val main = - Session.Consumer[Session.Global_Options](getClass.getName) { + Session.Consumer[Any](getClass.getName) { case _: Session.Global_Options => - GUI_Thread.later { handle_resize() } + GUI_Thread.later { + handle_resize() + theories.reinit() + } + case changed: Session.Commands_Changed => + GUI_Thread.later { + theories.update(domain = Some(changed.nodes), trim = changed.assignment) + } } override def init(): Unit = { init_state() PIDE.session.global_options += main + PIDE.session.commands_changed += main + theories.update() handle_resize() } override def exit(): Unit = { PIDE.session.global_options -= main + PIDE.session.commands_changed -= main delay_resize.revoke() } }