1 package de.fzi.wim.guibase.graphview.view;
2
3 import java.awt.Point;
4 import java.awt.Rectangle;
5 import java.awt.Graphics2D;
6 import java.awt.event.MouseEvent;
7 import java.awt.event.KeyEvent;
8 import java.awt.event.FocusEvent;
9
10 /***
11 * A utility abstract class providing default implementation of listener methods.
12 */
13 public abstract class AbstractManipulator implements Manipulator {
14 /*** The graph pane. */
15 protected JGraphPane m_graphPane;
16 /*** The screen point of the last mouse event. */
17 protected Point m_lastMouseEventScreenPoint;
18
19 public void setGraphPane(JGraphPane graphPane) {
20 m_graphPane=graphPane;
21 }
22 public void paint(Graphics2D g) {
23 }
24 public void mouseClicked(MouseEvent e) {
25 }
26 public void mousePressed(MouseEvent e) {
27 }
28 public void mouseReleased(MouseEvent e) {
29 }
30 public void mouseEntered(MouseEvent e) {
31 }
32 public void mouseExited(MouseEvent e) {
33 }
34 public void mouseDragged(MouseEvent e) {
35 }
36 public void mouseMoved(MouseEvent e) {
37 }
38 public void keyTyped(KeyEvent e) {
39 }
40 public void keyPressed(KeyEvent e) {
41 }
42 public void keyReleased(KeyEvent e) {
43 }
44 public void focusGained(FocusEvent e) {
45 }
46 public void focusLost(FocusEvent e) {
47 }
48 public void notifyGraphPaneScrolled() {
49 }
50 protected void updateLastMouseEventScreenPoint(MouseEvent e) {
51 Point point=e.getPoint();
52 m_lastMouseEventScreenPoint=m_graphPane.getLocationOnScreen();
53 m_lastMouseEventScreenPoint.x+=point.x;
54 m_lastMouseEventScreenPoint.y+=point.y;
55 }
56 protected Point getLastMouseEventPoint() {
57 Point point=m_graphPane.getLocationOnScreen();
58 point.setLocation(m_lastMouseEventScreenPoint.x-point.x,m_lastMouseEventScreenPoint.y-point.y);
59 return point;
60 }
61 protected void autoscroll(MouseEvent e) {
62 if (!m_graphPane.getVisibleRect().contains(e.getX(),e.getY()))
63 m_graphPane.scrollRectToVisible(new Rectangle(e.getX(),e.getY(),1,1));
64 }
65 }