package sample
{
import com.adobe.cairngorm.observer.Person;
import flash.events.Event;
import flash.events.EventDispatcher;
import mx.collections.IList;
public class SelectablePM extends EventDispatcher
{
private static const ITEM_CHANGE_EVENT : String = "itemChange";
[Bindable]
public var people : IList;
private var _selectableItem : Person;
[Bindable("itemChange")]
public function get selectableItem() : Person
{
return _selectableItem
}
private var _selectableIndex : int;
[Bindable("itemChange")]
public function get selectableIndex() : int
{
return _selectableIndex
}
public function selectPerson( item : Object ) : void
{
_selectableItem = Person( item );
_selectableIndex = people.getItemIndex( item );
dispatchEvent( new Event( ITEM_CHANGE_EVENT ) );
}
public function selectPersonByIndex( index : int ) : void
{
_selectableItem = Person( people.getItemAt( index ) );
_selectableIndex = index;
dispatchEvent( new Event( ITEM_CHANGE_EVENT ) );
}
}
}