# HG changeset patch # User wenzelm # Date 1610146768 -3600 # Node ID 01f4965fd09bbd467e3f723b8c9c9fb2679cd3b2 # Parent c87ca43ebd3b33565df58d173f995420e953499d support for additional look-and-feels; diff -r c87ca43ebd3b -r 01f4965fd09b Admin/components/components.sha1 --- a/Admin/components/components.sha1 Fri Jan 08 22:30:32 2021 +0100 +++ b/Admin/components/components.sha1 Fri Jan 08 23:59:28 2021 +0100 @@ -80,6 +80,7 @@ 8b9bffd10e396d965e815418295f2ee2849bea75 exec_process-1.0.2.tar.gz e6aada354da11e533af2dee3dcdd96c06479b053 exec_process-1.0.3.tar.gz ae7ee5becb26512f18c609e83b34612918bae5f0 exec_process-1.0.tar.gz +ed5cbc216389b655dac21a19e770a02a96867b85 flatlaf-0.46.tar.gz 683acd94761ef460cca1a628f650355370de5afb hol-light-bundle-0.5-126.tar.gz 20b53cfc3ffc5b15c1eabc91846915b49b4c0367 isabelle_fonts-20151021.tar.gz 736844204b2ef83974cd9f0a215738b767958c41 isabelle_fonts-20151104.tar.gz diff -r c87ca43ebd3b -r 01f4965fd09b Admin/components/main --- a/Admin/components/main Fri Jan 08 22:30:32 2021 +0100 +++ b/Admin/components/main Fri Jan 08 23:59:28 2021 +0100 @@ -4,6 +4,7 @@ csdp-6.1.1 cvc4-1.8 e-2.5-1 +flatlaf-0.46 isabelle_fonts-20190717 jdk-15.0.1+9 jedit_build-20201223 diff -r c87ca43ebd3b -r 01f4965fd09b src/Pure/GUI/gui.scala --- a/src/Pure/GUI/gui.scala Fri Jan 08 22:30:32 2021 +0100 +++ b/src/Pure/GUI/gui.scala Fri Jan 08 23:59:28 2021 +0100 @@ -18,7 +18,7 @@ object GUI { - /* Swing look-and-feel */ + /* Swing look-and-feels */ def find_laf(name: String): Option[String] = UIManager.getInstalledLookAndFeels(). @@ -44,6 +44,19 @@ Platform.is_windows && UIManager.getSystemLookAndFeelClassName() == current_laf() + /* additional look-and-feels */ + + class Look_And_Feel(val laf: LookAndFeel) extends Isabelle_System.Service + { + def setup: Unit = UIManager.installLookAndFeel(laf.getName, laf.getClass.getName) + } + + lazy val look_and_feels: List[Look_And_Feel] = + Isabelle_System.make_services(classOf[Look_And_Feel]) + + def setup_lafs(): Unit = look_and_feels.foreach(_.setup) + + /* plain focus traversal, notably for text fields */ def plain_focus_traversal(component: Component) @@ -342,3 +355,6 @@ } } } + +class FlatLightLaf extends GUI.Look_And_Feel(new com.formdev.flatlaf.FlatLightLaf) +class FlatDarkLaf extends GUI.Look_And_Feel(new com.formdev.flatlaf.FlatDarkLaf) diff -r c87ca43ebd3b -r 01f4965fd09b src/Pure/Tools/main.scala --- a/src/Pure/Tools/main.scala Fri Jan 08 22:30:32 2021 +0100 +++ b/src/Pure/Tools/main.scala Fri Jan 08 23:59:28 2021 +0100 @@ -26,6 +26,8 @@ Isabelle_System.init() Isabelle_Fonts.init() + GUI.setup_lafs() + /* ROOTS template */