package flare.vis.events { import flare.vis.data.EdgeSprite; import flare.vis.data.NodeSprite; import flash.display.DisplayObject; import flash.events.Event; /** * Event fired in response to tooltip show, hide, or update events. * @see flare.vis.controls.TooltipControl */ public class TooltipEvent extends Event { /** A tooltip show event. */ public static const SHOW:String = "show"; /** A tooltip hide event. */ public static const HIDE:String = "hide"; /** A tooltip update event. */ public static const UPDATE:String = "update"; private var _object:DisplayObject; private var _tooltip:DisplayObject; /** The displayed tooltip object. */ public function get tooltip():DisplayObject { return _tooltip; } /** The moused-over interface object. */ public function get object():DisplayObject { return _object; } /** The moused-over interface object, cast to a NodeSprite. */ public function get node():NodeSprite { return _object as NodeSprite; } /** The moused-over interface object, cast to an EdgeSprite. */ public function get edge():EdgeSprite { return _object as EdgeSprite; } /** * Creates a new TooltipEvent. * @param type the event type (SHOW,HIDE, or UPDATE) * @param item the DisplayObject that was moused over * @param tip the tooltip DisplayObject */ public function TooltipEvent(type:String, item:DisplayObject, tip:DisplayObject) { super(type); _object = item; _tooltip = tip; } /** @inheritDoc */ public override function clone():Event { return new TooltipEvent(type, _object, _tooltip); } } // end of class TooltipEvent }