2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / libjava / javax / swing / KeyStroke.java
blobc3053aa289ef4f922b64e8a3cc4bef7b8fac419b
1 /* KeyStroke.java --
2 Copyright (C) 2002 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
38 package javax.swing;
40 import java.awt.AWTKeyStroke;
41 import java.awt.event.KeyEvent;
42 import java.io.Serializable;
44 /**
45 * KeyStroke
46 * @author Andrew Selkirk
47 * @version 1.0
49 public class KeyStroke implements Serializable
51 static final long serialVersionUID = -9060180771037902530L;
53 //-------------------------------------------------------------
54 // Variables --------------------------------------------------
55 //-------------------------------------------------------------
57 /**
58 * keyChar
60 private char keyChar = 0;
62 /**
63 * keyCode
65 private int keyCode = 0;
67 /**
68 * modifiers
70 private int modifiers = 0;
72 /**
73 * onKeyRelease
75 private boolean onKeyRelease = false;
78 //-------------------------------------------------------------
79 // Initialization ---------------------------------------------
80 //-------------------------------------------------------------
82 /**
83 * Constructor KeyStroke
85 private KeyStroke() {
86 } // KeyStroke()
89 //-------------------------------------------------------------
90 // Methods ----------------------------------------------------
91 //-------------------------------------------------------------
93 /**
94 * hashCode
95 * @returns int
97 public int hashCode() {
98 return 0; // TODO
99 } // hashCode()
102 * equals
103 * @param object TODO
104 * @returns boolean
106 public boolean equals(Object object) {
108 // Variables
109 KeyStroke key;
111 if (object instanceof KeyStroke) {
112 key = (KeyStroke) object;
113 if (key.keyChar == keyChar &&
114 key.keyCode == keyCode &&
115 key.modifiers == modifiers &&
116 key.onKeyRelease == onKeyRelease) {
117 return true;
118 } // if
119 } // if
120 return false;
122 } // equals()
125 * toString
126 * @returns String
128 public String toString() {
129 return null; // TODO
130 } // toString()
133 * getKeyStroke
134 * @param keyChar TODO
135 * @returns KeyStroke
137 public static KeyStroke getKeyStroke(char keyChar) {
139 // Variables
140 KeyStroke key;
142 key = new KeyStroke();
143 key.keyChar = keyChar;
144 return key;
146 } // getKeyStroke()
149 * getKeyStroke - deprecated
150 * @param keyChar TODO
151 * @param onKeyRelease TODO
152 * @returns KeyStroke
154 public static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease) {
155 KeyStroke key = getKeyStroke(keyChar);
156 key.onKeyRelease = onKeyRelease;
157 return key;
158 } // getKeyStroke()
161 * getKeyStroke
162 * @param keyChar TODO
163 * @param modifiers TODO
164 * @returns KeyStroke
166 public static KeyStroke getKeyStroke(Character keyChar, int modifiers) {
167 KeyStroke key = getKeyStroke(keyChar.charValue());
168 key.modifiers = modifiers;
169 return key;
170 } // getKeyStroke()
173 * getKeyStroke
174 * @param keyCode TODO
175 * @param modifiers TODO
176 * @param onKeyRelease TODO
177 * @returns KeyStroke
179 public static KeyStroke getKeyStroke(int keyCode, int modifiers,
180 boolean onKeyRelease) {
182 // Variables
183 KeyStroke key;
185 key = new KeyStroke();
186 key.keyCode = keyCode;
187 key.modifiers = modifiers;
188 key.onKeyRelease = onKeyRelease;
189 return key;
191 } // getKeyStroke()
194 * getKeyStroke
195 * @param keyCode TODO
196 * @param modifiers TODO
197 * @returns KeyStroke
199 public static KeyStroke getKeyStroke(int keyCode, int modifiers) {
200 return getKeyStroke(keyCode, modifiers, false);
201 } // getKeyStroke()
204 * getKeyStroke
205 * @param string TODO
206 * @returns KeyStroke
208 public static KeyStroke getKeyStroke(String string) {
209 return null; // TODO
210 } // getKeyStroke()
213 * getKeyStrokeForEvent
214 * @param event TODO
215 * @returns KeyStroke
217 public static KeyStroke getKeyStrokeForEvent(KeyEvent event) {
219 // Variables
220 int eventID;
221 int eventMod;
223 // Get Event ID
224 eventID = event.getID();
225 eventMod = event.getModifiers();
227 // Check for KEY_TYPED event
228 if (eventID == KeyEvent.KEY_TYPED) {
229 return getKeyStroke(event.getKeyChar(), eventMod);
231 // KEY_PRESSED or KEY_RELEASED event
232 } else {
233 return getKeyStroke(event.getKeyCode(), eventMod);
234 } // if
236 } // getKeyStrokeForEvent()
239 * getKeyChar
240 * @returns char
242 public char getKeyChar() {
243 return keyChar;
244 } // getKeyChar()
247 * getKeyCode
248 * @returns int
250 public int getKeyCode() {
251 return keyCode;
252 } // getKeyCode()
255 * getModifiers
256 * @returns int
258 public int getModifiers() {
259 return modifiers; // TODO
260 } // getModifiers()
263 * isOnKeyRelease
264 * @returns boolean
266 public boolean isOnKeyRelease() {
267 return onKeyRelease;
268 } // isOnKeyRelease()
271 } // KeyStroke