src/Tools/Graphview/src/graph_panel.scala
changeset 50476 1cb983bccb5b
parent 50474 6ee044e2d1a7
child 50477 ffa18243a4e3
equal deleted inserted replaced
50475:8cc351df4a23 50476:1cb983bccb5b
    43   requestFocus()
    43   requestFocus()
    44 
    44 
    45   horizontalScrollBarPolicy = ScrollPane.BarPolicy.Always
    45   horizontalScrollBarPolicy = ScrollPane.BarPolicy.Always
    46   verticalScrollBarPolicy = ScrollPane.BarPolicy.Always
    46   verticalScrollBarPolicy = ScrollPane.BarPolicy.Always
    47 
    47 
    48   private val gfx_aux =
       
    49     new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB).createGraphics
       
    50   gfx_aux.setFont(visualizer.font)
       
    51   gfx_aux.setRenderingHints(visualizer.rendering_hints)
       
    52 
       
    53   def node(at: Point2D): Option[String] =
    48   def node(at: Point2D): Option[String] =
    54     visualizer.model.visible_nodes()
    49     visualizer.model.visible_nodes()
    55       .find(name => visualizer.Drawer.shape(gfx_aux, Some(name)).contains(at))
    50       .find(name => visualizer.Drawer.shape(visualizer.gfx, Some(name)).contains(at))
    56 
    51 
    57   def refresh()
    52   def refresh()
    58   {
    53   {
    59     paint_panel.set_preferred_size()
    54     paint_panel.set_preferred_size()
    60     paint_panel.repaint()
    55     paint_panel.repaint()
   191       def dummy(at: Point2D): Option[Dummy] =
   186       def dummy(at: Point2D): Option[Dummy] =
   192         visualizer.model.visible_edges().map({
   187         visualizer.model.visible_edges().map({
   193             i => visualizer.Coordinates(i).zipWithIndex.map((i, _))
   188             i => visualizer.Coordinates(i).zipWithIndex.map((i, _))
   194           }).flatten.find({
   189           }).flatten.find({
   195             case (_, ((x, y), _)) =>
   190             case (_, ((x, y), _)) =>
   196               visualizer.Drawer.shape(gfx_aux, None).contains(at.getX() - x, at.getY() - y)
   191               visualizer.Drawer.shape(visualizer.gfx, None).contains(at.getX() - x, at.getY() - y)
   197           }) match {
   192           }) match {
   198             case None => None
   193             case None => None
   199             case Some((name, (_, index))) => Some((name, index))
   194             case Some((name, (_, index))) => Some((name, index))
   200           }
   195           }
   201 
   196