Package com.bbn.openmap.tools.drawing

Source Code of com.bbn.openmap.tools.drawing.OMDrawingToolMouseMode

// **********************************************************************
//
// <copyright>
//
//  BBN Technologies
//  10 Moulton Street
//  Cambridge, MA 02138
//  (617) 873-8000
//
//  Copyright (C) BBNT Solutions LLC. All rights reserved.
//
// </copyright>
// **********************************************************************
// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/tools/drawing/OMDrawingToolMouseMode.java,v $
// $Revision: 1.3.2.1 $ $Date: 2004/10/14 18:27:42 $ $Author: dietrick $
// **********************************************************************

package com.bbn.openmap.tools.drawing;

import java.awt.Cursor;
import java.awt.event.MouseEvent;

import com.bbn.openmap.event.CoordMouseMode;
import com.bbn.openmap.omGraphics.EditableOMGraphic;
import com.bbn.openmap.util.Debug;

/**
* The OMDrawingToolMouseMode is the MapMouseMode that handles the
* events for the OMDrawingTool.
*/
public class OMDrawingToolMouseMode extends CoordMouseMode {

    /**
     * Mouse Mode identifier, which is "Drawing Tool".
     */
    public final static transient String modeID = "Drawing";

    protected OMDrawingTool drawingTool = null;

    /**
     * Construct an OMDrawingToolMouseMode. Sets the ID of the mode to
     * the modeID, the consume mode to true.
     */
    public OMDrawingToolMouseMode() {
        super(modeID, true);
    }

    /**
     * Construct a OMDrawingToolMouseMode. Lets you set the consume
     * mode. If the events are consumed, then a MouseEvent is sent
     * only to the first MapMouseListener that successfully processes
     * the event. If they are not consumed, then all of the listeners
     * get a chance to act on the event.
     *
     * @param omdt the drawing tool for this mousemode
     */
    public OMDrawingToolMouseMode(OMDrawingTool omdt) {
        this();
        drawingTool = omdt;
        setModeCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    }

    /**
     * Set the DrawingTool for the mouse mode. Expected to be
     * self-called by the mouse mode using the BeanContext.
     */
    protected void setDrawingTool(OMDrawingTool omdt) {
        drawingTool = omdt;
    }

    /**
     * Get the drawing tool for the mouse mode.
     */
    protected OMDrawingTool getDrawingTool() {
        return drawingTool;
    }

    /**
     * Get the EditableOMGraphic from the OMDrawingTool. Returns null
     * if anything isn't set up correctly.
     */
    protected EditableOMGraphic getCurrentGraphic() {
        if (drawingTool == null) {
            return null;
        }
        return drawingTool.getCurrentEditable();
    }

    // MouseListener and MouseMotionListener interface methods

    /**
     * 
     */
    public void mousePressed(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mousePressed");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mousePressed(e);
        }
        fireMouseLocation(e);
    }

    /**
     * 
     */
    public void mouseReleased(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mousePressed");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseReleased(e);
        }
        fireMouseLocation(e);
        if (drawingTool != null) {
            if (drawingTool.isMask(OMDrawingTool.DEACTIVATE_ASAP_BEHAVIOR_MASK)) {
                drawingTool.deactivate();
            }
        }
    }

    /**
     * 
     */
    public void mouseClicked(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mouseClicked");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseClicked(e);
        }
    }

    /**
     * 
     */
    public void mouseEntered(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mouseEntered");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseEntered(e);
        }
    }

    /**
     * 
     */
    public void mouseExited(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mouseExited");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseExited(e);
        }
    }

    /**
     * 
     */
    public void mouseDragged(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mouseDragged");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseDragged(e);
        }
        fireMouseLocation(e);
    }

    /**
     * 
     */
    public void mouseMoved(MouseEvent e) {
        Debug.message("drawingtooldetail", "DrawingTool.mouseMoved");
        EditableOMGraphic graphic = getCurrentGraphic();
        if (graphic != null) {
            graphic.mouseMoved(e);
        }
        fireMouseLocation(e);
    }

}
TOP

Related Classes of com.bbn.openmap.tools.drawing.OMDrawingToolMouseMode

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.