Code Search for Developers
 
 
  

SWTMouseInput.java from MASE: Agile Software Engineering at Krugle


Show SWTMouseInput.java syntax highlighted

/**
 * 
 */
package ucalgary.ebe.ci.gestures.input.swt;

import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.widgets.Control;

import ucalgary.ebe.ci.ICIInputProvider;
import ucalgary.ebe.ci.gestures.input.AbstractTimedInput;
import ucalgary.ebe.ci.gestures.input.GestureInput;

/**
 * @author hkolenda
 * 
 */
public class SWTMouseInput extends AbstractTimedInput implements GestureInput, MouseListener, MouseMoveListener, ICIInputProvider {

    private int button = 3;

    private Control control = null;

    public SWTMouseInput(Control control) {
        control.addMouseListener(this);
        control.addMouseMoveListener(this);
        this.control = control;
        setGestureTimeout(3000);
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
     */
    public void mouseDoubleClick(MouseEvent e) {

    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
     */
    public void mouseDown(MouseEvent e) {
        if (e.button == button) {
            this.fireStartGesture();
        }
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
     */
    public void mouseMove(MouseEvent e) {
        fireCoordInput(e.x, e.y);
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
     */
    public void mouseUp(MouseEvent e) {
        if (e.button == button) {
            this.fireStopGesture();
        }
    }

    /**
     * @param button
     *            the button to set
     */
    public void setButton(int button) {
        this.button = button;
    }

    /*
     * (non-Javadoc)
     * 
     * @see ucalgary.ebe.ci.ICIInputProvider#stop()
     */
    public void stop() {
        if (control != null) {
            control.removeMouseListener(this);
            control.removeMouseMoveListener(this);
        }

    }

}




See more files for this project here

MASE: Agile Software Engineering

The MASE project investigates methods to support the coordination and executable acceptance testing of software projects. Keywords: Agile methods, distributed teams, Extreme Programming. See http://ebe.cpsc.ucalgary.ca/ebe for more information.

Project homepage: http://sourceforge.net/projects/mase
Programming language(s): Java,XML
License: other

  SWTMouseInput.java
  SWTMouseWithKeyComboInput.java
  SWTMouseWithKeyInput.java