EventObject
EventObject (steht zum einen als glbEventObject global zur Verfügung, kann aber auch von anderen "Klassen" als kontextgebundener EventManager instanziert werden).

Es ermöglicht lose gekoppelte Ereignisse bei der Kommunikation innerhalb von und zwischen Komponenten. Für ein Ereignis können beliebig viele Handler registriert werden.
Ereignisse haben einen Namen (casesensitiver String). Ein Auslöser ruft einfach fireEvent auf. Ist bereits ein Handler zu diesem Namen in der betreffenden EventObject-Instanz registriert, wird/werden die Callbackfunktion/en aufgerufen. Eine Komponente muss daher dokumentieren, welche Ereignisse ausgelöst werden, damit andere sich dafür registrieren können.
Für cancelable events (typischerweise sind dies onBeforeDoSomthing Ereignisse) sollte ein Cancel-Flag im EventArgument-Objekt angeboten und ausgewertet werden. Das Prüfen des Rückgabewertes der Handlerfunktion ist auch möglich, ist aber bei mehreren Handlern für ein Ereignis u.U. nicht gut zu handhaben.

Die Klasse kann erstellt werden

Methods
Methods
attachEvent(name, fnPtr, customArg, scope)

registriert einen Eventhandler

parameters
string name

casesensitiver Name des Events, für das die Registrierung erflogt

function fnPtr

Callbackfunktion mit der Signatur: {bool} function(object eventArgs[, object customArgs]) (bei onBefore... Events muss true zurückgegeben werden, damit die Bearbeitung fortgesetzt wird)

object [customArg]

optionales Objekt, welches im Ereignisfall der Callbackfunktion als zweites Argument (customArgs) übergeben wird

object [scope]

optionales Objekt, welches als Ausführungskontext (this) für die Callbackfunktion dienen soll

returns
int releaseHandle (zur Verwendung mit releaseEvent)
fireEvent(name, obj, stopOnNegativeReturn)

Löst ein Event aus, d.h. alle auf name registrierten Handler werden in umgekehrter Reihenfolge ihrer Registrierung ausgeführt.
Events, die es erlauben die anstehende Aktion abzubrechen sollten mit "onBefore..." beginnen und im Event-Argument die Eigenschaft cancel=false bereitstellen, die von den Handlern bei Bedarf auf true gesetzt wird. Die Verwendung von stopOnNegativeReturn kann ebenfalls in Betracht gezogen werden.

parameters
string name

Name des Events

object obj

EventArgs-Objekt, welches der Callbackfunktion übergeben wird

bool [stopOnNegativeReturn]

Bei true wird die Verarbeitung weiterer registrierter Handler abgebrochen, sobald der Rückgabewert einer Callbackfunktion gleich false ist. (Ereignisse, die dies nutzen sollten mit onBefore... beginnen.)

returns
bool/object Rückgabewert der als letztes ausgeführten Callback-Funktion
releaseEvent(handle)

Hebt eine Event-Registrierung mit Hilfe der bei der Registrierung erhaltenen Kennung wieder auf.

parameters
int handle

Kennung (handle) des Event-Handlers, der abgemeldet werden soll.