All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.uci.ics.jung.visualization.control.AbstractGraphMousePlugin Maven / Gradle / Ivy

/*
 * Copyright (c) 2005, The JUNG Authors
 * All rights reserved.
 *
 * This software is open-source under the BSD license; see either "license.txt"
 * or https://github.com/jrtom/jung/blob/master/LICENSE for a description.
 *
 * Created on Jul 6, 2005
 */

package edu.uci.ics.jung.visualization.control;

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

/**
 * a base class for GraphMousePlugin instances. Holds some members common to all GraphMousePlugins
 *
 * @author thomasnelson
 */
public abstract class AbstractGraphMousePlugin implements GraphMousePlugin {

  /** modifiers to compare against mouse event modifiers */
  protected int modifiers;

  /** the location in the View where the mouse was pressed */
  protected Point down;

  /** the special cursor that plugins may display */
  protected Cursor cursor;

  /**
   * Creates an instance with the specified mouse event modifiers.
   *
   * @param modifiers the mouse event modifiers to use
   */
  public AbstractGraphMousePlugin(int modifiers) {
    this.modifiers = modifiers;
  }

  /** getter for mouse modifiers */
  public int getModifiers() {
    return modifiers;
  }

  /** setter for mouse modifiers */
  public void setModifiers(int modifiers) {
    this.modifiers = modifiers;
  }

  /**
   * check the mouse event modifiers against the instance member modifiers. Default implementation
   * checks equality. Can be overridden to test with a mask
   */
  public boolean checkModifiers(MouseEvent e) {
    return e.getModifiers() == modifiers;
  }

  /** @return Returns the cursor. */
  public Cursor getCursor() {
    return cursor;
  }

  /** @param cursor The cursor to set. */
  public void setCursor(Cursor cursor) {
    this.cursor = cursor;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy