src/Tools/jEdit/src/popup.scala
changeset 53246 8d34caf5bf82
child 53247 bd595338ca18
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Tools/jEdit/src/popup.scala	Wed Aug 28 15:14:58 2013 +0200
@@ -0,0 +1,33 @@
+/*  Title:      Tools/jEdit/src/popup.scala
+    Author:     Makarius
+
+Simple popup within layered pane, based on component with given geometry.
+*/
+
+package isabelle.jedit
+
+
+import isabelle._
+
+import javax.swing.{JLayeredPane, JComponent}
+
+
+class Popup(
+  layered: JLayeredPane,
+  component: JComponent) extends javax.swing.Popup()
+{
+  override def show
+  {
+    component.setOpaque(true)
+    layered.add(component, JLayeredPane.POPUP_LAYER)
+    layered.repaint(component.getBounds())
+  }
+
+  override def hide
+  {
+    val bounds = component.getBounds()
+    layered.remove(component)
+    layered.repaint(bounds)
+  }
+}
+