<?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>Flexpert to the rescue &#187; Flash Catalyst</title>
	<atom:link href="http://www.flexpert.be/tag/flash-catalyst/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexpert.be</link>
	<description>Blog site about all things Adobe</description>
	<lastBuildDate>Sun, 05 Feb 2012 21:58:01 +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>Creating Flex themes with Flash Catalyst</title>
		<link>http://www.flexpert.be/2011/04/creating-flex-themes-with-flash-catalyst/</link>
		<comments>http://www.flexpert.be/2011/04/creating-flex-themes-with-flash-catalyst/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 09:37:52 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=803</guid>
		<description><![CDATA[In my book Flash Builder and Flash Catalyst; the new workflow I talk about different workflows for the different types of applications. These workflows are all good when creating a single application. But isn&#8217;t there something you could do for improving reusability of your design elements and collaborating more easily? [...]]]></description>
			<content:encoded><![CDATA[<p>In my book <a href="http://amzn.to/hb3RBm">Flash Builder and Flash Catalyst; the new workflow</a> I talk about different workflows for the different types of applications. These workflows are all good when creating a single application. But isn&#8217;t there something you could do for improving reusability of your design elements and collaborating more easily?</p>
<p>First thing to do, and this is what I always tend to do, is to <strong>export your Flash Catalyst components as a Flex library project</strong>. This allows you to get around the roundtripping issue, because this library project only contains Flash Catalyst generated components and will therefore remain compatible with Flash Catalyst when you need to alter the design at some point in the future.</p>
<p>Skinning your actual project is then done by linking the SWC file from the library project to your actual project and applying the proper skin to the component using the skinClass property. Now to be able to work with this properly, you&#8217;ll need to <strong>create a manifest file for that library</strong> as well. This will allow you to use only one single namespace for every component/skin in the library, even though the components/skins may reside in a number of packages.</p>
<p>Now, this approach will definitely work, but you still have to apply the <em>skinClass</em> property to every component in your application. However, <strong>you can apply all the styling on your application by defining a theme CSS that accompanies the SWC file containing the skins</strong>. Let me briefly explain this process by creating a very small example.</p>
<p>In this example I&#8217;m going to create a skin for a single component, namely the <em>HSlider</em> component. I want to make it look a little bit like the iOS slider, where you have a colored fill of the slider bar that follows the slider thumb position. To make things easier, I&#8217;m going to start out in Flash Catalyst. I simply create a new project with the default settings and I&#8217;m going to create the skin from scratch. Of course, you can certainly start out with an Illustrator or a Photoshop file. The process of creating the skin will remain exactly the same.</p>
<p>First I need to create the track and duplicate that layer to have the fill color as a separate item. Next, I&#8217;m creating the thumb for the slider by drawing two concentric circles with opposite gradients, one a little smaller than the other, to create a semi 3D lighting effect. The result looks like the image below.</p>
<p><a href="http://www.flexpert.be/wp-content/Layers-panel.png"><img src="http://www.flexpert.be/wp-content/Layers-panel-300x111.png" alt="" title="iOS Slider design" width="300" height="111" class="aligncenter size-medium wp-image-810" /></a></p>
<p>The next step is to convert that design into a working component. Now, in Flash Catalyst, unless you&#8217;re putting components on the artboard, you actually just create some skin files. So, using the Heads-Up Display (HUD) I convert the artwork into a horizontal slider. After indicating the track and thumb, my skin file is now ready to be imported into Flash Builder.</p>
<p>Since I&#8217;m going to be creating a Flex theme, I don&#8217;t just save the Flash Catalyst project and open it in Flash Builder. I&#8217;m actually going to <strong>export the library components as a Flex library project (FXPL)</strong>, as shown below. When you import the FXPL file into Flash Builder it will automatically create the library project for you.</p>
<p><a href="http://www.flexpert.be/wp-content/Library-panel.png"><img src="http://www.flexpert.be/wp-content/Library-panel.png" alt="" title="Library panel" width="284" height="236" class="aligncenter size-full wp-image-816" /></a></p>
<p>If you look at the code now, you&#8217;ll see that the size of the slider skin is fixed. But <strong>since I want to create a theme that can be used in any circumstance and in any project, I need to make a few adjustments to the generated code to make the skin more dynamic</strong>. For that I&#8217;m going to make use of the <em>[HostComponent]</em> metadata tag. This gives me a reference to the actual component that this skin is applied to. Therefore I can get the size of that component and adjust the skin accordingly. The adjusted code for the main HSlider skin looks like this.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Skin</span> xmlns:s=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/spark&quot;</span></span>
<span style="color: #000000;">		xmlns:fx=<span style="color: #ff0000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span></span>
<span style="color: #000000;">		width=<span style="color: #ff0000;">&quot;300&quot;</span> height=<span style="color: #ff0000;">&quot;17&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Metadata</span><span style="color: #7400FF;">&gt;</span></span>[HostComponent(&quot;spark.components.HSlider&quot;)]<span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Metadata</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:states</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:State</span> name=<span style="color: #ff0000;">&quot;normal&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:State</span> name=<span style="color: #ff0000;">&quot;disabled&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:states</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Button</span> id=<span style="color: #ff0000;">&quot;track&quot;</span> x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;5&quot;</span> skinClass=<span style="color: #ff0000;">&quot;components.IOSSliderTrackSkin&quot;</span> width=<span style="color: #ff0000;">&quot;{hostComponent.width}&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Rect</span> x=<span style="color: #ff0000;">&quot;1&quot;</span> y=<span style="color: #ff0000;">&quot;6&quot;</span> width=<span style="color: #ff0000;">&quot;{thumb.x + (thumb.width / 2)}&quot;</span> height=<span style="color: #ff0000;">&quot;6&quot;</span> radiusX=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:fill</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:LinearGradient</span> rotation=<span style="color: #ff0000;">&quot;90&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:GradientEntry</span> alpha=<span style="color: #ff0000;">&quot;1.0&quot;</span> color=<span style="color: #ff0000;">&quot;#009CFF&quot;</span> ratio=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:GradientEntry</span> alpha=<span style="color: #ff0000;">&quot;1.0&quot;</span> color=<span style="color: #ff0000;">&quot;#002FD1&quot;</span> ratio=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:LinearGradient</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:fill</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:Rect</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Button</span> id=<span style="color: #ff0000;">&quot;thumb&quot;</span> x=<span style="color: #ff0000;">&quot;134&quot;</span> y=<span style="color: #ff0000;">&quot;0&quot;</span> skinClass=<span style="color: #ff0000;">&quot;components.IOSSliderThumbSkin&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:Skin</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>You&#8217;ll notice that I&#8217;ve bound the colored rectangle&#8217;s size to the position of the center point of the thumb. This will assure that the colored section follows the slider thumb position instead of being static and covering the whole component.<br />
Now, the default size for the slider is 300 pixels, but if you specify another width, the component will be resized properly. I didn&#8217;t take the height into account for this simple demo, but similarly you can also adjust the height of the component according to the height specified in the application.</p>
<p><strong>Next thing to do is to create a CSS file that attaches this skin to all HSlider components.</strong> This is very simple and straightforward, as you can see in the code below.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* CSS file */</span>
<span style="color: #a1a100;">@namespace s &quot;library://ns.adobe.com/flex/spark&quot;;</span>
<span style="color: #a1a100;">@namespace fc &quot;http://ns.adobe.com/flashcatalyst/2009&quot;;</span>
&nbsp;
s|HSlider <span style="color: #00AA00;">&#123;</span>
	skinClass<span style="color: #00AA00;">:</span> ClassReference<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;components.IOSSlider&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>OK, so now our theme is ready to be used. There are a couple more steps to take before you an actually use it. First of all, you need to <strong>compile the library project</strong>, so you can link it to the actual project that you are going to apply the theme to. Since I&#8217;m using Flash Builder with automatic builds, this is already taken care of.</p>
<p>The next step is to load the CSS file into the theme selector, so you can actually apply the theme to the project using a few very simple clicks. For that, I&#8217;m going to the Design view in my project and click on the <em>Current Theme</em> link in the <em>Appearance</em> panel. This brings up the theme selector dialog.</p>
<p><a href="http://www.flexpert.be/wp-content/Import-theme.png"><img src="http://www.flexpert.be/wp-content/Import-theme-300x187.png" alt="" title="Import theme" width="300" height="187" class="aligncenter size-medium wp-image-823" /></a></p>
<p>In that dialog I&#8217;m importing the new theme by selecting the CSS file that I&#8217;ve just created and giving it a proper name. Since I&#8217;m going for an iOS look, I&#8217;ve simply named it <em>iOS</em>. Now, after the import, you can see the new theme displayed in the list of themes to choose from. So, obviously I choose that theme and click <em>OK</em>.</p>
<p><a href="http://www.flexpert.be/wp-content/Apply-theme.png"><img src="http://www.flexpert.be/wp-content/Apply-theme-300x181.png" alt="" title="Apply theme" width="300" height="181" class="aligncenter size-medium wp-image-825" /></a></p>
<p>Now that I have the new theme applied to the project, I can simply use a <em>HSlider</em> component in my application and it will automatically be styled according to the settings in the them. To prove that the theme is dynamically adjustable, I&#8217;m creating a component with a <em>width</em> property of 500 pixels.</p>
<p>If you compile the application now, you would get some errors, because the skin files cannot be found. <strong>The very last thing I need to do is to link the theme&#8217;s SWC file to my project.</strong> In this example I&#8217;ve just copied the SWC file to the <em>libs</em> folder in my project. However, you could create a RSL (Runtime Shared Library) even to have your theme deployed separately and only once for all your projects. The big advantage is that your resulting project SWF file doesn&#8217;t get affected by the theme and when you alter your theme, you can just deploy that RSL and every project that uses that theme will automatically be updated next time it is started up.</p>
<p>The result is a working slider bar that has dynamic content and is styled via a Flex theme inside of Flash Builder. Just try out the example below to see the result.</p>
<p><center>
<object width="550" height="50">
<param name="movie" value="http://www.flexpert.be/swfexamples/iOSTest.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<param name="allowScriptAccess" value="always"></param>
<embed wmode="transparent" type="application/x-shockwave-flash" width="550" height="50" src="http://www.flexpert.be/swfexamples/iOSTest.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2011/04/creating-flex-themes-with-flash-catalyst/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using your own components to convert artwork in Flash Catalyst</title>
		<link>http://www.flexpert.be/2010/10/using-your-own-components-to-convert-artwork-in-flash-catalyst/</link>
		<comments>http://www.flexpert.be/2010/10/using-your-own-components-to-convert-artwork-in-flash-catalyst/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 09:53:54 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Burrito]]></category>
		<category><![CDATA[Panini]]></category>
		<category><![CDATA[skinnable components]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=631</guid>
		<description><![CDATA[With the new versions of both Flash Builder &#8220;Burrito&#8221; and Flash Catalyst &#8220;Panini&#8221; you get a whole lot of new possibilities. Well, to be honest, these possibilities should have been included from the start, but unfortunately they weren&#8217;t. But it has to be said that the development teams are working [...]]]></description>
			<content:encoded><![CDATA[<p>With the new versions of both Flash Builder &#8220;Burrito&#8221; and Flash Catalyst &#8220;Panini&#8221; you get a whole lot of new possibilities. Well, to be honest, these possibilities should have been included from the start, but unfortunately they weren&#8217;t. But it has to be said that the development teams are working very hard on improving the products in a lot of ways.</p>
<p>One such an improvement is the fact that you can now create your own custom components with skin parts in Flash Builder and use that component in the HUD (Heads-Up Display) in Flash Catalyst. That means that you&#8217;re no longer only working from Flash Catalyst towards Flash Builder, but you can go the other way around as well. Let me show you how.</p>
<p>First, you need to <strong>create a Flash Catalyst Compatible Project</strong>, which is just another option from the <em>File &gt; New</em> menu. In the project you have to <strong>create an ActionScript Skinnable Component</strong>, which can again be found in the <em>File > New</em> menu. When you do this, make sure that you have the <em>Generate Comments</em> option checked in the popup dialog, because it will help you a lot in creating your first components.</p>
<p>In the ActionScript file, you define a couple of skin states using the [SkinState] metadata tag. In this example, we are going to create an &#8220;open&#8221; and &#8220;closed&#8221; state. Then you also need to define the skin parts. This is done by using the [SkinPart] metadata tag. Optionally you can make skin parts required by defining the metadata tag as follows: [SkinPart(required:"true")]. When we define a button, text input field and a label in the skin, the resulting file will look like this.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #3f5fbf;">/* For guidance on writing an ActionScript Skinnable Component please refer to the Flex documentation: 
	www.adobe.com/go/actionscriptskinnablecomponents */</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">import</span> spark<span style="color: #000066; font-weight: bold;">.</span>components<span style="color: #000066; font-weight: bold;">.</span>Button<span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> spark<span style="color: #000066; font-weight: bold;">.</span>components<span style="color: #000066; font-weight: bold;">.</span>RichText<span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> spark<span style="color: #000066; font-weight: bold;">.</span>components<span style="color: #000066; font-weight: bold;">.</span>TextInput<span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> spark<span style="color: #000066; font-weight: bold;">.</span>components<span style="color: #000066; font-weight: bold;">.</span>supportClasses<span style="color: #000066; font-weight: bold;">.</span>SkinnableComponent<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
&nbsp;
	<span style="color: #3f5fbf;">/* A component must identify the view states that its skin supports. 
	Use the [SkinState] metadata tag to define the view states in the component class. 
	[SkinState(&quot;normal&quot;)] */</span>
	<span style="color: #000000;">&#91;</span>SkinState<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;open&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
	<span style="color: #000000;">&#91;</span>SkinState<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;closed&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> MyCustomComponent <span style="color: #0033ff; font-weight: bold;">extends</span> SkinnableComponent
	<span style="color: #000000;">&#123;</span>
		<span style="color: #3f5fbf;">/* To declare a skin part on a component, you use the [SkinPart] metadata. 
		[SkinPart(required=&quot;true&quot;)] */</span>
		<span style="color: #000000;">&#91;</span>SkinPart<span style="color: #000000;">&#40;</span>required=<span style="color: #990000;">&quot;true&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> input<span style="color: #000066; font-weight: bold;">:</span>TextInput<span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#91;</span>SkinPart<span style="color: #000000;">&#40;</span>required=<span style="color: #990000;">&quot;true&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> button<span style="color: #000066; font-weight: bold;">:</span>Button<span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#91;</span>SkinPart<span style="color: #000000;">&#40;</span>required=<span style="color: #990000;">&quot;false&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> label<span style="color: #000066; font-weight: bold;">:</span>RichText<span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#91;</span>SkinPart<span style="color: #000000;">&#40;</span>required=<span style="color: #990000;">&quot;true&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> resizeButton<span style="color: #000066; font-weight: bold;">:</span>Button<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> MyCustomComponent<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #009900; font-style: italic;">//TODO: implement function</span>
			<span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #009966; font-style: italic;">/* Implement the getCurrentSkinState() method to set the view state of the skin class. */</span>
		override <span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> getCurrentSkinState<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000066; font-weight: bold;">.</span>getCurrentSkinState<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span> 
&nbsp;
		<span style="color: #3f5fbf;">/* Implement the partAdded() method to attach event handlers to a skin part, 
		configure a skin part, or perform other actions when a skin part is added. */</span>	
		override <span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> partAdded<span style="color: #000000;">&#40;</span>partName<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> instance<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000066; font-weight: bold;">.</span>partAdded<span style="color: #000000;">&#40;</span>partName<span style="color: #000066; font-weight: bold;">,</span> instance<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #009966; font-style: italic;">/* Implement the partRemoved() method to remove the even handlers added in partAdded() */</span>
		override <span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> partRemoved<span style="color: #000000;">&#40;</span>partName<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">,</span> instance<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000066; font-weight: bold;">.</span>partRemoved<span style="color: #000000;">&#40;</span>partName<span style="color: #000066; font-weight: bold;">,</span> instance<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Once you&#8217;ve completed the ActionScript Skinnable Component you then have to <strong>export the project</strong> by choosing <em>Project &gt; Flash Catalyst &gt; Export Flash Catalyst Project</em>. In Flash Catalyst you then have to open the FXP file to work on the project. Then you create some graphics to represent the component. You may end up with something like this.</p>
<p><img src="http://www.flexpert.be/wp-content/SkinnableComponent1.png" alt="" title="SkinnableComponent1" width="357" height="87" class="aligncenter size-full wp-image-632" /></p>
<p>The next step is where the magic happens, because when you select all of the graphics and you look in the HUD, you&#8217;ll notice that you can now <strong>convert those graphics into a Skinnable Component</strong>. This is the last option in the conversion dropdown. Once you&#8217;ve selected that option you&#8217;ll get a popup dialog which allows you to choose which component if you have more than one skinnable component available.</p>
<p><img src="http://www.flexpert.be/wp-content/SkinnableComponent2.png" alt="" title="SkinnableComponent2" width="340" height="300" class="aligncenter size-full wp-image-633" /></p>
<p>In this dialog you also have the option to load an FXPL library project in case the component you want is not yet loaded into the project. But since we&#8217;ve created the component inside of the project, we&#8217;re already having the component available. So, <strong>select that custom component and click OK</strong>. Once you&#8217;ve done that, you&#8217;ll notice that Flash Catalyst indicates that the component still needs some work, since you need to indicate all of the different skin parts you&#8217;ve defined earlier in Flash Builder.</p>
<p><img src="http://www.flexpert.be/wp-content/SkinnableComponent3.png" alt="" title="SkinnableComponent3" width="572" height="369" class="aligncenter size-full wp-image-636" /></p>
<p>Digging into the component, you&#8217;ll also notice the two skin states you&#8217;ve defined earlier on as well, which allows you to work with these different view states for your custom component. Now, <strong>assign the different skin parts and make some changes to the closed state</strong> to have two distinct states. For example, you can remove the label, resize the colored rectangle and change the label of the resize button in the closed state. Don&#8217;t forget to capture the click on the resize button to change view states at runtime.</p>
<p><img src="http://www.flexpert.be/wp-content/SkinnableComponent4.png" alt="" title="SkinnableComponent4" width="260" height="158" class="aligncenter size-full wp-image-638" /></p>
<p>As a final step, you just have to save the project and import it again in Flash Builder. You can overwrite the existing project now and when you run it, you&#8217;ll notice that the component is fully functioning now, as you can see below. Just hit the resize button to see it in action.</p>
<p><center>
<object width="400" height="100">
<param name="movie" value="http://www.flexpert.be/swfexamples/SkinnableComponents.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<param name="allowScriptAccess" value="always"></param>
<embed wmode="transparent" type="application/x-shockwave-flash" width="400" height="100" src="http://www.flexpert.be/swfexamples/SkinnableComponents.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2010/10/using-your-own-components-to-convert-artwork-in-flash-catalyst/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating a custom combobox using Flash Catalyst</title>
		<link>http://www.flexpert.be/2010/04/creating-a-custom-combobox-using-flash-catalyst/</link>
		<comments>http://www.flexpert.be/2010/04/creating-a-custom-combobox-using-flash-catalyst/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 06:55:12 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[combobox]]></category>
		<category><![CDATA[components]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=419</guid>
		<description><![CDATA[Comboboxes are great components, but unfortunately, at the moment you cannot create a custom combobox in Flash Catalyst by simply using the HUD or right-click menu to convert the artwork. In my book &#8220;Flash Builder and Flash Catalyst: the new workflow&#8221; ( http://www.friendsofed.com/book.html?isbn=1430228350) I created a design for an e-commerce [...]]]></description>
			<content:encoded><![CDATA[<p>Comboboxes are great components, but unfortunately, at the moment you cannot create a custom combobox in Flash Catalyst by simply using the HUD or right-click menu to convert the artwork. In my book &#8220;Flash Builder and Flash Catalyst: the new workflow&#8221; ( <a href="http://www.friendsofed.com/book.html?isbn=1430228350">http://www.friendsofed.com/book.html?isbn=1430228350</a>) I created a design for an e-commerce application where I used a custom combobox.  The design looks like this.</p>
<h3 style="margin-bottom:10px">The design</h3>
<p style="text-align: center"><a href="http://www.flexpert.be/wp-content/uploads/Peeters28356fig0603.jpg"><img class="aligncenter size-full wp-image-425" title="Custom combobox in the sidebar" src="http://www.flexpert.be/wp-content/uploads/Peeters28356fig0603.jpg" alt="Custom combobox in the sidebar" width="600" height="375" /></a></p>
<p>At the bottom of the navigation sidebar you are going to <strong>add yet another section</strong>. This time the section will contain <strong>a dropdown combobox that contains the categories in which the pictures from the photo gallery are divided</strong>. You could opt to get the categories list from the database, but since we only have four categories to add in this combobox, you might as well do it hard coded this time. So, add the following items to the combobox dropdown section which has a light gray background color:</p>
<ul>
<li> All</li>
<li> Waterfalls</li>
<li> Reflections</li>
<li> Lakes</li>
<li> Mountains</li>
</ul>
<p>I&#8217;ve deliberately chosen not to place them in an alphabetical order because I&#8217;m assuming that the top items will be the ones users are going to look for the most. Of course, you can place the items in an alphabetical order if you find this more suitable.</p>
<p>The combobox itself will get a focus color gradient indicating when it has the input focus. Use the same green-ish gradient colors for all gradients in the application. And next to the rectangle that holds the selected item, you draw a smaller square with an arrow in it. This will act as the trigger to open the dropdown list for the combobox component. Underneath the combobox there also has to be <strong>a button that allows the user to actually confirm the selection he&#8217;s made for filtering the photos</strong> he wants to view inside of the photo gallery.</p>
<h3 style="margin-bottom:10px">Bringing the component to life</h3>
<p>If you really think about it, you have to break down the combobox into basic parts and what I&#8217;ve come up with is the idea that a combobox is really nothing more than a Toggle Button with an additional Data List component in the toggled state. But that doesn&#8217;t make it an easy component to create from scratch. Also the fact that the selected item must be displayed in the collapsed combobox state means that we are going to have to do some custom programming in Flash Builder later on to dynamically fill out that value depending on the selected item in the Data List part of the component.</p>
<p>So let&#8217;s start working on this component by <strong>selecting the &#8220;</strong>Dropdown&#8221; <strong>and &#8220;</strong>Dropdown values&#8221; <strong>layer groups in the</strong> Layers <strong>panel and convert it into a</strong> Custom/Generic Component. Rename that component to &#8220;SearchComboBox&#8221;. Double click the newly created component, select the combobox rectangle, the selected value and the arrow button and convert that into a Toggle Button. Double click that component again and <strong>assign the label for the button</strong>, making it as wide as possible to fit the entire component and sharing this change with the other states again. <strong>Render the</strong> Focus color <strong>layer invisible for the</strong> Up <strong>and</strong> Disabled <strong>states.</strong> Before continuing with the other states you first have to convert the Dropdown values layer group into a Data List component. So, select that group and choose Convert Artwork to Component &gt; Data List from the right click popup menu. In the component you still have to indicate the list items and their states. <strong>Double click the new component and select the selected item in the design to create the</strong> Repeated Item <strong>part. </strong> Space the items 2 pixels from each other, fill out the Design-Time Data panel to contain the five possible selection items and remove the other values in the design layer. <strong>Double click the repeated item component to dive into it.</strong> Remove the background color for the Up state. For the Over state, select the background layer and set the Opacity level to 50 in the Common section of the Properties panel. This will show a difference between the selected item and the one the user is hovering to possibly select. That&#8217;s it for the Data List component, <strong>so go back up one level</strong> using the bread crumbs at the top of the artboard. <strong>Rename the list component</strong> to &#8220;SearchValuesList&#8221; in the Library panel.</p>
<p><strong>Again, go up one level so you reach the</strong> SearchComboBox <strong>level again.</strong>In this component you still need to <strong>make that list component visible in the proper state</strong>. In fact, you still need to make the proper states in the component. So, go ahead and <strong>duplicate the state in the</strong> Pages/States <strong>panel three times</strong> and name the states appropriately</p>
<ul>
<li> Up</li>
<li> Over</li>
<li> Down</li>
<li> Disabled</li>
</ul>
<p><strong>In the</strong> Up <strong>and</strong> Disabled <strong>states, you make the data list invisible</strong>, because this will be the normal state. <strong>In the</strong> Over <strong>state, you need to set the toggle button&#8217;s</strong> Selected <strong>property to true</strong> by checking the checkbox in the Common section of the Properties panel. This will show the selection color for the combobox. <strong>You do the same thing for the</strong> Down <strong>state. Additionally you have to make the</strong> SerchValuesList <strong>component visible. In the</strong> Disabled <strong>state you need to set the button component disabled</strong> by unchecking the Enabled checkbox in the Common section of the Properties panel.</p>
<p>Now you have defined the states for the component, but you still have to define how the application will go from one state to another. Let&#8217;s start with the Data List part since this is the easy one. You <strong>select the</strong> SearchValuesList <strong>component</strong> in the Layers panel and <strong>add the following interaction</strong>:</p>
<ul>
<li> Event: On Select</li>
<li> Action: Play Transition to State</li>
<li> State: Over</li>
<li> When: When any item is selected</li>
</ul>
<p>Going back to the Over state keeps the focus rectangle displayed after a selection has been made in the list component.</p>
<p>For the combobox part itself it is slightly more complicated and there are a couple of interactions you have to define. Let&#8217;s handle them in the same order as the chain of events that take place when a visitor uses this component. The first event that will happen is the user hovering over the component. <strong>So, add the following interaction for the combobox component:</strong></p>
<ul>
<li> Event: On Roll Over</li>
<li> Action: Play Transition to State</li>
<li> State: Over</li>
<li> When: When in Up</li>
</ul>
<p>The next event that will occur is the fact that the user click on the combobox to open it. That means that you have to go from the Over state (not the Up state) to the Down state for the component by <strong>adding the interaction</strong>:</p>
<ul>
<li> Event: On Click</li>
<li> Action: Play Transition to State</li>
<li> State: Down</li>
<li> When: When in Over</li>
</ul>
<p>Then the user can go in two directions. Either he selects an item in the list, which you&#8217;ve already covered by capturing the event on the SearchValuesList component. Or he can cancel the selection choice. In this last case the user actually clicks on the combobox component again. That is why you needed to add a condition to the view state change before. <strong>Now you need to add a similar interaction, but the other way around:</strong></p>
<ul>
<li> Event: On Click</li>
<li> Action: Play Transition to State</li>
<li> State: Over</li>
<li> When: When in Down</li>
</ul>
<p>Now the combobox is closed again, but the hover color is still visible. That means there is only one more possible event and that is the user moving the mouse cursor away from the combobox component. <strong>So, on the combobox component you need to add one last interaction to go back to the normal state:</strong></p>
<ul>
<li> Event: On Roll Out</li>
<li> Action: Play Transition to State</li>
<li> State: Up</li>
<li> When: When in Over</li>
</ul>
<p style="text-align: center;"><a href="http://www.flexpert.be/wp-content/uploads/Peeters28356fig0611.jpg"><img class="aligncenter size-full wp-image-424" title="Interactions on the combobox component" src="http://www.flexpert.be/wp-content/uploads/Peeters28356fig0611.jpg" alt="Interactions on the combobox component" width="308" height="275" /></a></p>
<p>Adding all of these events to the component will render your generic component into a working combobox. If you like, you can still add a couple of transitions to the view state changes to make the (dis)appearing of the data list a little smoother, but it is not strictly necessary for our user experience.</p>
<p>I know it&#8217;s a bit of work to get this far, butat the time of writing there is no Spark equivalent for the ComboBox component, so you can use this method to easily create such a component directly from within Flash Catalyst. But at this point you&#8217;re done with the component for now and you <strong>go back to the main design level and rename the component</strong> to &#8220;SearchCombobox&#8221;.</p>
<h3 style="margin-bottom:10px">Adding interaction in Flash Builder</h3>
<p>Once you&#8217;ve imported the project into Flash Builder, you can find the custom combobox component in the components package under the name SearchComboBox.mxml. The first thing that isn&#8217;t working yet is the fact that when you select a certain value in the dropdown list part of the component, the label in the button part is not automatically updated. By default all items should be visible in the photo gallery. That means that you have to initialize the component to have that item selected. <strong>On the</strong> &lt;s:List&gt; <strong>component in the source, you simply set the</strong> selectedIndex <strong>property to zero.</strong> That will initialize the component when it&#8217;s first created. <strong>For the</strong> &lt;s:ToggleButton&gt; <strong>tag you simply change the value of the</strong> label <strong>property to &#8220;ALL&#8221;.</strong>Just run the application and you&#8217;ll see the component properly initialized this time.</p>
<p>Next up is solving the setting of the label when a certain item has been selected in the dropdown list. So, <strong>on the</strong> &lt;s:List&gt; <strong>component you see that an event handler for the</strong> change <strong>event has already been declared for going back to the</strong> Over <strong>state</strong>. This handler will react both to a mouse click and a selection made by using the arrow keys. Now, locate that event handler and inside of it you need to <strong>set the label of the button component to the selected item in the list component</strong>. You may need to add some identifiers for the components before you can refer to them in your ActionScript code. Don&#8217;t forget the fact that you are dealing with a complex data structure as list items, so you should reference only the text part of the item to assign it to the labelproperty of the &lt;s:ToggleButton&gt;component.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">protected <span style="color: #000000; font-weight: bold;">function</span> list_changeHandler<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
  currentState=<span style="color: #ff0000;">'Over'</span>;
&nbsp;
  <span style="color: #0066CC;">button</span>.<span style="color: #006600;">label</span> = <span style="color: #0066CC;">list</span>.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">text1</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Naturally you could choose to implement this functionality upon the click event or the &lt;ENTER&gt; key for example. The principle stays the same. It&#8217;s just a different event that is triggering the selection.</p>
<p>(This post was also previously published on <a title="Adobe Cookbooks" href="http://cookbooks.adobe.com" target="_blank">http://cookbooks.adobe.com</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2010/04/creating-a-custom-combobox-using-flash-catalyst/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Pre-order my book</title>
		<link>http://www.flexpert.be/2009/12/pre-order-my-book/</link>
		<comments>http://www.flexpert.be/2009/12/pre-order-my-book/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 13:33:36 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=323</guid>
		<description><![CDATA[Hey guys, I know it has been rather quiet on my site lately. The reason for this is the fact that I&#8217;m currently writing a book. Now, what is it going to be about? Some of you may know this already by reading my Twitter posts or by following my [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin-left:20px;margin-top:30px">
<a href="http://www.amazon.com/Flash-Builder-Catalyst-Workflow-Essential/dp/1430228350/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260451049&#038;sr=8-1" target="_blank"><img src="http://flexpert.be/images/book.jpg"></a>
</div>
<p style="display:block">Hey guys,</p>
<p>I know it has been rather quiet on my site lately. The reason for this is the fact that I&#8217;m currently writing a <a href="http://www.friendsofed.com/book.html?isbn=1430228350" target="_blank">book</a>. Now, what is it going to be about? Some of you may know this already by reading my Twitter posts or by following my LinkedIn status messages. For the others, I can say for now that it is about Flash Builder and Flash Catalyst and how those products are going to change the way you work on Flex projects as a developer. As a designer (or interaction designer) you are going to be more closely involved in creating and maintaining Flex 4 applications when using these products.</p>
<p>So, basically, it is not going to be a manual about Flash Builder, nor is it a manual about Flash Catalyst. But it is a guideline with general best practices and designer-developer workflow situations, explained in a very practical way.</p>
<p>You can now already pre-order the book on Amazon.com or by clicking on the cover image.  Don&#8217;t mind the cover image for now. This is just a preliminary image, which will change by the time it is going to be released. The release date should be somewhere around April 2010.</p>
<p>Hopefully, you&#8217;ll like it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2009/12/pre-order-my-book/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Catalyst bèta 2 is officially out</title>
		<link>http://www.flexpert.be/2009/10/flash-catalyst-beta-2-is-officially-out/</link>
		<comments>http://www.flexpert.be/2009/10/flash-catalyst-beta-2-is-officially-out/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 08:34:04 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[bèta software]]></category>
		<category><![CDATA[new features]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=301</guid>
		<description><![CDATA[As you may have heard, at this time the Adobe MAX conference has started and one of the major things they announce is the second bèta version of Flash Catalyst. Now, what&#8217;s different in this version. At first glance you may think this is not so different from the first [...]]]></description>
			<content:encoded><![CDATA[<p>As you may have heard, at this time the Adobe MAX conference has started and one of the major things they announce is the second bèta version of Flash Catalyst. Now, what&#8217;s different in this version. At first glance you may think this is not so different from the first bèta version, but Adobe has made a great effort to make this product a lot better since the last bèta release.</p>
<p>A quick overview of the new features:</p>
<ul>
<li>Changed Heads-Up-Display (HUD)</li>
<li>Smoother transitions</li>
<li>Better animations
<li>
<li>More events available in a separate actions panel</li>
<li>More Spark components available</li>
<li>Better grouping in the lauers panel</li>
<li>&#8230;</li>
</ul>
<p>But <a href="http://blog.digitalbackcountry.com" target="_blank">Ryan Stewart</a> has made <a href="http://blog.digitalbackcountry.com/2009/10/whats-new-in-flash-catalyst-beta-2-screencast/" target="_blank">an excellent screencast</a> about this on his site, so I&#8217;ve included the video below as well.Just take a look a what&#8217;s different and what makes this a great tool&#8230;</p>
<p><center><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6896851&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed wmode="transparent" src="http://vimeo.com/moogaloop.swf?clip_id=6896851&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></center></p>
<p><br/></p>
<p>So it&#8217;s really worth upgrading to the next bèta version. Go and download it from the Adobe Labs site or follow this url: <a href="http://labs.adobe.com/technologies/flashcatalyst/" target="_blank">http://labs.adobe.com/technologies/flashcatalyst/</a>. Have fun&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2009/10/flash-catalyst-beta-2-is-officially-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Community questions answered by Lee Brimelow</title>
		<link>http://www.flexpert.be/2009/08/community-questions-answered-by-lee-brimelow/</link>
		<comments>http://www.flexpert.be/2009/08/community-questions-answered-by-lee-brimelow/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 18:03:08 +0000</pubDate>
		<dc:creator>Steven Peeters</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[answers]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://www.flexpert.be/?p=267</guid>
		<description><![CDATA[A couple of weeks ago, Lee Brimelow, a platform evangelist who works for Adobe, has put out the request to the community to ask some questions (and I quote) &#8220;about anything you like&#8221; on The Flash Blog. He would then go out and find some answers to these questions. Well, [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, <a href="http://www.theflashblog.com" target="_blank">Lee Brimelow</a>, a platform evangelist who works for Adobe, has put out the request to the community to ask some questions (and I quote) &#8220;about anything you like&#8221; on <a href="http://www.theflashblog.com" target="_blank">The Flash Blog</a>. He would then go out and find some answers to these questions.</p>
<p>Well, he actually did this very well and he has recorded the first part in a video. He even was kind enough to answer my question about round-tripping between Flash Catalyst and Flash Builder. Thanks Lee!</p>
<p>Just click <a href="http://theflashblog.com/?p=1275" target="_blank">here</a> to go directly to the answers to all our questions. Or at least part of them&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexpert.be/2009/08/community-questions-answered-by-lee-brimelow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

