package
{
import flash.display.Sprite;
import com.bit101.components.PushButton;
import flash.events.MouseEvent;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import com.hybrid.ui.ToolTip;
import com.novelastudios.ui.strategies.ToolTipTweenStrategy;
import com.hybrid.ui.strategies.ToolTipTweenStrategy;
import flash.text.TextField;
import flash.display.InteractiveObject;
import com.bit101.components.RadioButton;
import com.adobe.viewsource.ViewSource;
/**
* This example is using the NovelasStudios ToolTipTweenStrategy which uses com.greensock.TweenLite for tweening
*
* @author JohnBailey, NovelaStudios ©2010
*/
public class ToolTipExample extends Sprite
{
/**
* @private
*/
private var _toolTip:ToolTip;
/**
* @private
*/
private var _label:TextField;
public function ToolTipExample()
{
ViewSource.addMenuItem(this, "srcview/index.html");
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
_label = new TextField;
_label.x = 10;
_label.y = 10;
_label.autoSize = "left";
_label.text = "TweenLibrary: Greensock TweenLite";
addChild(_label);
_toolTip = new ToolTip(new com.novelastudios.ui.strategies.ToolTipTweenStrategy);
var radioCollection:Array = [
{name:"TweenLite",title:"Greensock TweenLite",x:80,y:30,selected:true}
,{name:"Tween",title:"fl.transitions.Tween",x:194,y:30,selected:false}
,{name:"None",title:"None",x:304,y:30,selected:false}
];
createRadioButtons(radioCollection)
var buttonCollection:Array = [
{name:"tl",title:"Hover over me to see tooltip",x:100,y:145,width:160}
];
createButtons(buttonCollection);
}
private function createRadioButtons(collection:Array):void
{
var button:RadioButton;
for each ( var item:Object in collection )
{
button = new RadioButton(this, item.x, item.y, item.title, item.selected, handleRadioClick);
button.name = item.name;
}
}
private function createButtons(collection:Array):void
{
var button:PushButton;
for each ( var item:Object in collection )
{
button = new PushButton(this, item.x, item.y, item.title);
button.width = item.width;
button.name = item.name;
button.addEventListener(MouseEvent.MOUSE_OVER,handleMouseOver,false,0,true);
}
}
private function handleMouseOver(event:MouseEvent):void
{
var target:InteractiveObject = event.currentTarget as InteractiveObject;
switch(target.name)
{
case "tl":
_toolTip = new ToolTip(new com.novelastudios.ui.strategies.ToolTipTweenStrategy);
_toolTip.align = "center";
_toolTip.cornerRadius = 0;
_toolTip.hook = false;
_toolTip.autoSize = false;
_toolTip.placement = "bottom";
_toolTip.show( target, "Simple Tip", "Align Center, Hook Enabled, <i>Width Defaults To 200px</i>, Square / Corner Radius 0" );
break;
}
}
private function handleRadioClick(event:MouseEvent):void
{
var target:InteractiveObject = event.currentTarget as InteractiveObject;
switch(target.name)
{
case "TweenLite":
_label.text = "TweenLibrary: "+"Greensock TweenLite";
_toolTip.tweenStrategy = new com.novelastudios.ui.strategies.ToolTipTweenStrategy;
break;
case "None":
_label.text = "TweenLibrary: "+"none";
_toolTip.tweenStrategy = null;
break;
case "Tween":
_label.text = "TweenLibrary: "+"fl.transitions.Tween";
_toolTip.tweenStrategy = new com.hybrid.ui.strategies.ToolTipTweenStrategy;
break;
}
}
}
}