package org.codemap.mapview;
import org.codemap.layers.CodemapVisualization;
import org.eclipse.swt.events.DragDetectEvent;
import org.eclipse.swt.events.DragDetectListener;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.MouseWheelListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.widgets.Canvas;
public class CanvasListener implements PaintListener, MouseListener,
MouseMoveListener, MouseTrackListener, MouseWheelListener,
DragDetectListener, KeyListener {
private CodemapVisualization visualization;
public CanvasListener(Canvas newCanvas) {
newCanvas.addPaintListener(this);
newCanvas.addMouseListener(this);
newCanvas.addMouseMoveListener(this);
newCanvas.addMouseTrackListener(this);
newCanvas.addMouseWheelListener(this);
newCanvas.addDragDetectListener(this);
newCanvas.addKeyListener(this);
}
public void setVisualization(CodemapVisualization visualization) {
this.visualization = visualization;
}
public CodemapVisualization getVisualization() {
return visualization;
}
@Override
public void paintControl(PaintEvent e) {
if (visualization != null)
visualization.paintControl(e);
}
@Override
public void mouseDoubleClick(MouseEvent e) {
if (visualization != null)
visualization.mouseDoubleClick(e);
}
@Override
public void mouseDown(MouseEvent e) {
if (visualization != null)
visualization.mouseDown(e);
}
@Override
public void mouseUp(MouseEvent e) {
if (visualization != null)
visualization.mouseUp(e);
}
@Override
public void mouseMove(MouseEvent e) {
if (visualization != null)
visualization.mouseMove(e);
}
@Override
public void mouseEnter(MouseEvent e) {
if (visualization != null)
visualization.mouseEnter(e);
}
@Override
public void mouseExit(MouseEvent e) {
if (visualization != null)
visualization.mouseExit(e);
}
@Override
public void mouseHover(MouseEvent e) {
if (visualization != null)
visualization.mouseHover(e);
}
@Override
public void mouseScrolled(MouseEvent e) {
if (visualization != null)
visualization.mouseScrolled(e);
}
@Override
public void dragDetected(DragDetectEvent e) {
if (visualization != null)
visualization.dragDetected(e);
}
@Override
public void keyPressed(KeyEvent e) {
if (visualization != null)
visualization.keyPressed(e);
}
@Override
public void keyReleased(KeyEvent e) {
if (visualization != null)
visualization.keyReleased(e);
}
}