blob: 11b595e0a3d92cf64f0aa1e6a36d7e192eafd36b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.gef.requests;
import org.eclipse.swt.SWT;
/**
* A request to select an edit part.
*/
public class SelectionRequest extends LocationRequest {
private int statemask;
private int lastButtonPressed;
/**
* Returns the last button that was pressed. This is useful if there is more
* than one mouse button pressed and the most recent button pressed needs to
* be identified.
*
* @return the last button pressed
*/
public int getLastButtonPressed() {
return lastButtonPressed;
}
/**
* Returns the statemask for this request.
*
* @return the statemask
* @since 3.7
*/
public int getModifiers() {
return statemask;
}
/**
* Returns <code>true</code> if the ALT key is currently pressed.
*
* @return whether the ALT key is pressed
*/
public boolean isAltKeyPressed() {
return ((statemask & SWT.ALT) != 0);
}
/**
* Returns <code>true</code> if any mouse button is currently pressed.
*
* @return whether any mouse button is pressed
*/
public boolean isAnyMouseButtonPressed() {
return ((statemask & SWT.BUTTON_MASK) != 0);
}
/**
* Returns <code>true</code> if the COMMAND key is currently pressed.
*
* @return whether the COMMAND key is pressed
* @since 3.7
*/
public boolean isCommandKeyPressed() {
return ((statemask & SWT.COMMAND) != 0);
}
/**
* Returns <code>true</code> if the CTRL key is currently pressed.
*
* @return whether the CTRL key is pressed
*/
public boolean isControlKeyPressed() {
return ((statemask & SWT.CTRL) != 0);
}
/**
* Returns <code>true</code> if the left mouse button is pressed.
*
* @return whether the left mouse button is pressed
*/
public boolean isLeftMouseButtonPressed() {
return ((statemask & SWT.BUTTON1) != 0);
}
/**
* Returns <code>true</code> if the right mouse button is pressed.
*
* @return whether the right mouse button is pressed
*/
public boolean isRightMouseButtonPressed() {
return ((statemask & SWT.BUTTON3) != 0);
}
/**
* Returns <code>true</code> if the SHIFT key is currently pressed.
*
* @return whether the SHIFT key is pressed
*/
public boolean isShiftKeyPressed() {
return ((statemask & SWT.SHIFT) != 0);
}
/**
* Sets the statemask for this request.
*
* @param mask
* the statemask
*/
public void setModifiers(int mask) {
statemask = mask;
}
/**
* Sets the last mouse button that was pressed.
*
* @param button
* the last button pressed
*/
public void setLastButtonPressed(int button) {
lastButtonPressed = button;
}
}