src/Tools/Graphview/graph_panel.scala
changeset 59399 47fb85ccfce8
parent 59398 ea163bf8ad22
child 59403 db65d45b6740
equal deleted inserted replaced
59398:ea163bf8ad22 59399:47fb85ccfce8
    98       paint_panel.set_preferred_size()
    98       paint_panel.set_preferred_size()
    99       paint_panel.repaint()
    99       paint_panel.repaint()
   100     }
   100     }
   101   }
   101   }
   102 
   102 
   103   def fit_to_window()
       
   104   {
       
   105     Transform.fit_to_window()
       
   106     refresh()
       
   107   }
       
   108 
       
   109   val zoom = new GUI.Zoom_Box { def changed = rescale(0.01 * factor) }
   103   val zoom = new GUI.Zoom_Box { def changed = rescale(0.01 * factor) }
   110 
   104 
   111   def rescale(s: Double)
   105   def rescale(s: Double)
   112   {
   106   {
   113     Transform.scale = s
   107     Transform.scale = s
   117 
   111 
   118   rescale(1.0)
   112   rescale(1.0)
   119 
   113 
   120 
   114 
   121   /* transform */
   115   /* transform */
       
   116 
       
   117   def fit_to_window()
       
   118   {
       
   119     Transform.fit_to_window()
       
   120     refresh()
       
   121   }
   122 
   122 
   123   private object Transform
   123   private object Transform
   124   {
   124   {
   125     private var _scale: Double = 1.0
   125     private var _scale: Double = 1.0
   126     def scale: Double = _scale
   126     def scale: Double = _scale
   163     }
   163     }
   164   }
   164   }
   165 
   165 
   166 
   166 
   167   /* interaction */
   167   /* interaction */
       
   168 
       
   169   visualizer.model.Colors.events += { case _ => repaint() }
       
   170   visualizer.model.Mutators.events += { case _ => repaint() }
   168 
   171 
   169   listenTo(mouse.moves)
   172   listenTo(mouse.moves)
   170   listenTo(mouse.clicks)
   173   listenTo(mouse.clicks)
   171   reactions +=
   174   reactions +=
   172   {
   175   {
   179     case e @ MouseClicked(_, p, m, n, _) =>
   182     case e @ MouseClicked(_, p, m, n, _) =>
   180       Mouse_Interaction.clicked(p, m, n, SwingUtilities.isRightMouseButton(e.peer))
   183       Mouse_Interaction.clicked(p, m, n, SwingUtilities.isRightMouseButton(e.peer))
   181       repaint()
   184       repaint()
   182   }
   185   }
   183 
   186 
   184   visualizer.model.Colors.events += { case _ => repaint() }
       
   185   visualizer.model.Mutators.events += { case _ => repaint() }
       
   186 
       
   187   private object Mouse_Interaction
   187   private object Mouse_Interaction
   188   {
   188   {
   189     private var draginfo: (Point, List[Graph_Display.Node], List[Layout.Dummy]) =
   189     private var draginfo: (Point, List[Graph_Display.Node], List[Layout.Dummy]) =
   190       (new Point(0, 0), Nil, Nil)
   190       (new Point(0, 0), Nil, Nil)
   191 
   191