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));
}
}
}