Mercurial > projects > dwt-mac
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 + + "}"; +} +}