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 }