<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>JabbyPanda’s travel to RIA world</title>
	
	<link>http://www.jabbypanda.com/blog</link>
	<description>it's RIA, not Rio</description>
	<lastBuildDate>Thu, 02 Sep 2010 13:26:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/jabbypanda" /><feedburner:info uri="jabbypanda" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Flex 4 AutoComplete is now known as InputAssist, announcing 0.1 release</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/KaQT9o2Ouh8/</link>
		<comments>http://www.jabbypanda.com/blog/2010/09/flex-4-autocomplete-is-now-known-as-inputassist-announcing-0-1-release/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 13:54:04 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Components]]></category>
		<category><![CDATA[InputAssist]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=169</guid>
		<description><![CDATA[The source code will be permanently available at GitHub (yes, new kid in the block instead of Google Code or SourceForge).
http://github.com/JabbyPanda/InputAssist/
Demo:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_InputAssist_1259197349"
			class="flashmovie"
			width="600"
			height="300">
	<param name="movie" value="http://jabbypanda.com/labs/InputAssist/demo01/Test_InputAssist.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://jabbypanda.com/labs/InputAssist/demo01/Test_InputAssist.swf"
			name="fm_Test_InputAssist_1259197349"
			width="600"
			height="300">
	<!--<![endif]-->
		


	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
Changelog for 0.1 release: 
[+] Added style "highlightBackgroundColor" to InputAssist
[+] Added Ant build script
[+] Packaged as SWC library
[*] Changed classes namespace to match industry standard
[*] Changed the algorithm [...]]]></description>
			<content:encoded><![CDATA[<p>The source code will be permanently available at GitHub (yes, new kid in the block instead of Google Code or SourceForge).</p>
<p><a href="http://github.com/JabbyPanda/InputAssist/">http://github.com/JabbyPanda/InputAssist/</a></p>
<p>Demo:<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_InputAssist_1326212622"
			class="flashmovie"
			width="600"
			height="300">
	<param name="movie" value="http://jabbypanda.com/labs/InputAssist/demo01/Test_InputAssist.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://jabbypanda.com/labs/InputAssist/demo01/Test_InputAssist.swf"
			name="fm_Test_InputAssist_1326212622"
			width="600"
			height="300">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Changelog for 0.1 release: </p>
<p>[+] Added style "highlightBackgroundColor" to InputAssist<br />
[+] Added Ant build script<br />
[+] Packaged as SWC library</p>
<p>[*] Changed classes namespace to match industry standard<br />
[*] Changed the algorithm for the highlighting of matched text segments, thankfully to<br />
 <a href="http://kachurovskiy.com">Maxim Kachurovsky</a> "Slov v sapogah" for an idea</p>
<p>[!] Fixed the appearance of popup list when "forceAuto" option is on and<br />
system focus is moved back and forth between 2 different instances of FocusManager class.</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/KaQT9o2Ouh8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2010/09/flex-4-autocomplete-is-now-known-as-inputassist-announcing-0-1-release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2010/09/flex-4-autocomplete-is-now-known-as-inputassist-announcing-0-1-release/</feedburner:origLink></item>
		<item>
		<title>Should my Flex 4 AutoComplete to be renamed as InputAssist?</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/5gaQB1BGw08/</link>
		<comments>http://www.jabbypanda.com/blog/2010/08/should-my-flex-4-autocomplete-to-be-renamed-as-inputassist/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 16:18:55 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Components]]></category>
		<category><![CDATA[InputAssist]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=148</guid>
		<description><![CDATA[   I am currently in a process of updating the code for the component previously known as "Flex 4 AutoComplete component with text highlighting".
   This process get me a chance to think a little bit about component branding.
   What I've recently had learned that AutoComplete is a very common [...]]]></description>
			<content:encoded><![CDATA[<p>   I am currently in a process of updating the code for the component previously known as <a href="http://www.jabbypanda.com/blog/?p=110">"Flex 4 AutoComplete component with text highlighting"</a>.</p>
<p>   This process get me a chance to think a little bit about component branding.</p>
<p>   What I've recently had learned that <em>AutoComplete</em> is a very common name for the component with such a functionality. </p>
<p>     I know, at least, 4 different Flash platform contenders, all of them use "<em>AutoComplete</em>" word in its name:</p>
<ol>
<li> com.adobe.flex.extras.controls.AutoComplete control written for Flex 2;</li>
<li> Flextras commercial component <a href="http://www.flextras.com/?event=ProductHome&amp;productID=10">AutoCompleteComboBox</a>;</li>
<li>Hillel Coren's <a href="http://hillelcoren.com/flex-autocomplete/">AutoComplete </a> control; </li>
<li>And the last, but not least, the  Flex 4 AutoComplete component written by Tenger Ivan.</li>
</ol>
<p>      While <strong>"AutoComplete"</strong> is a very strong brand and it is well known to the end users, I'd like to bring into  Flex components naming world more creativity.</p>
<p>   What if I will rename <em>AutoComplete</em> control to <em>InputAssist</em>? You see, my component not only "auto-completes", it is also providing an helping hand to faster select the value in need from the list of options.</p>
<p>    So, in general, what do you think of <em>InputAssist</em> name?</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/5gaQB1BGw08" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2010/08/should-my-flex-4-autocomplete-to-be-renamed-as-inputassist/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2010/08/should-my-flex-4-autocomplete-to-be-renamed-as-inputassist/</feedburner:origLink></item>
		<item>
		<title>FTE cannot display Thai characters under Windows XP English using default set of device fonts</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/HpXtHPZJjFI/</link>
		<comments>http://www.jabbypanda.com/blog/2010/05/fte-cannot-display-thai-characters-under-windows-xp-english-using-default-set-of-device-fonts/#comments</comments>
		<pubDate>Wed, 05 May 2010 16:06:41 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex 4]]></category>
		<category><![CDATA[Flash Text Engine]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[Localization]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=132</guid>
		<description><![CDATA[&#160;&#160;&#160;Are you unlucky user of Windows XP English with clean install?  
&#160;&#160;&#160;If yes, then probably you cannot see Thai characters in Spark text components (e.g Spark Label) in the following demo:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_Thai_L18n_1900828613"
			class="flashmovie"
			width="600"
			height="400">
	<param name="movie" value="http://www.jabbypanda.com/labs/FTEThaiFont/Test_Thai_L18n.swf " />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/FTEThaiFont/Test_Thai_L18n.swf "
			name="fm_Test_Thai_L18n_1900828613"
			width="600"
			height="400">
	<!--<![endif]-->
		


	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
Code listing: http://gist.github.com/390993
&#160;&#160;&#160; New Flex Spark Label to display text uses the new Flash Text Engine (FTE) [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;Are you unlucky user of Windows XP English with clean install?  </p>
<p>&nbsp;&nbsp;&nbsp;If yes, then probably you cannot see Thai characters in Spark text components (e.g Spark Label) in the following demo:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_Thai_L18n_1219596101"
			class="flashmovie"
			width="600"
			height="400">
	<param name="movie" value="http://www.jabbypanda.com/labs/FTEThaiFont/Test_Thai_L18n.swf " />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/FTEThaiFont/Test_Thai_L18n.swf "
			name="fm_Test_Thai_L18n_1219596101"
			width="600"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Code listing: <a href="http://gist.github.com/390993">http://gist.github.com/390993</a></p>
<p>&nbsp;&nbsp;&nbsp; New Flex Spark Label to display text uses the new Flash Text Engine (FTE) introduced in Flash Player 10. And that's true, FTE brought many very useful new features (text subscript,  bidirectional text to name a few) that were previously impossible to achieve with older <em>flash.text.TextField</em> object, but I've learned recently that FTE can fail to display Thai characters under Windows XP clean install.</p>
<p>&nbsp;&nbsp;&nbsp;Eric Y Muller explains the technical details at <a href="http://forums.adobe.com/thread/613825?tstart=0">Adobe forums:</a>, why FTE cannot use neither <em>Tahoma</em> nor <em>Microsoft Sans Serif</em> standard Windows XP fonts as device fallback to display Thai characters.</p>
<p>&nbsp;&nbsp;&nbsp;The only workaround for this issue for the frustrated user would be to <a href="http://www.jutiphan.com/Articles/MakeWindowsXPThaiSupported/tabid/83/Default.aspx">insert original CD</a> with Windows XP install and install Thai language support using "Regional and Language Options" control panel. But this would impossible to achieve for the anonymous employee that works for trans-global corporation without admin access account %-)</p>
<p>&nbsp;&nbsp;&nbsp;As for the developer of the Flash application we can always embed font into Flash app that contains Thai characters, but this will impact the overall bytesize of the resulting SWF file.</p>
<p>ps<br />
&nbsp;&nbsp;&nbsp;In 2010, Windows XP remains highly relevant OS.  Various stat counters show that <a href="http://en.wikipedia.org/wiki/Usage_share_of_operating_systems">52%</a> -<a href="http://www.netmarketshare.com/os-market-share.aspx?qprid=11"> 64%</a> computer users use Windows XP. Thus it is very important for any Flash application to play nice under this OS without an hassle.</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/HpXtHPZJjFI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2010/05/fte-cannot-display-thai-characters-under-windows-xp-english-using-default-set-of-device-fonts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2010/05/fte-cannot-display-thai-characters-under-windows-xp-english-using-default-set-of-device-fonts/</feedburner:origLink></item>
		<item>
		<title>Flex 4 AutoComplete component with text highlighting</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/tlD_EIRxAKo/</link>
		<comments>http://www.jabbypanda.com/blog/2010/03/autocomplete-component-for-flex-4-that-supports-entered-text-highlighting/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:29:38 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex 4]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[InputAssist]]></category>
		<category><![CDATA[AdobeFlex4]]></category>
		<category><![CDATA[autoComplete]]></category>
		<category><![CDATA[component]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=110</guid>
		<description><![CDATA[&#160;&#160;&#160;This component is based on the revised codebase of AutoComplete 4 component originally created by Tenger Ivan from FlashCommander.org  
&#160;&#160;&#160;Two different search modes are supported : prefix and infix
to see the difference please play with the interactive sample file below.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_AutoComplete_1277757198"
			class="flashmovie"
			width="500"
			height="300">
	<param name="movie" value="http://www.jabbypanda.com/labs/autoCompleteHighlight/Test_AutoComplete.swf?id=2" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/autoCompleteHighlight/Test_AutoComplete.swf?id=2"
			name="fm_Test_AutoComplete_1277757198"
			width="500"
			height="300">
	<!--<![endif]-->
		


	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
&#160;&#160;&#160;The auto-completion operation can be achieved in two ways:
 [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;This component is based on the revised codebase of <a href="http://flashcommander.org/blog/flex-4-autocomplete">AutoComplete 4 component</a> originally created by Tenger Ivan from FlashCommander.org  </p>
<p>&nbsp;&nbsp;&nbsp;Two different search modes are supported : prefix and infix<br />
to see the difference please play with the interactive sample file below.<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_AutoComplete_2013640911"
			class="flashmovie"
			width="500"
			height="300">
	<param name="movie" value="http://www.jabbypanda.com/labs/autoCompleteHighlight/Test_AutoComplete.swf?id=2" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/autoCompleteHighlight/Test_AutoComplete.swf?id=2"
			name="fm_Test_AutoComplete_2013640911"
			width="500"
			height="300">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>&nbsp;&nbsp;&nbsp;The auto-completion operation can be achieved in two ways:</p>
<li> via keyboard<br />
          First, select the list item by moving selected index via UP and DOWN keys and confirm the choice by hitting ENTER key </p>
<li>via mouse<br />
         Just mouse click upon the currently selected list item.</p>
<p>&nbsp;&nbsp;&nbsp;Disclaimer: the source code of this component is of beta quality and can be obtained for free here: <a href="http://jabbypanda.com/labs/autoCompleteHighlight/srcview/Test_AutoComplete.zip">ZIP file, 23 kb</a>. If any bug is found, please let me know.</p>
<p>&nbsp;&nbsp;&nbsp;UPD:  Updated sample file with a real world list of 978 US universities.<br />
&nbsp;&nbsp;&nbsp;Also a few bugs were fixed related to case insensitive search and not working text highlight of the last string character.</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/tlD_EIRxAKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2010/03/autocomplete-component-for-flex-4-that-supports-entered-text-highlighting/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2010/03/autocomplete-component-for-flex-4-that-supports-entered-text-highlighting/</feedburner:origLink></item>
		<item>
		<title>Applying selection dynamically to Spark RichText component</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/ZVCHOp-jYeM/</link>
		<comments>http://www.jabbypanda.com/blog/2010/02/applying-dynamically-selection-to-spark-richtext-component/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 16:56:28 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=103</guid>
		<description><![CDATA[Flex 4 documentation article named "Selecting and modifying text" lists an finite final list of components that supports the selection:

RichEditableText
Label (Spark only)
TextInput (both MX and Spark)
TextArea (both MX and Spark)
RichTextEditor and all controls that have a TextArea as a subcomponent

&#160;&#160;&#160;This list does not include RichText component, but luckily with a new Text Layout Framework (TLF) [...]]]></description>
			<content:encoded><![CDATA[<p>Flex 4 documentation article named <a href="http://help.adobe.com/en_US/Flex/4.0/html/WS2db454920e96a9e51e63e3d11c0bf69084-7d44.html">"Selecting and modifying text"</a> lists an finite final list of components that supports the selection:</p>
<ul>
<li>RichEditableText</li>
<li>Label (Spark only)</li>
<li>TextInput (both MX and Spark)</li>
<li>TextArea (both MX and Spark)</li>
<li>RichTextEditor and all controls that have a TextArea as a subcomponent</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;This list does not include RichText component, but luckily with a new Text Layout Framework (TLF) available starting from Flash player 10, it is quite easy to "simulate" dynamic selection of the text with some ActionScript 3 code.</p>
<p>&nbsp;&nbsp;&nbsp;In the following example, try to drag the slider to the left and to the right to control the dynamic selection of the text of RichText component:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_RichText_1741194463"
			class="flashmovie"
			width="200"
			height="75">
	<param name="movie" value="http://jabbypanda.com/labs/richTextFormatted/Test_RichText.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://jabbypanda.com/labs/richTextFormatted/Test_RichText.swf"
			name="fm_Test_RichText_1741194463"
			width="200"
			height="75">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Code listing:</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;s:Application xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
               xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
               xmlns:mx=&quot;library://ns.adobe.com/flex/halo&quot;
               width=&quot;200&quot;
               height=&quot;75&quot;&gt;
    &lt;s:layout&gt;
        &lt;s:HorizontalLayout paddingLeft=&quot;25&quot;
                            paddingTop=&quot;25&quot;
                            paddingRight=&quot;25&quot;/&gt;
    &lt;/s:layout&gt;
    &lt;fx:Script&gt;
        &lt;![CDATA[
            import flashx.textLayout.edit.EditManager;
            import flashx.textLayout.edit.SelectionState;
            import flashx.textLayout.formats.TextLayoutFormat;            

            protected function highlightItem(endSelectionCharIndex : int):void
            {
                var containerFormat:TextLayoutFormat = new TextLayoutFormat();
                var paragraphFormat:TextLayoutFormat = new TextLayoutFormat();
                var characterFormat:TextLayoutFormat = new TextLayoutFormat();

                characterFormat = _selectedTextFormat;

                var selectionState : SelectionState = new SelectionState(rt.textFlow, 0, endSelectionCharIndex, _selectedTextFormat);                

                // apply format to the selection
                _textEditManager.applyFormat(
                    characterFormat,
                    paragraphFormat,
                    containerFormat,
                    selectionState);                                

                characterFormat = _notSelectedTextFormat;                

                // apply format to the rest of the text
                var notSelectionState : SelectionState = new SelectionState(rt.textFlow, endSelectionCharIndex, rt.text.length, _notSelectedTextFormat);
                _textEditManager.applyFormat(
                    characterFormat, paragraphFormat, containerFormat, notSelectionState);
            }

            protected function onRichTextCreationComplete():void
            {
                _textEditManager = new EditManager();
                rt.textFlow.interactionManager = _textEditManager;

                _selectedTextFormat = new TextLayoutFormat();
                _selectedTextFormat.backgroundColor = 0xFF99CC;
                _selectedTextFormat.color = 0x000000;

                _notSelectedTextFormat = new TextLayoutFormat();
                _notSelectedTextFormat.backgroundColor = 0xFFFFFF;
                _notSelectedTextFormat.color = 0x000000;
            }

            private var _textEditManager : EditManager;

            private var _selectedTextFormat : TextLayoutFormat;

            private var _notSelectedTextFormat : TextLayoutFormat;            

        ]]&gt;
    &lt;/fx:Script&gt;
    &lt;s:RichText id=&quot;rt&quot; text=&quot;Sample text&quot;
                creationComplete=&quot;onRichTextCreationComplete()&quot;/&gt;
    &lt;s:HSlider id=&quot;slider&quot;
              minimum=&quot;0&quot;
              maximum=&quot;10&quot;
              change=&quot;highlightItem(slider.value)&quot;&gt;
    &lt;/s:HSlider&gt;
&lt;/s:Application&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/ZVCHOp-jYeM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2010/02/applying-dynamically-selection-to-spark-richtext-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2010/02/applying-dynamically-selection-to-spark-richtext-component/</feedburner:origLink></item>
		<item>
		<title>When it is time to reset dirty flag “invalidatePropertiesFlag” in Flex invalidation framework?</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/U96e9BFSAHI/</link>
		<comments>http://www.jabbypanda.com/blog/2009/12/when-it-is-time-to-reset-dirty-flag-invalidatepropertiesflag-in-flex-invalidation-framework/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 18:02:28 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AdobeFlex]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=54</guid>
		<description><![CDATA[&#160;&#160;&#160;Invalidation in Flex is a mechanism by which changes made to a component's property values are queued and processed.This property value invalidation in Flex is controlled by setting and resetting boolean variables called dirty flags. 
&#160;&#160;&#160;One of such a dirty flags used internally in Flex invalidation mechanism is invalidatePropertiesFlag flag.
&#160;&#160;&#160;This particular flag is reset in [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;Invalidation in Flex is a mechanism by which changes made to a component's property values are queued and processed.This property value invalidation in Flex is controlled by setting and resetting boolean variables called <em><strong>dirty flags</strong></em>. </p>
<p>&nbsp;&nbsp;&nbsp;One of such a dirty flags used internally in Flex invalidation mechanism is <em>invalidatePropertiesFlag</em> flag.</p>
<p>&nbsp;&nbsp;&nbsp;This particular flag is reset in <em>validateProperties()</em> method from mx.core.UIComponent class from Flex 3 SDK:</p>
<pre class="brush: as3;">
public function validateProperties():void
{
    if (invalidatePropertiesFlag)
    {
        commitProperties();
        invalidatePropertiesFlag = false;
    }
}
</pre>
<p>Inside <em>commitProperties()</em> function the actual changes occur to the invalidated property's value, for example, it can be "width" property.</p>
<p>My question is:</p>
<p>&nbsp;&nbsp;&nbsp;Why dirty flag <em>invalidatePropertiesFlag</em> is reset <strong>after</strong> <em>commitProperties()</em> call, but not <strong>before</strong> this call?</p>
<p>I speculate this happens because:</p>
<ul>
<li>
 It is just a matter of life == code convention to put the dirty flag at the end of IF block;</li>
<li>
If code within <em>commitProperties()</em> raises RTE, we will still have a chance to execute the code in <em>commitProperties()</em> during playing next frame in Flash Player and this time maybe the code will not throw RTE.
</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;At this point, you may start to wonder why the exact location (at the very beginning or at the very end of IF sequence) of the dirty flag can be important?<br />
<span id="more-54"></span></p>
<p>&nbsp;&nbsp;&nbsp;The reason is:</p>
<p>&nbsp;&nbsp;&nbsp;If the code within <em>commitProperties()</em> implementation will try to invalidate some <font color="#FF0000">another</font> component's property (e.g "height" property) by using dirty flag, then this invalidation call will not be added to <em>mx.managers.LayoutManager.invalidatePropertiesQueue</em>, because dirty flag <em>invalidatePropertiesFlag</em> is still equal to true, see the listing of  <em>invalidateProperties</em> method from UIComponent for the explanation: </p>
<pre class="brush: as3;">
public function invalidateProperties():void
    {
        if (!invalidatePropertiesFlag)
        {
            invalidatePropertiesFlag = true;

            if (parent &amp;&amp; UIComponentGlobals.layoutManager)
                UIComponentGlobals.layoutManager.invalidateProperties(this);
        }
    }
</pre>
<p>&nbsp;&nbsp;&nbsp;The following example (source code can be viewed <a href="http://jabbypanda.com/labs/validatorInvalidation/srcview/source/Test_Validator.mxml.html">here</a>)<br />
illustrates this problem:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Test_Validator_530941631"
			class="flashmovie"
			width="200"
			height="200">
	<param name="movie" value="http://www.jabbypanda.com/labs/validatorInvalidation/Test_Validator.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/validatorInvalidation/Test_Validator.swf"
			name="fm_Test_Validator_530941631"
			width="200"
			height="200">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>&nbsp;&nbsp;&nbsp;In this example, Spark's DropDownMenu component <em>selectedItem</em> property is validated with <em>mx:StringValidator</em> validator.</p>
<p>&nbsp;&nbsp;&nbsp;But the red border highlighting about error (selectedItem is blank) will not go away on the first successfull selection of selectedItem property in DropDownMenu. </p>
<p>&nbsp;&nbsp;&nbsp;The validation error will only disappear on the second selection run, because DropDownMenu's "errorString" property is changed using invalidation mechanism, which in turn does not start on the first run because dirty flag <em>invalidatePropertiesFlag</em> is not yet reset.</p>
<p>The workaround to this sutuation is to trigger property invalidation mechanism manually by calling <em>validateProperties</em> method, but sometimes it can be not that convenient to call invalidation mechanism manually.</p>
<p>To sum up - I vote for the change in Flex SDK -  dirty flag "invalidatePropertiesFlag" should be reset before the execution of <em>commitProperties()</em> method</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/U96e9BFSAHI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2009/12/when-it-is-time-to-reset-dirty-flag-invalidatepropertiesflag-in-flex-invalidation-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2009/12/when-it-is-time-to-reset-dirty-flag-invalidatepropertiesflag-in-flex-invalidation-framework/</feedburner:origLink></item>
		<item>
		<title>NEVER use selectable=false for editable List or DataGrid Flex components</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/hiUPxvtrHqc/</link>
		<comments>http://www.jabbypanda.com/blog/2009/06/never-use-selectablefalse-for-editable-or/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 14:11:44 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AdobeFlex]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=41</guid>
		<description><![CDATA[It is very likely that the authors of Adobe Flex SDK have never devised the following simple use-case for both List and DataGrid components from Flex SDK:
 "selectable" property is set to false
 "editable" property is set to true
To prove this fact, try to play with the following samples:
mx:List 

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_list_testcase_151724914"
			class="flashmovie"
			width="400"
			height="300">
	<param name="movie" value="http://www.jabbypanda.com/labs/selectableDataGrid/list_testcase.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/selectableDataGrid/list_testcase.swf"
			name="fm_list_testcase_151724914"
			width="400"
			height="300">
	<!--<![endif]-->
		]]></description>
			<content:encoded><![CDATA[<p>It is very likely that the authors of Adobe Flex SDK have never devised the following simple use-case for both List and DataGrid components from Flex SDK:</p>
<li> "selectable" property is set to <em>false</em>
<li> "editable" property is set to <em>true</em>
<p>To prove this fact, try to play with the following samples:</p>
<p><u><strong>mx:List </strong></u></p>
<p>[kml_flashembed publishmethod="static" fversion="9.0.0" movie="http://www.jabbypanda.com/labs/selectableDataGrid/list_testcase.swf" width="400" height="300" targetclass="flashmovie"]</p>
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Click the first row, in a List,  then the itemEditor appears on the first row.<br />
Click the second row in a List , but the itemEditor doesn't appear on the second row </p>
<p>That's <a href="http://bugs.adobe.com/jira/browse/SDK-15309">bug SDK-15309</a>, documented over year ago.</p>
<p><u><strong>mx:DataGrid</strong></u></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_TestDataGrid_317553387"
			class="flashmovie"
			width="400"
			height="300">
	<param name="movie" value="http://www.jabbypanda.com/labs/selectableDataGrid/TestDataGrid.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.jabbypanda.com/labs/selectableDataGrid/TestDataGrid.swf"
			name="fm_TestDataGrid_317553387"
			width="400"
			height="300">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<pre class="brush: xml;">
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;
                creationComplete=&quot;initApp();&quot;
                width=&quot;400&quot;
                height=&quot;300&quot;
                styleName=&quot;plain&quot;
                paddingLeft=&quot;0&quot;
                paddingRight=&quot;0&quot;
                paddingTop=&quot;0&quot;
                paddingBottom=&quot;0&quot;&gt;

    &lt;mx:Script&gt;
        &lt;![CDATA[
            import mx.events.DataGridEvent;

            private function initApp():void {
                dg.dataProvider =                     [
                    {Artist:'Carole King', Album:'Tapestry', Price:11.99},
                    {Artist:'Paul Simon', Album:'Graceland', Price:10.99},
                    {Artist:'Original Cast', Album:'Camelot', Price:12.99},
                    {Artist:'The Beatles', Album:'The White Album', Price:11.99}
                    ];
            }

            private function onItemEditBegin(event : DataGridEvent) : void
            {
                trace (&quot;DG onItemEditBegin&quot;);
            }

        ]]&gt;
    &lt;/mx:Script&gt;
    &lt;mx:DataGrid id=&quot;dg&quot;
                 rowHeight=&quot;20&quot;
                 editable=&quot;true&quot;
                 selectable=&quot;false&quot;
                 width=&quot;100%&quot;
                 height=&quot;100%&quot;
                 itemEditBegin=&quot;onItemEditBegin(event)&quot;&gt;
        &lt;mx:columns&gt;
            &lt;mx:DataGridColumn
                               dataField=&quot;Artist&quot;
                               width=&quot;100&quot;&gt;
            &lt;/mx:DataGridColumn&gt;
            &lt;mx:DataGridColumn
                               dataField=&quot;Album&quot;/&gt;
            &lt;mx:DataGridColumn
                               dataField=&quot;Price&quot;/&gt;
        &lt;/mx:columns&gt;
    &lt;/mx:DataGrid&gt;
&lt;/mx:Application&gt;
</pre>
<p>Now, try to click on the DataGrid header, oops, you've just hit <a href="http://bugs.adobe.com/jira/browse/SDK-19436">SDK-19436 bug</a> (itemEditor instance is created unwillingly at first column, first row of DataGrid).</p>
<p>Then try to scroll the DataGrid with scroller buttons, and again you've hit another, albeit similar, <a href="http://bugs.adobe.com/jira/browse/SDK-21726">SDK-21726 bug</a> (itemEditor instance is created unwillingly at first column, first row of DataGrid).</p>
<p>Now scroll the contents of Datagrid a little bit down with a scroller thumb and start to edit cell in the first topmost visible row, first column, now move the current focus by pressing keyboard combination Shift+Tab, and once again, you've hit a <a href="http://bugs.adobe.com/jira/browse/SDK-16262">SDK-16262 bug</a>.</p>
<p>To conclude this post: do not set selectable on mx:List or mx:DataGrid components to false if you are going to edit their values using itemEditors, until all above mentioned bugs will be fixed.</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/hiUPxvtrHqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2009/06/never-use-selectablefalse-for-editable-or/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2009/06/never-use-selectablefalse-for-editable-or/</feedburner:origLink></item>
		<item>
		<title>Always keep an eye on most recent stable release of Adobe Flex SDK</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/Y5f2tLxA0CQ/</link>
		<comments>http://www.jabbypanda.com/blog/2008/11/always-keep-an-eye-on-most-recent-stable-release-of-adobe-flex-sdk/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 16:43:09 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[UITextFormat AdobeFlex3 AdobeJIRA]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=39</guid>
		<description><![CDATA[&#160;&#160;&#160;I was going to enter a new issue into Adobe JIRA Flex SDK bugbase that I could confirm to be present in the most recent milestone Adobe Flex SDK release 3.1.0.2710, shipped together with an August 2008 Flex Builder 3.0.1 update. 
&#160;&#160;&#160;Just before submitting the bug issue, I've tested the functionality under the question under [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;I was going to enter a new issue into <a href="https://bugs.adobe.com/jira">Adobe JIRA Flex SDK bugbase</a> that I could confirm to be present in the most recent milestone Adobe Flex SDK release 3.1.0.2710, shipped together with an August 2008 Flex Builder 3.0.1 update. </p>
<p>&nbsp;&nbsp;&nbsp;Just before submitting the bug issue, I've tested the functionality under the question <a href="http://blog.flexexamples.com/2008/08/01/downloading-and-installing-flex-sdk-builds-from-opensourceadobecom/">under the latest Adobe Flex SDK stable build</a> (<a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3">3.2.0.3794</a> at the time of writing) - and I was surprised to find out that the bug <strong>is already fixed</strong>.  Joy! Joy!</p>
<p>&nbsp;&nbsp;&nbsp; I rushed to find the reasoning for this change for UITextFormat class by reading change notes at Flex SDK download section at <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3">Adobe open source web-site</a>, but could not find any remarks regarding this change - would be handy to have a better insight behind this change for the community.</p>
<p>&nbsp;&nbsp;&nbsp;ps If you wonder, the issue was incorrect implementation of an internal function <em>copyFrom</em> from UITextFormat class. UITextField's public getUITextFormat() method relies on this <em>copyFrom</em> function to return UITextFormat object for the UITextField class instance. In a nutshell UITextFormat object is just a wrapper around <em>textFormat</em> class that should contain all the properties from wrapped <em>textFormat</em> class instance + add some additional functionality.</p>
<p>&nbsp;&nbsp;&nbsp;As it turned out, In Adobe Flex SDK 3.1 and below, 7(!) different properties were not copied into UITextFormat object from existing <em>textFormat</em> format object because of wrong implementation of <em>UITextFormat.copyFrom</em> function.</p>
<p>&nbsp;&nbsp;&nbsp;Now, we are safe, this particular issue is fixed!</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/Y5f2tLxA0CQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2008/11/always-keep-an-eye-on-most-recent-stable-release-of-adobe-flex-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2008/11/always-keep-an-eye-on-most-recent-stable-release-of-adobe-flex-sdk/</feedburner:origLink></item>
		<item>
		<title>Hint: Always better to use ‘itemUpdated’ method instead of ’setItemAt’ when updating existing items in ArrayCollection</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/BHIzxoNUjt0/</link>
		<comments>http://www.jabbypanda.com/blog/2008/04/hint-always-better-to-use-itemupdated-method-instead-of-setitemat-when-updating-existing-items-in-arraycollection/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 08:02:13 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ArrayCollection]]></category>
		<category><![CDATA[CollectionEvent]]></category>
		<category><![CDATA[itemUpdated]]></category>
		<category><![CDATA[setItemAt]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=38</guid>
		<description><![CDATA[&#160;&#160;&#160;When you want to update already existing data item in your ArrayCollection in ActionScript 3 with a new values for object's properties you have 2 options to select from:


use itemUpdated(obj) ArrayCollection's method.

use setItemAt(obj, index) ArrayCollection's method.

&#160;&#160;&#160;ActionScript code sample:

    //Update an existing person in the ArrayCollection via setItemAt

    public function [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;When you want to <u>update</u> already existing data item in your ArrayCollection in ActionScript 3 with a new values for object's properties you have 2 options to select from:
<ol type="a">
<li>
use <a href="http://livedocs.adobe.com/flex/2/langref/mx/collections/ICollectionView.html#itemUpdated()">itemUpdated(obj)</a> ArrayCollection's method.</li>
<li>
use <a href="http://livedocs.adobe.com/flex/2/langref/mx/collections/ListCollectionView.html#setItemAt()">setItemAt(obj, index)</a> ArrayCollection's method.</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;ActionScript code sample:</p>
<pre class="brush: as3;">
    //Update an existing person in the ArrayCollection via setItemAt

    public function updatePersonViaSetItemAt():void {
        var currentlySelectedItem : Object = dg.selectedItem;
        currentlySelectedItem.first = firstInput.text;
        currentlySelectedItem.last = lastInput.text;
        ac.setItemAt(currentlySelectedItem, dg.selectedIndex);
    }

    // Update an existing person in the ArrayCollection via itemUpdated

    public function updatePersonViaItemUpdated():void {
        var currentlySelectedItem : Object = dg.selectedItem;
        currentlySelectedItem.first =  firstInput.text;
        currentlySelectedItem.last =  lastInput.text;
        ac.itemUpdated(currentlySelectedItem);

    }
</pre>
<p>&nbsp;&nbsp;&nbsp;Which one to choose?</p>
<p>&nbsp;&nbsp;&nbsp;I would strongly advice to always use 'itemUpdated' because of the following reasons:</p>
<ul>
<li>Calling <em>setItemAt(x)</em> on your existing data item in ArrayCollection is an equivalent to calling the <em>removeItemAt(x)</em> method and then calling the <em>addItemAt(..., x)</em> method on your data item. <br/><br />
&nbsp;&nbsp;&nbsp;Thus after making the call to <em>setItemAt(x, index)</em> you will loose the current selection in your ArrayCollection dependant UI component (mx:DataGrid, mx:Tree, mx:Combobox.. etc..) <br/><br/>
</li>
<li>If the Sort rule is already applied to your ArrayCollection then you can receive some funky results like <a href="http://bugs.adobe.com/jira/browse/SDK-12587">unwanted inserting of a new row</a> when partly changing several properties of the existing data item in ArrayCollection.</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;Interactive sample with "View source" option enabled to watch the difference:<br />
<a href="http://jabbypanda.com/labs/updateArrayCollectionItem/updateArrayCollectionItem.html">http://jabbypanda.com/labs/updateArrayCollectionItem/updateArrayCollectionItem.html</a></p>
<p>You can try the following: </p>
<ol type="1">
<li>First apply sorting to any of the DataGrid's column</li>
<li>Select the first row in the Datagrid</li>
<li>Rename the surname of the person to something completely new starting with a new letter</li>
<li>Press <strong>"Update via setItemAt()"</strong> button control </li>
</ol>
<p>Voilà, new unwanted row becomes visible in the Datagrid.</p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/BHIzxoNUjt0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2008/04/hint-always-better-to-use-itemupdated-method-instead-of-setitemat-when-updating-existing-items-in-arraycollection/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2008/04/hint-always-better-to-use-itemupdated-method-instead-of-setitemat-when-updating-existing-items-in-arraycollection/</feedburner:origLink></item>
		<item>
		<title>The first meeting of Ukrainian Adobe Flash platform user group (UAFPUG) went well!</title>
		<link>http://feedproxy.google.com/~r/jabbypanda/~3/FnIfrowOhyI/</link>
		<comments>http://www.jabbypanda.com/blog/2008/03/the-first-meeting-of-ukrainian-adobe-flash-platform-user-group-uafpug-went-well/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 14:59:17 +0000</pubDate>
		<dc:creator>JabbyPanda</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://www.jabbypanda.com/blog/?p=37</guid>
		<description><![CDATA[Kharkiv, Ukraine is quickly becoming a popular place for Ukrainian Flash and Flex developers to meet.
After intoductory meeting of Ukrainian Adobe Flash platform user group(UAFPUG) at  February 2008 codenamed UAFPUG-0, the first real seminar UAFPUG-1 had quickly followed at 15th of March, 2008 at Global Logic office premises at Kharkiv, Ukraine. 
Speakers list had [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://maps.yahoo.com/#mvt=m&#038;lat=49.994537&#038;lon=36.266674&#038;mag=12&#038;trf=0&#038;q1=Kharkiv">Kharkiv, Ukraine</a> is quickly becoming a popular place for Ukrainian Flash and Flex developers to meet.</p>
<p>After intoductory meeting of <a href="http://www.adobe.com/cfusion/usergroups/search_results.cfm?findType=2&#038;country_id=8503C771-6DC2-4610-9AEEEBECB0D22B28">Ukrainian Adobe Flash platform user group(UAFPUG)</a> at <a href="http://blog.tsdesign.com.ua/?page_id=6"> February 2008</a> codenamed UAFPUG-0, the first real seminar UAFPUG-1 had quickly followed at 15th of March, 2008 at <a href="http://www.globallogic.com.ua/globallogic/index.php?option=com_content&#038;task=view&#038;id=6&#038;Itemid=47">Global Logic</a> office premises at Kharkiv, Ukraine. </p>
<p>Speakers list had included 3 (THREE!) talented local Flash profesionals who had presented to the audience of 45 attendees mostly from all major cities in Eastern Ukraine and Kyiv included + 1 international visitor from Russia.</p>
<p>The speech topics were as follows: </p>
<li>Event flow model in ActionScript 3.0 (presented by <a href="http://blog.pirrest.com/">Pirrest</a>)</li>
<li>Introducing Flash media server 3.0 feature (presented by <a href="http://www.papazoff.com">Dinosaur</a>)</li>
<li>Applying PureMVC framework to the creation of vector map of Moscow city (like Mos2.ru does) (presented by <a href="http://flash-ripper.com/">_rost</a>)</li>
<p>.<br />
<a href="http://www.flickr.com/photos/jabbypanda/2336777315/" title="UAFPUG-1 meeting by JabbyPanda, on Flickr"><img src="http://farm3.static.flickr.com/2039/2336777315_9597923cd5.jpg" width="500" height="375" alt="UAFPUG-1 meeting" /></a><br />
Rostyslav Syrik <a href="http://en.flash-ripper.com">_rost</a> discusses the ins and outs of PureMVC framework. </p>
<p><a href="http://www.flickr.com/photos/jabbypanda/2336779237/" title="UAFPUG-1 meeting audience by JabbyPanda, on Flickr"><img src="http://farm3.static.flickr.com/2052/2336779237_1da6812d16.jpg" width="500" height="375" alt="UAFPUG-1 meeting audience" /></a><br />
The UAFPUG-1 meeting audience was very into the subject of the seminars <img src='http://www.jabbypanda.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Thank you to all of you, who had helped to make this meeting to become a reality, especially <a href="http://flash-ripper.com/">_rost</a>, <a href="http://reijii.solartxit.com/">Reijji</a>, <a href="http://the33cows.com/">__i</a>, <a href="http://blog.pirrest.com/">Pirrest</a> and Global Logic team crew. </p>
<img src="http://feeds.feedburner.com/~r/jabbypanda/~4/FnIfrowOhyI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jabbypanda.com/blog/2008/03/the-first-meeting-of-ukrainian-adobe-flash-platform-user-group-uafpug-went-well/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.jabbypanda.com/blog/2008/03/the-first-meeting-of-ukrainian-adobe-flash-platform-user-group-uafpug-went-well/</feedburner:origLink></item>
	</channel>
</rss>
