OSDN Git Service

2002-04-16 David S. Miller <davem@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / java / awt / AWTEvent.java
1 /* Copyright (C) 1999, 2000, 2002  Free Software Foundation
2
3 This file is part of GNU Classpath.
4
5 GNU Classpath is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 GNU Classpath is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNU Classpath; see the file COPYING.  If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA.
19
20 Linking this library statically or dynamically with other modules is
21 making a combined work based on this library.  Thus, the terms and
22 conditions of the GNU General Public License cover the whole
23 combination.
24
25 As a special exception, the copyright holders of this library give you
26 permission to link this library with independent modules to produce an
27 executable, regardless of the license terms of these independent
28 modules, and to copy and distribute the resulting executable under
29 terms of your choice, provided that you also meet, for each linked
30 independent module, the terms and conditions of the license of that
31 module.  An independent module is a module which is not derived from
32 or based on this library.  If you modify this library, you may extend
33 this exception to your version of the library, but you are not
34 obligated to do so.  If you do not wish to do so, delete this
35 exception statement from your version. */
36
37
38 package java.awt;
39
40 /* Written using on-line Java 2 Platform Standard Edition v1.3 API 
41  * Specification, as well as "The Java Class Libraries", 2nd edition 
42  * (Addison-Wesley, 1998).
43  * Status:  Believed complete and correct, except for the java.awt.Event 
44  * compatibility constructor.
45  */
46
47 /**
48  * AWTEvent is the root event class for all AWT events in the JDK 1.1 event 
49  * model. It supersedes the Event class from JDK 1.0.
50  * @author Warren Levy  <warrenl@cygnus.com>
51  * @author Aaron M. Renn (arenn@urbanophile.com)
52  */
53 public abstract class AWTEvent extends java.util.EventObject
54 {
55   /**
56    * @serial Indicates whether or not this event has been consumed.
57    */
58   protected boolean consumed;
59
60   /**
61    * @serial The identifier number of this event.
62    */
63   protected int id;
64
65   /**
66   * Mask for selecting component events.
67   */
68   public static final long COMPONENT_EVENT_MASK = 0x001;
69
70   /**
71   * Mask for selecting container events.
72   */
73   public static final long CONTAINER_EVENT_MASK = 0x002;
74
75   /**
76   * Mask for selecting component focus events.
77   */
78   public static final long FOCUS_EVENT_MASK = 0x004;
79
80   /**
81   * Mask for selecting keyboard events.
82   */
83   public static final long KEY_EVENT_MASK = 0x008;
84
85   /**
86   * Mask for mouse button events.
87   */
88   public static final long MOUSE_EVENT_MASK = 0x010;
89
90   /**
91   * Mask for mouse motion events.
92   */
93   public static final long MOUSE_MOTION_EVENT_MASK = 0x020;
94
95   /**
96   * Mask for window events.
97   */
98   public static final long WINDOW_EVENT_MASK = 0x040;
99
100   /**
101   * Mask for action events.
102   */
103   public static final long ACTION_EVENT_MASK = 0x080;
104
105   /**
106   * Mask for adjustment events.
107   */
108   public static final long ADJUSTMENT_EVENT_MASK = 0x100;
109
110   /**
111   * Mask for item events.
112   */
113   public static final long ITEM_EVENT_MASK = 0x200;
114
115   /**
116   * Mask for text events.
117   */
118   public static final long TEXT_EVENT_MASK = 0x400;
119
120   /**
121   * This is the highest number for event ids that are reserved for use by
122   * the AWT system itself.
123   */
124   public static final int RESERVED_ID_MAX = 1999;
125
126   public static final long INPUT_METHOD_EVENT_MASK = 1 << 11;
127
128   /* Additional event selection masks from JDK 1.3 javadocs */
129   public static final long PAINT_EVENT_MASK            = 1 << 13,
130                            INVOCATION_EVENT_MASK       = 1 << 14,
131                            HIERARCHY_EVENT_MASK        = 1 << 15,
132                            HIERARCHY_BOUNDS_EVENT_MASK = 1 << 16;
133
134   /**
135    * Initializes a new instance of <code>AWTEvent</code> from the
136    * specified Java 1.0 event object.
137    *
138    * @param event The Java 1.0 event to initialize from.
139    *
140    *
141    * Removed this method because we no longer support Java 1.0
142    *
143    */
144   public AWTEvent(Event event)
145   {
146     // FIXME??
147     super(event.target);
148     this.id = event.id;
149   }
150
151   /**
152    * Initializes a new instance of <code>AWTEvent</code> with the specified
153    * source and id.
154    *
155    * @param source The object that caused the event.
156    * @param id The event id.
157    */
158   public AWTEvent(Object source, int id)
159   {
160     super(source);
161     this.id = id;
162   }
163
164   /**
165    * Returns the id number of this event.
166    *
167    * @return The id number of this event.
168    */
169   public int getID()
170   {
171     return id;
172   }
173
174   /**
175    * Returns a string representation of this event.
176    *
177    * @return A string representation of this event.
178    */
179   public String paramString ()
180   {
181     return "";
182   }
183
184   /**
185    * Returns a string representation of this event.
186    *
187    * @return A string representation of this event.
188    */
189   public String toString ()
190   {
191     return getClass().getName() + "[" + paramString() + "] on " + source;
192   }
193
194   /**
195    * Consumes this event so that it will not be processed in the default
196    * manner.
197    */
198   protected void consume()
199   {
200     consumed = true;
201   }
202
203   /**
204    * Tests whether not not this event has been consumed.  A consumed event
205    * is not processed in the default manner.
206    *
207    * @return <code>true</code> if this event has been consumed, 
208    * <code>false</code> otherwise.
209    */
210   protected boolean isConsumed()
211   {
212     return consumed;
213   }
214 }