                    <?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Way&#039;s Blog &#187; Flex 3</title>
	<atom:link href="http://way.cubeforge.net/blog/tag/flex-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://way.cubeforge.net/blog</link>
	<description>Hong Kong Adobe Flex Developer</description>
	<lastBuildDate>Fri, 06 Jan 2012 04:04:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Multiline TabNavigator #2</title>
		<link>http://way.cubeforge.net/blog/2009/04/multiline-tabnavigator-2/</link>
		<comments>http://way.cubeforge.net/blog/2009/04/multiline-tabnavigator-2/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 15:28:29 +0000</pubDate>
		<dc:creator>Way</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Note]]></category>
		<category><![CDATA[Flex 3]]></category>
		<category><![CDATA[multiline]]></category>
		<category><![CDATA[Multiline TabNavigator]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[tab]]></category>
		<category><![CDATA[tabbar]]></category>
		<category><![CDATA[tabnavigator]]></category>

		<guid isPermaLink="false">http://way.cubeforge.net/blog/?p=413</guid>
		<description><![CDATA[MultiLineTab.as package controls { import flash.display.DisplayObject; import flash.text.TextLineMetrics; import mx.controls.tabBarClasses.Tab; import mx.core.IFlexDisplayObject; import mx.core.UITextField; import mx.core.mx_internal; use namespace mx_internal; public class MultiLineTab extends Tab { public function MultiLineTab() { super(); } override protected function createChildren():void { if (!textField) { textField = new UITextField(); textField.styleName = this; addChild(DisplayObject(textField)); } super.createChildren(); textField.multiline = true; textField.wordWrap = true; [...]]]></description>
			<content:encoded><![CDATA[<p>MultiLineTab.as<br />
<code>package controls<br />
{<br />
import flash.display.DisplayObject;<br />
import flash.text.TextLineMetrics;<br />
import mx.controls.tabBarClasses.Tab;<br />
import mx.core.IFlexDisplayObject;<br />
import mx.core.UITextField;<br />
import mx.core.mx_internal;<br />
use namespace mx_internal;<br />
public class MultiLineTab extends Tab<br />
{<br />
public function MultiLineTab()<br />
{<br />
super();<br />
}<br />
override protected function createChildren():void<br />
{<br />
if (!textField)<br />
{<br />
textField = new UITextField();<br />
textField.styleName = this;<br />
addChild(DisplayObject(textField));<br />
}<br />
super.createChildren();<br />
textField.multiline = true;<br />
textField.wordWrap = true;<br />
}<br />
override protected function measure():void<br />
{<br />
if (!isNaN(explicitWidth))<br />
{<br />
var tempIcon:IFlexDisplayObject = getCurrentIcon();<br />
var w:Number = explicitWidth;<br />
if (tempIcon)<br />
w -= tempIcon.width + getStyle("horizontalGap") + getStyle("paddingLeft") + getStyle("paddingRight");<br />
textField.width = w;<br />
}<br />
super.measure();<br />
}<br />
override public function measureText(s:String):TextLineMetrics<br />
{<br />
textField.text = s;<br />
var lineMetrics:TextLineMetrics = textField.getLineMetrics(0);<br />
lineMetrics.width = textField.textWidth + 4;<br />
lineMetrics.height = textField.textHeight + 4;<br />
return lineMetrics;<br />
}<br />
override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void<br />
{<br />
super.updateDisplayList(unscaledWidth,unscaledHeight);<br />
if (this.getCurrentIcon())<br />
{<br />
this.getCurrentIcon().y = 2;<br />
}<br />
}<br />
}<br />
}</code><br />
MultiLineTabBar.as<br />
<code>package controls<br />
{<br />
import mx.controls.TabBar;<br />
import mx.core.ClassFactory;<br />
import mx.core.mx_internal;<br />
use namespace mx_internal;<br />
public class MultiLineTabBar extends TabBar<br />
{<br />
public function MultiLineTabBar()<br />
{<br />
super ();<br />
navItemFactory = new ClassFactory (MultiLineTab);<br />
}<br />
}<br />
}</code><br />
MultiLineTabNavigator.as<br />
<code>package controls<br />
{<br />
import flash.display.DisplayObject;<br />
import mx.containers.TabNavigator;<br />
public class MultiLineTabNavigator extends TabNavigator<br />
{<br />
public function MultiLineTabNavigator()<br />
{<br />
super();<br />
}<br />
override protected function createChildren():void<br />
{<br />
if (!tabBar)<br />
{<br />
tabBar = new MultiLineTabBar();<br />
tabBar.name = "tabBar";<br />
tabBar.focusEnabled = false;<br />
tabBar.styleName = this;<br />
tabBar.setStyle("borderStyle", "none");<br />
tabBar.setStyle("paddingTop", 0);<br />
tabBar.setStyle("paddingBottom", 0);<br />
rawChildren.addChild(tabBar);<br />
}<br />
super.createChildren();<br />
}<br />
override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void<br />
{<br />
super.updateDisplayList(unscaledWidth,unscaledHeight);<br />
}<br />
}<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://way.cubeforge.net/blog/2009/04/multiline-tabnavigator-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Adobe Flex 3 with AIR</title>
		<link>http://way.cubeforge.net/blog/2008/12/adobe-flex-3-with-air/</link>
		<comments>http://way.cubeforge.net/blog/2008/12/adobe-flex-3-with-air/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 15:52:47 +0000</pubDate>
		<dc:creator>Way</dc:creator>
				<category><![CDATA[Adobe Certified]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[ACE]]></category>
		<category><![CDATA[Adobe Certified Expert]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex 3]]></category>
		<category><![CDATA[Flex Exam]]></category>

		<guid isPermaLink="false">http://way.cubeforge.net/blog/?p=323</guid>
		<description><![CDATA[早前同VICKER 膽粗粗咁一係FLEX 3 個EXAM一出就去考左.. 因為今次個EXAM 唔同上次FLEX 2..係連埋AIR 個PART一齊考&#8230;加上自己本身唔係太熟AIR 既野..所以真係要溫書先去考試啦. 12 NOV 考完試到前日先收到張CERT ..好可惜&#8230;今次張CERT俾個郵差整到摺埋左&#8230;無耐..打左去投訴但只係求期打發我咁.. ~_~ 我諗冇人鐘意自己張CERT 咁樣啦-,-&#8221; ANYWAY, 都好開心今次PASS到個EXAM. 希望快D 再考多幾張返黎啦下次 除此之外, 個TITLE 都唔同左..寫埋AIR ..哈哈]]></description>
			<content:encoded><![CDATA[<p>早前同VICKER 膽粗粗咁一係FLEX 3 個EXAM一出就去考左.. 因為今次個EXAM 唔同上次FLEX 2..係連埋AIR 個PART一齊考&#8230;加上自己本身唔係太熟AIR 既野..所以真係要溫書先去考試啦. <img src='http://way.cubeforge.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>12 NOV 考完試到前日先收到張CERT ..好可惜&#8230;今次張CERT俾個郵差整到摺埋左&#8230;無耐..打左去投訴但只係求期打發我咁.. ~_~ 我諗冇人鐘意自己張CERT 咁樣啦-,-&#8221; ANYWAY, 都好開心今次PASS到個EXAM. 希望快D 再考多幾張返黎啦下次</p>
<p>除此之外, 個TITLE 都唔同左..寫埋AIR ..哈哈 <img src='http://way.cubeforge.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><img style="background-color: #FFFFFF;" src="http://way.cubeforge.net/blog/wp-content/uploads/2008/12/ace_flex_air.gif" alt="Adobe Certified Expert in Adobe Flex with AIR" /></p>
]]></content:encoded>
			<wfw:commentRss>http://way.cubeforge.net/blog/2008/12/adobe-flex-3-with-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

