1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
14 * @author Toni Kalajainen
\r
16 package org.simantics.scenegraph.g2d.events;
\r
22 * @see java.awt.event.KeyEvent for Virtual Key (VK) codes
\r
24 public abstract class KeyEvent extends org.simantics.scenegraph.g2d.events.Event {
\r
26 private static final long serialVersionUID = 2802306097538088526L;
\r
28 /** Key ascii character */
\r
29 public final char character;
\r
34 * @see java.awt.event.KeyEvent
\r
36 public final int keyCode;
\r
38 /** AWT state mask */
\r
39 public final int stateMask;
\r
41 public KeyEvent(Object context, long time, char character, int keyCode, int stateMask) {
\r
42 super(context, time);
\r
43 this.character = character;
\r
44 this.keyCode = keyCode;
\r
45 this.stateMask = stateMask;
\r
48 public boolean hasAnyModifier(int mask) {
\r
49 return (stateMask & mask) != 0;
\r
52 public boolean hasAllModifiers(int mask) {
\r
53 return (stateMask & mask) == mask;
\r
57 * Returns whether or not the Shift modifier is down on this event.
\r
59 public boolean isShiftDown() {
\r
60 return (stateMask & MouseEvent.SHIFT_MASK) != 0;
\r
64 * Returns whether or not the Control modifier is down on this event.
\r
66 public boolean isControlDown() {
\r
67 return (stateMask & MouseEvent.CTRL_MASK) != 0;
\r
71 * Returns whether or not the Alt modifier is down on this event.
\r
73 public boolean isAltDown() {
\r
74 return (stateMask & MouseEvent.ALT_MASK) != 0;
\r
78 * Returns whether or not the Alt Graph modifier is down on this event.
\r
80 public boolean isAltGraphDown() {
\r
81 return (stateMask & MouseEvent.ALT_GRAPH_MASK) != 0;
\r
84 public static class KeyPressedEvent extends KeyEvent {
\r
85 private static final long serialVersionUID = -648528900110788474L;
\r
87 public KeyPressedEvent(Object context, long time, char character, int keyCode, int stateMask) {
\r
88 super(context, time, character, keyCode, stateMask);
\r
92 public String toString() {
\r
93 return "Key press: character='" + character + "', keyCode='" + keyCode + "', stateMask='" + stateMask + "'";
\r
97 public static class KeyReleasedEvent extends KeyEvent {
\r
98 private static final long serialVersionUID = -5434711507289906052L;
\r
100 public KeyReleasedEvent(Object context, long time, char character, int keyCode, int stateMask) {
\r
101 super(context, time, character, keyCode, stateMask);
\r
105 public String toString() {
\r
106 return "Key release: character='" + character + "', keyCode='" + keyCode + "', stateMask='" + stateMask + "'";
\r