package flare.vis.events {
import flash.events.Event;
import flash.events.MouseEvent;
/**
* Event fired in response to interactive selection events.
*/
public class SelectionEvent extends DataEvent
{
/** A selection event. */
public static const SELECT:String = "select";
/** A deselection event. */
public static const DESELECT:String = "deselect";
/** Indicates whether the Alt key is active (true
)
* or inactive (false
). */
public var altKey:Boolean;
/** Indicates whether the Control key is active (true
)
* or inactive (false
). On Macintosh computers, you must
* use this property to represent the Command key. */
public var ctrlKey:Boolean;
/** Indicates whether the Shift key is active (true
)
* or inactive (false
). */
public var shiftKey:Boolean;
/** The event that triggered this event, if any. */
public function get cause():MouseEvent { return _cause; }
private var _cause:MouseEvent;
/**
* Creates a new SelectionEvent.
* @param type the event type (SELECT or DESELECT)
* @param item the display object(s) that were selected or deselected
* @param e (optional) the MouseEvent that triggered the selection
*/
public function SelectionEvent(type:String, items:*, e:MouseEvent=null)
{
super(type, items);
if (e != null) {
_cause = e;
altKey = e.altKey;
ctrlKey = e.ctrlKey;
shiftKey = e.shiftKey;
}
}
/** @inheritDoc */
public override function clone():Event
{
var se:SelectionEvent = new SelectionEvent(type,
_items?_items:_item, _cause);
se.altKey = altKey;
se.ctrlKey = ctrlKey;
se.shiftKey = shiftKey;
return se;
}
} // end of class SelectionEvent
}