Packageorg.osflash.signals
Classpublic class Signal
InheritanceSignal Inheritance OnceSignal Inheritance Object
Implements ISignal

Signal dispatches events to multiple listeners. It is inspired by C# events and delegates, and by signals and slots in Qt. A Signal adds event dispatching functionality through composition and interfaces, rather than inheriting from a dispatcher. Project home: http://github.com/robertpenner/as3-signals/

Default MXML PropertyvalueClasses



Public Properties
 PropertyDefined By
 InheritednumListeners : uint
[read-only] The current number of listeners for the signal.
OnceSignal
 InheritedvalueClasses : Array
An optional array of classes defining the types of parameters sent to listeners.
OnceSignal
Protected Properties
 PropertyDefined By
 Inheritedslots : SlotList
OnceSignal
 Inherited_valueClasses : Array
OnceSignal
Public Methods
 MethodDefined By
  
Signal(... valueClasses)
Creates a Signal instance to dispatch value objects.
Signal
  
add(listener:Function):ISlot
Subscribes a listener for the signal.
Signal
 Inherited
addOnce(listener:Function):ISlot
Subscribes a one-time listener for this signal.
OnceSignal
 Inherited
dispatch(... valueObjects):void
Dispatches an object to listeners.
OnceSignal
 Inherited
remove(listener:Function):ISlot
Unsubscribes a listener from the signal.
OnceSignal
 Inherited
removeAll():void
Unsubscribes all listeners from the signal.
OnceSignal
Protected Methods
 MethodDefined By
 Inherited
registerListener(listener:Function, once:Boolean = false):ISlot
OnceSignal
 Inherited
registrationPossible(listener:Function, once:Boolean):Boolean
OnceSignal
Constructor Detail
Signal()Constructor
public function Signal(... valueClasses)

Creates a Signal instance to dispatch value objects.

Parameters
... valueClasses — Any number of class references that enable type checks in dispatch(). For example, new Signal(String, uint) would allow: signal.dispatch("the Answer", 42) but not: signal.dispatch(true, 42.5) nor: signal.dispatch() NOTE: In AS3, subclasses cannot call super.apply(null, valueClasses), but this constructor has logic to support super(valueClasses).
Method Detail
add()method
public function add(listener:Function):ISlot

Subscribes a listener for the signal.

Parameters

listener:Function — A function with arguments that matches the value classes dispatched by the signal. If value classes are not specified (e.g. via Signal constructor), dispatch() can be called without arguments.

Returns
ISlot — a ISlot, which contains the Function passed as the parameter

Throws
flash.errors:IllegalOperationError IllegalOperationError: You cannot addOnce() then add() the same listener without removing the relationship first.
 
ArgumentError ArgumentError: Given listener is null.