diff dwt/events/TypedEvent.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 649b8e223d5a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dwt/events/TypedEvent.d	Sat Aug 09 17:00:02 2008 +0200
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 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
+ *******************************************************************************/
+module dwt.events.TypedEvent;
+
+import dwt.dwthelper.utils;
+
+
+import dwt.internal.DWTEventObject;
+import dwt.widgets.Display;
+import dwt.widgets.Event;
+import dwt.widgets.Widget;
+
+/**
+ * This is the super class for all typed event classes provided
+ * by DWT. Typed events contain particular information which is
+ * applicable to the event occurrence.
+ *
+ * @see dwt.widgets.Event
+ */
+public class TypedEvent extends DWTEventObject {
+    
+    /**
+     * the display where the event occurred
+     * 
+     * @since 2.0 
+     */ 
+    public Display display;
+        
+    /**
+     * the widget that issued the event
+     */
+    public Widget widget;
+    
+    /**
+     * the time that the event occurred.
+     * 
+     * NOTE: This field is an unsigned integer and should
+     * be AND'ed with 0xFFFFFFFFL so that it can be treated
+     * as a signed long.
+     */ 
+    public int time;
+    
+    /**
+     * a field for application use
+     */
+    public Object data;
+
+    static final long serialVersionUID = 3257285846578377524L;
+    
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param object the object that fired the event
+ */
+public TypedEvent(Object object) {
+    super(object);
+}
+
+/**
+ * Constructs a new instance of this class based on the
+ * information in the argument.
+ *
+ * @param e the low level event to initialize the receiver with
+ */
+public TypedEvent(Event e) {
+    super(e.widget);
+    this.display = e.display;
+    this.widget = e.widget;
+    this.time = e.time;
+    this.data = e.data;
+}
+
+/**
+ * Returns the name of the event. This is the name of
+ * the class without the package name.
+ *
+ * @return the name of the event
+ */
+String getName () {
+    String string = getClass ().getName ();
+    int index = string.lastIndexOf ('.');
+    if (index is -1) return string;
+    return string.substring (index + 1, string.length ());
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString() {
+    return getName ()
+        + "{" + widget
+        + " time=" + time
+        + " data=" + data
+        + "}";
+}
+}