package de.dtele.control.events {
  
  import flash.events.Event;
  import de.dtele.data.IResource;
  
  public class ResourceEvent extends Event {
    
    /**
     * The ResourceEvent.SELECTED constant defines the value of the 
     * <code>type</code> property of the event object 
     * for a <code>resourceSelected</code> event.
     * 
     * @eventType resourceSelected
     */
    public static const SELECTED:String = "resourceSelected";
    /**
     * The ResourceEvent.ADDED constant defines the value of the 
     * <code>type</code> property of the event object 
     * for a <code>resourceAdded</code> event.
     * 
     * @eventType resourceAdded
     */
    public static const ADDED:String = "resourceAdded";
    /**
     * The ResourceEvent.REMOVED constant defines the value of the 
     * <code>type</code> property of the event object 
     * for a <code>resourceRemoved</code> event.
     * 
     * @eventType resourceRemoved
     */
    public static const REMOVED:String = "resourceRemoved";
    
    private var _resource:IResource;
    /**
     * The resource this event was dispatched for
     */
    public function get resource():IResource { return _resource; }
    
    public function ResourceEvent(type:String, resource:IResource, bubbles:Boolean=false, cancelable:Boolean=false) {
      
      super(type, bubbles, cancelable);
      this._resource = resource;
    }
  }
}