src/Tools/Graphview/graph_panel.scala
changeset 59233 876a81f5788b
parent 59231 6dea47cf6c6b
child 59234 ef8104d6deb6
equal deleted inserted replaced
59232:07a7dfd6d694 59233:876a81f5788b
    17 import scala.swing.{Panel, ScrollPane}
    17 import scala.swing.{Panel, ScrollPane}
    18 import scala.swing.event.{Event, Key, KeyTyped, MousePressed, MouseDragged,
    18 import scala.swing.event.{Event, Key, KeyTyped, MousePressed, MouseDragged,
    19   MouseMoved, MouseClicked, MouseWheelMoved, MouseEvent}
    19   MouseMoved, MouseClicked, MouseWheelMoved, MouseEvent}
    20 
    20 
    21 
    21 
    22 class Graph_Panel(
    22 class Graph_Panel(val visualizer: Visualizer) extends ScrollPane
    23     val visualizer: Visualizer,
       
    24     make_tooltip: (JComponent, Int, Int, XML.Body) => String)
       
    25   extends ScrollPane
       
    26 {
    23 {
    27   panel =>
    24   panel =>
    28 
    25 
    29   override lazy val peer: JScrollPane = new JScrollPane with SuperMixin {
    26   override lazy val peer: JScrollPane = new JScrollPane with SuperMixin {
    30     override def getToolTipText(event: java.awt.event.MouseEvent): String =
    27     override def getToolTipText(event: java.awt.event.MouseEvent): String =
    31       node(Transform.pane_to_graph_coordinates(event.getPoint)) match {
    28       node(Transform.pane_to_graph_coordinates(event.getPoint)) match {
    32         case Some(name) =>
    29         case Some(name) =>
    33           visualizer.model.complete_graph.get_node(name).content match {
    30           visualizer.model.complete_graph.get_node(name).content match {
    34             case Nil => null
    31             case Nil => null
    35             case content => make_tooltip(panel.peer, event.getX, event.getY, content)
    32             case content => visualizer.make_tooltip(panel.peer, event.getX, event.getY, content)
    36           }
    33           }
    37         case None => null
    34         case None => null
    38       }
    35       }
    39   }
    36   }
    40 
    37