[kaffe] CVS kaffe (riccardo): improved mouse pressed and released events
Kaffe CVS
cvs-commits at kaffe.org
Mon Apr 24 15:44:09 PDT 2006
PatchSet 7273
Date: 2006/04/24 22:34:31
Author: riccardo
Branch: HEAD
Tag: (none)
Log:
improved mouse pressed and released events
Members:
ChangeLog:1.4777->1.4778
libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java:1.1->1.2
libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java:1.4->1.5
libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java:1.1->1.2
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4777 kaffe/ChangeLog:1.4778
--- kaffe/ChangeLog:1.4777 Mon Apr 24 21:59:35 2006
+++ kaffe/ChangeLog Mon Apr 24 22:34:31 2006
@@ -1,4 +1,10 @@
2006-04-24 Riccardo Mottola <riccardo at kaffe.org>
+ * awt-implementations/kaffe/java/awt/ActionEvt.java,
+ awt-implementations/kaffe/java/awt/MouseEvt.java,
+ awt-implementations/kaffe/java/awt/event/ActionEvent.java:
+ improved mouse pressed and released events.
+
+2006-04-24 Riccardo Mottola <riccardo at kaffe.org>
* libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java:
removed package-protected field "button" so that the MouseEvent field is used.
Index: kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java
diff -u kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java:1.1 kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java:1.2
--- kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java:1.1 Thu Jul 22 19:19:29 2004
+++ kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/ActionEvt.java Mon Apr 24 22:34:36 2006
@@ -32,8 +32,8 @@
e.source = source;
e.id = id;
- e.cmd = cmd;
- e.mods = mods;
+ e.actionCommand = cmd;
+ e.modifiers = mods;
return e;
}
Index: kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java
diff -u kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java:1.4 kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java:1.5
--- kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java:1.4 Mon Apr 24 21:59:38 2006
+++ kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/MouseEvt.java Mon Apr 24 22:34:36 2006
@@ -255,11 +255,11 @@
if ( mods != 0 ) {
if ( (mods & BUTTON1_MASK) != 0 )
- e.button = 1;
+ e.button = BUTTON1;
else if ( (mods & BUTTON2_MASK) != 0 )
- e.button = 2;
+ e.button = BUTTON2;
else if ( (mods & BUTTON3_MASK) != 0 )
- e.button = 3;
+ e.button = BUTTON3;
}
return e;
Index: kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java
diff -u kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java:1.1 kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java:1.2
--- kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java:1.1 Thu Jul 22 19:19:42 2004
+++ kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/event/ActionEvent.java Mon Apr 24 22:34:36 2006
@@ -1,68 +1,226 @@
+/* ActionEvent.java -- an action has been triggered
+ Copyright (C) 1999, 2002, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
package java.awt.event;
import java.awt.AWTEvent;
-import java.awt.Event;
+import java.awt.EventQueue;
/**
- * class ActionEvent -
- *
- * Copyright (c) 1998
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
+ * This event is generated when an action on a component (such as a
+ * button press) occurs.
*
- * @author P.C.Mehlitz
+ * @author Aaron M. Renn (arenn at urbanophile.com)
+ * @see ActionListener
+ * @since 1.1
+ * @status updated to 1.4
*/
-public class ActionEvent
- extends AWTEvent
+public class ActionEvent extends AWTEvent
{
- protected int mods;
- protected String cmd;
- final public static int SHIFT_MASK = InputEvent.SHIFT_MASK;
- final public static int CTRL_MASK = InputEvent.CTRL_MASK;
- final public static int META_MASK = InputEvent.META_MASK;
- final public static int ALT_MASK = InputEvent.ALT_MASK;
- final public static int ACTION_FIRST = 1001;
- final public static int ACTION_LAST = 1001;
- final public static int ACTION_PERFORMED = ACTION_FIRST;
- private static final long serialVersionUID = -7671078796273832149L;
-
-public ActionEvent ( Object src, int evtId, String cmdString ) {
- this( src, evtId, cmdString, 0);
-}
-
-public ActionEvent ( Object src, int evtId, String cmdString, int modifiers ) {
- super( src, evtId);
-
- mods = modifiers;
- cmd = cmdString;
-}
-
-public String getActionCommand () {
- return cmd;
-}
-
-public int getModifiers () {
- return mods;
-}
-
-protected Event initOldEvent ( Event e ) {
- e.target = source;
- e.id = id;
- e.arg = cmd;
-
- return e;
-}
-
-public String paramString() {
- String s;
-
- if ( id == ACTION_PERFORMED )
- s = "ACTION_PERFORMED";
- else
- s = "ACTION: " + id;
-
- return s + ", mods: " + mods + ", cmd: " + cmd;
-}
-}
+ /**
+ * Compatible with JDK 1.1+.
+ */
+ private static final long serialVersionUID = -7671078796273832149L;
+
+ /** Bit mask indicating the shift key was pressed. */
+ public static final int SHIFT_MASK = InputEvent.SHIFT_MASK;
+
+ /** Bit mask indicating the control key was pressed. */
+ public static final int CTRL_MASK = InputEvent.CTRL_MASK;
+
+ /** Bit mask indicating the that meta key was pressed. */
+ public static final int META_MASK = InputEvent.META_MASK;
+
+ /** Bit mask indicating that the alt key was pressed. */
+ public static final int ALT_MASK = InputEvent.ALT_MASK;
+
+ /** The first id number in the range of action id's. */
+ public static final int ACTION_FIRST = 1001;
+
+ /** The last id number in the range of action id's. */
+ public static final int ACTION_LAST = 1001;
+
+ /** An event id indicating that an action has occurred. */
+ public static final int ACTION_PERFORMED = 1001;
+
+ /**
+ * A nonlocalized string that gives more specific details of the event cause.
+ * (changed to protected to accomodate our Evt classes)
+ * @see #getActionCommand()
+ * @serial the command for this event
+ */
+ protected String actionCommand;
+
+ /**
+ * The bitmask of the modifiers that were pressed during the action.
+ * (changed to protected to accomodate our Evt classes)
+ * @see #getModifiers()
+ * @serial modifiers for this event
+ */
+ protected int modifiers;
+
+ /**
+ * The timestamp of this event; usually the same as the underlying input
+ * event.
+ *
+ * @see #getWhen()
+ * @serial the timestamp of the event
+ * @since 1.4
+ */
+ private final long when;
+
+ /**
+ * Initializes a new instance of <code>ActionEvent</code> with the
+ * specified source, id, and command. Note that an invalid id leads to
+ * unspecified results.
+ *
+ * @param source the event source
+ * @param id the event id
+ * @param command the command string for this action
+ * @throws IllegalArgumentException if source is null
+ */
+ public ActionEvent(Object source, int id, String command)
+ {
+ this(source, id, command, EventQueue.getMostRecentEventTime(), 0);
+ }
+
+ /**
+ * Initializes a new instance of <code>ActionEvent</code> with the
+ * specified source, id, command, and modifiers. Note that an invalid id
+ * leads to unspecified results.
+ *
+ * @param source the event source
+ * @param id the event id
+ * @param command the command string for this action
+ * @param modifiers the bitwise or of modifier keys down during the action
+ * @throws IllegalArgumentException if source is null
+ */
+ public ActionEvent(Object source, int id, String command, int modifiers)
+ {
+ this(source, id, command, EventQueue.getMostRecentEventTime(), modifiers);
+ }
+
+ /**
+ * Initializes a new instance of <code>ActionEvent</code> with the
+ * specified source, id, command, and modifiers, and timestamp. Note that
+ * an invalid id leads to unspecified results.
+ *
+ * @param source the event source
+ * @param id the event id
+ * @param command the command string for this action
+ * @param when the timestamp of the event
+ * @param modifiers the bitwise or of modifier keys down during the action
+ * @throws IllegalArgumentException if source is null
+ * @since 1.4
+ */
+ public ActionEvent(Object source, int id, String command, long when,
+ int modifiers)
+ {
+ super(source, id);
+ actionCommand = command;
+ this.when = when;
+ this.modifiers = modifiers;
+ }
+
+ /**
+ * Returns the command string associated with this action.
+ *
+ * @return the command string associated with this action
+ */
+ public String getActionCommand()
+ {
+ return actionCommand;
+ }
+
+ /**
+ * Gets the timestamp of when this action took place. Usually, this
+ * corresponds to the timestamp of the underlying InputEvent.
+ *
+ * @return the timestamp of this action
+ * @since 1.4
+ */
+ public long getWhen()
+ {
+ return when;
+ }
+
+ /**
+ * Returns the keys held down during the action. This value will be a
+ * combination of the bit mask constants defined in this class, or 0 if no
+ * modifiers were pressed.
+ *
+ * @return the modifier bits
+ */
+ public int getModifiers()
+ {
+ return modifiers;
+ }
+
+ /**
+ * Returns a string that identifies the action event. This is in the format
+ * <code>"ACTION_PERFORMED,cmd=" + getActionCommand() + ",when=" + getWhen()
+ * + ",modifiers=" + <modifier string></code>, where the modifier
+ * string is in the order "Meta", "Ctrl", "Alt", "Shift", "Alt Graph", and
+ * "Button1", separated by '+', according to the bits set in getModifiers().
+ *
+ * @return a string identifying the event
+ */
+ public String paramString()
+ {
+ StringBuffer s = new StringBuffer(id == ACTION_PERFORMED
+ ? "ACTION_PERFORMED,cmd="
+ : "unknown type,cmd=");
+ s.append(actionCommand).append(",when=").append(when).append(",modifiers");
+ int len = s.length();
+ s.setLength(len + 1);
+ if ((modifiers & META_MASK) != 0)
+ s.append("+Meta");
+ if ((modifiers & CTRL_MASK) != 0)
+ s.append("+Ctrl");
+ if ((modifiers & ALT_MASK) != 0)
+ s.append("+Alt");
+ if ((modifiers & SHIFT_MASK) != 0)
+ s.append("+Shift");
+ if ((modifiers & InputEvent.ALT_GRAPH_MASK) != 0)
+ s.append("+Alt Graph");
+ if ((modifiers & InputEvent.BUTTON1_MASK) != 0)
+ s.append("+Button1");
+ s.setCharAt(len, '=');
+ return s.toString();
+ }
+} // class ActionEvent
More information about the kaffe
mailing list