{
import mx.containers.TabNavigator;
/**
* 用於定義選項卡的默認顏色 */
[Style(name="upSkinColors",type="Array",format="Color",inherit="yes",theme="spark")]
/**
* 用於定義選項卡鼠標覆蓋顏色 */
[Style(name="RollColors",type="Array",format="Color",inherit="yes",theme="spark")]
/**
* 用於定義選項卡被選中時顏色 */
[Style(name="SelectColors",type="Array",format="Color",inherit="yes",theme="spark")]
[Style(name="borderAlpha", type="Number", inherit="no", defaultValue="1")]
public class MyTabNavigator extends TabNavigator
{
private var _showBorder:Boolean=true;
public function MyTabNavigator()
{
super();
}
[Inspectable(category="General", enumeration="true,false", defaultValue="true")]
public function set showBorder(value:Boolean):void
{
this._showBorder=value;
}
public function get showBorder():Boolean
{
return this._showBorder;
}
override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth,unscaledHeight);
this.drawOutline();
}
public function drawOutline():void
{
var cornerRadius:Number=this.getStyle("cornerRadius");
if(cornerRadius>0)
{
this.setStyle("backgroundAlpha", 0);
this.setStyle("borderStyle", "none");
var borderColor:uint=this.getStyle("borderColor");
var borderAlpha:Number=this.getStyle("borderAlpha");
var backgroundColor:uint=this.getStyle("backgroundColor");
graphics.clear();
if(showBorder)
graphics.lineStyle(1,borderColor,borderAlpha,true);
graphics.beginFill(backgroundColor,1);
graphics.drawRoundRectComplex(0,this.tabBar.height-2,this.width,this.height-this.tabBar.height+1,0,cornerRadius,cornerRadius,cornerRadius);
graphics.endFill();
}
}
}
}