src/Pure/System/gui.scala
changeset 53778 29eaacff4078
parent 53714 89fb20ae9b73
equal deleted inserted replaced
53777:06a6216f733e 53778:29eaacff4078
     6 
     6 
     7 package isabelle
     7 package isabelle
     8 
     8 
     9 
     9 
    10 import java.awt.{Image, Component, Container, Toolkit, Window}
    10 import java.awt.{Image, Component, Container, Toolkit, Window}
    11 import javax.swing.{ImageIcon, JOptionPane, UIManager}
    11 import javax.swing.{ImageIcon, JOptionPane, UIManager, JLayeredPane, JFrame, JWindow}
    12 
    12 
    13 import scala.swing.{ComboBox, TextArea, ScrollPane}
    13 import scala.swing.{ComboBox, TextArea, ScrollPane}
    14 import scala.swing.event.SelectionChanged
    14 import scala.swing.event.SelectionChanged
    15 
    15 
    16 
    16 
   141       }
   141       }
   142   }
   142   }
   143 
   143 
   144   def parent_window(component: Component): Option[Window] =
   144   def parent_window(component: Component): Option[Window] =
   145     ancestors(component).collectFirst({ case x: Window => x })
   145     ancestors(component).collectFirst({ case x: Window => x })
       
   146 
       
   147   def layered_pane(component: Component): Option[JLayeredPane] =
       
   148     parent_window(component) match {
       
   149       case Some(window: JWindow) => Some(window.getLayeredPane)
       
   150       case Some(frame: JFrame) => Some(frame.getLayeredPane)
       
   151       case _ => None
       
   152     }
   146 }
   153 }
   147 
   154