Mercurial > projects > dwt-mac
diff dwt/widgets/EventTable.d @ 15:2952d5604c0a
Ported some widgets, added some stuff to the runtime bindings
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Fri, 29 Aug 2008 21:46:05 +0200 |
parents | 380af2bdd8e5 |
children | 5b53d338c709 |
line wrap: on
line diff
--- a/dwt/widgets/EventTable.d Sat Aug 23 13:49:00 2008 +0200 +++ b/dwt/widgets/EventTable.d Fri Aug 29 21:46:05 2008 +0200 @@ -7,14 +7,23 @@ * * Contributors: * IBM Corporation - initial API and implementation + * + * Port to the D programming language: + * Jacob Carlborg <jacob.carlborg@gmail.com> *******************************************************************************/ module dwt.widgets.EventTable; -import dwt.dwthelper.utils; import dwt.DWT; import dwt.internal.DWTEventListener; +import dwt.dwthelper.System; +import dwt.dwthelper.utils; + +import dwt.widgets.Event; +import dwt.widgets.Listener; +import dwt.widgets.TypedListener; + /** * Instances of this class implement a simple * look up mechanism that maps an event type @@ -26,7 +35,7 @@ int [] types; Listener [] listeners; int level; - static final int GROW_SIZE = 4; + static const int GROW_SIZE = 4; public Listener [] getListeners (int eventType) { if (types is null) return new Listener [0]; @@ -59,7 +68,7 @@ System.arraycopy (types, 0, newTypes, 0, length); types = newTypes; Listener [] newListeners = new Listener [length + GROW_SIZE]; - System.arraycopy (listeners, 0, newListeners, 0, length); + SimpleType!(Listener).arraycopy (listeners, 0, newListeners, 0, length); listeners = newListeners; } types [index] = eventType; @@ -118,7 +127,7 @@ if (level is 0) { int end = types.length - 1; System.arraycopy (types, index + 1, types, index, end - index); - System.arraycopy (listeners, index + 1, listeners, index, end - index); + SimpleType!(Listener).arraycopy (listeners, index + 1, listeners, index, end - index); index = end; } else { if (level > 0) level = -level; @@ -141,8 +150,8 @@ if (types is null) return; for (int i=0; i<types.length; i++) { if (types [i] is eventType) { - if (listeners [i] instanceof TypedListener) { - TypedListener typedListener = (TypedListener) listeners [i]; + if (cast(TypedListener) listeners [i]) { + TypedListener typedListener = cast(TypedListener) listeners [i]; if (typedListener.getEventListener () is listener) { remove (i); return;