001package org.openstreetmap.gui.jmapviewer;
002
003//License: GPL. Copyright 2008 by Jan Peter Stotz
004
005import java.awt.event.MouseListener;
006import java.awt.event.MouseMotionListener;
007import java.awt.event.MouseWheelListener;
008
009/**
010 * Abstract base class for all mouse controller implementations. For
011 * implementing your own controller create a class that derives from this one
012 * and implements one or more of the following interfaces:
013 * <ul>
014 * <li>{@link MouseListener}</li>
015 * <li>{@link MouseMotionListener}</li>
016 * <li>{@link MouseWheelListener}</li>
017 * </ul>
018 *
019 * @author Jan Peter Stotz
020 */
021public abstract class JMapController {
022
023    protected JMapViewer map;
024
025    public JMapController(JMapViewer map) {
026        this.map = map;
027        if (this instanceof MouseListener)
028            map.addMouseListener((MouseListener) this);
029        if (this instanceof MouseWheelListener)
030            map.addMouseWheelListener((MouseWheelListener) this);
031        if (this instanceof MouseMotionListener)
032            map.addMouseMotionListener((MouseMotionListener) this);
033    }
034
035}