001    package org.openstreetmap.gui.jmapviewer;
002    
003    //License: GPL. Copyright 2008 by Jan Peter Stotz
004    
005    import java.awt.event.MouseListener;
006    import java.awt.event.MouseMotionListener;
007    import 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     */
021    public 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    }