<?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>Web Dev Bros &#187; Adobe Flex</title>
	<atom:link href="http://www.webdevbros.net/category/adobe-flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webdevbros.net</link>
	<description>hot talk about web development</description>
	<lastBuildDate>Thu, 20 Jan 2011 19:55:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Siam Flex framework &#124; First Beta Released! (0.4.0)</title>
		<link>http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/</link>
		<comments>http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 05:00:18 +0000</pubDate>
		<dc:creator>julien</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Siam Flex]]></category>

		<guid isPermaLink="false">http://www.webdevbros.net/?p=708</guid>
		<description><![CDATA[Long time, no news&#8230;. It&#8217;s been almost 6 weeks since the last update of Siam Flex Framework. But today I am proud to present to you the first beta release of Siam! I&#8217;ve been spending a lot of time refining the core elements of Siam to ensure that we have the right API going forward. [...]]]></description>
			<content:encoded><![CDATA[<p>Long time, no news&#8230;. It&#8217;s been almost 6 weeks since the last update of Siam Flex Framework. But today I am proud to present to you the first beta release of Siam!</p>
<p>I&#8217;ve been spending a lot of time refining the core elements of Siam to ensure that we have the right API going forward.</p>
<h3>So what&#8217;s new?</h3>
<ul>
<li>Easier configuration with improved syntax and default specification</li>
<li>Editors and validators are now supported</li>
<li>Simpler API using factory and context classes</li>
<li>Structured import for all data representation classes</li>
<li>More control over formatting behavior</li>
</ul>
<h3>Where can I download it?</h3>
<p>The project is hosted at <a href="http://code.google.com/p/siam-flex/" target="_blank">http://code.google.com/p/siam-flex/</a>.</p>
<p>You can try out the latest features with the Siam Flex Explorer:<a style="text-decoration:none;" href="http://siam-flex.googlecode.com/svn/trunk/examples/bin-release/SiamExplorer.html" target="_blank"><br />
<img src="http://www.webdevbros.net/wp-content/uploads/2009/10/SiamExplorer.PNG" alt="Siam Flex Explorer" width="800" /></a><br />
The explorer encapsulate an example of application using all features of Siam and allows you to alter its XML configuration at run-time for demonstration purposes. The embedded example include implementations of a dynamic data grid and form, as wells as an adapted chart component.</p>
<p><em>Details follow below&#8230;</em><span id="more-708"></span></p>
<h3>Structured Imports</h3>
<p>Siam heavily relies on reflection to parse configurations and have to deal with one common Flex issue&#8230; If a class is not initially imported into the application, trying to resolve its class name will always fail. The new API allows you to structure and organize your data representation classes import, as show below. Note: the import setters (e.g. <code>importRenderers</code>&#8230;) are optional and have no effect on the behavior of <code>SiamManager</code>.</p>
<pre class="FlexCode"><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
<span class="MXMLComponent_Tag">&lt;mx:Application</span><span class="MXMLDefault_Text"> xmlns:mx="</span><span class="MXMLString">http://www.adobe.com/2006/mxml</span><span class="MXMLDefault_Text">"
    xmlns:siam="</span><span class="MXMLString">http://code.google.com/p/siam-flex/</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>

    <span class="MXMLSpecial_Tag">&lt;mx:Script&gt;</span>
        <span class="ActionScriptOperator">&lt;!</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">CDATA</span><span class="ActionScriptBracket/Brace">[</span>
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span>.<span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptOperator">*</span>
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span>.<span class="ActionScriptDefault_Text">controls</span>.<span class="ActionScriptOperator">*</span>;
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span>.<span class="ActionScriptDefault_Text">validators</span>.<span class="ActionScriptOperator">*</span>;

            ...
        <span class="ActionScriptBracket/Brace">]]</span><span class="ActionScriptOperator">&gt;</span>
    <span class="MXMLSpecial_Tag">&lt;/mx:Script&gt;</span>

    <span class="MXMLComponent_Tag">&lt;siam:SiamManager</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">siam</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLSpecial_Tag">&lt;mx:XML</span><span class="MXMLDefault_Text"> source="</span><span class="MXMLString">siam.cfg.xml</span><span class="MXMLDefault_Text">" </span><span class="MXMLSpecial_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;siam:importFormatters&gt;</span>{<span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">DateFormatter</span>,<span class="ActionScriptDefault_Text">NumberFormatter</span>,<span class="ActionScriptDefault_Text">CurrencyFormatter</span>,<span class="ActionScriptDefault_Text">ZipCodeFormatter</span>,<span class="ActionScriptDefault_Text">PhoneFormatter</span><span class="ActionScriptBracket/Brace">]</span>}<span class="MXMLComponent_Tag">&lt;/siam:importFormatters&gt;</span>
        <span class="MXMLComponent_Tag">&lt;siam:importRenderers&gt;</span>{<span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">Label</span>,<span class="ActionScriptDefault_Text">CheckBox</span><span class="ActionScriptBracket/Brace">]}</span><span class="MXMLComponent_Tag">&lt;/siam:importRenderers&gt;</span>
        <span class="MXMLComponent_Tag">&lt;siam:importEditors&gt;</span>{<span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">TextInput</span>, <span class="ActionScriptDefault_Text">NumericStepper</span>, <span class="ActionScriptDefault_Text">CheckBox</span>, <span class="ActionScriptDefault_Text">ComboBox</span>, <span class="ActionScriptDefault_Text">HSlider</span>, <span class="ActionScriptDefault_Text">ColorPicker</span>, <span class="ActionScriptDefault_Text">Image</span><span class="ActionScriptBracket/Brace">]</span>}<span class="MXMLComponent_Tag">&lt;/siam:importEditors&gt;</span>
        <span class="MXMLComponent_Tag">&lt;siam:importValidators&gt;</span>{<span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">StringValidator</span>,<span class="ActionScriptDefault_Text">EmailValidator</span>,<span class="ActionScriptDefault_Text">RegExpValidator</span><span class="ActionScriptBracket/Brace">]</span>}<span class="MXMLComponent_Tag">&lt;/siam:importValidators&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/siam:SiamManager&gt;</span>

    ...

<span class="MXMLComponent_Tag">&lt;/mx:Application&gt;</span></pre>
<h3>Formatters</h3>
<ul>
<li>standard implementation is now available (missing from SDK). The format function implicitly calls <code>toString()</code> on any given non-null parameter or returns <code>null</code> otherwise (<code>org.siam.impl.data.formatters.StringFormatter</code>)</li>
<li>a default formatter may be configured by simply using keyword <code>default</code> as an id</li>
<li>ability to override  formatting behavior when input is missing or blank (see <code>ifNull</code> and <code>ifEmpty</code>, may be configured for each formatter)</li>
</ul>
<h4>XML Configuration</h4>
<pre class="FlexCode"><span class="MXMLComponent_Tag">&lt;formatters&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">org.siam.impl.data.formatters.StringFormatter</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;formatter</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">default</span><span class="MXMLDefault_Text">" ifNull="</span><span class="MXMLString">n/a</span><span class="MXMLDefault_Text">" ifEmpty="</span><span class="MXMLString">(Blank)</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.formatters.NumberFormatter</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;formatter</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">integer</span><span class="MXMLDefault_Text">" precision="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.formatters.CurrencyFormatter</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;formatter</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">money</span><span class="MXMLDefault_Text">" precision="</span><span class="MXMLString">1</span><span class="MXMLDefault_Text">" currencySymbol="</span><span class="MXMLString">$ </span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.formatters.PhoneFormatter</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;formatter</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">phone</span><span class="MXMLDefault_Text">" formatString="</span><span class="MXMLString">(##)###-####</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
<span class="MXMLComponent_Tag">&lt;/formatters&gt;</span></pre>
<h4>API Examples</h4>
<pre class="FlexCode"><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">formatters</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IFormattersManager</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">siam</span>.<span class="ActionScriptDefault_Text">formatters</span>;
<span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span>10, <span class="ActionScriptString">"money"</span><span class="ActionScriptBracket/Brace">))</span>;       <span class="ActionScriptComment">// $ 10.0
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"text"</span>, <span class="ActionScriptString">"any"</span><span class="ActionScriptBracket/Brace">))</span>;     <span class="ActionScriptComment">// text
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">null</span>, <span class="ActionScriptString">"any"</span><span class="ActionScriptBracket/Brace">))</span>;       <span class="ActionScriptComment">// n/a
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">""</span>, <span class="ActionScriptString">"any"</span><span class="ActionScriptBracket/Brace">))</span>;         <span class="ActionScriptComment">// (Blank)
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">formatters</span>.<span class="ActionScriptDefault_Text">has</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"boolean"</span><span class="ActionScriptBracket/Brace">))</span>;            <span class="ActionScriptComment">// false
</span></pre>
<h3>Renderers</h3>
<ul>
<li>each renderer can be described using setters, variables and now style properties</li>
<li>a default renderer may be configured by simply using keyword <code>default</code> as an id. For instance, you might want to center horizontally all your application data renderers (especially useful with data grids)</li>
<li>each renderer can be instantiated through factory pattern which is accessible via <code>IRendererContext</code>.</li>
</ul>
<h4>XML Configuration</h4>
<pre class="FlexCode"><span class="MXMLComponent_Tag">&lt;renderers&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.Label</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;renderer</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">default</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;renderer</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">number</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">right</span><span class="MXMLDefault_Text">" color="</span><span class="MXMLString">0xFF0000</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.Image</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;renderer</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">image</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.CheckBox</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;renderer</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">boolean</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" enabled="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">custom.GravatarImage</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;renderer</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">gravatar</span><span class="MXMLDefault_Text">" size="</span><span class="MXMLString">60</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
<span class="MXMLComponent_Tag">&lt;/renderers&gt;</span></pre>
<h4>API Examples</h4>
<pre class="FlexCode"><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">renderers</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IRenderersManager</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">siam</span>.<span class="ActionScriptDefault_Text">renderers</span>;
<span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">renderer</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IRendererContext</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">renderers</span>.<span class="ActionScriptDefault_Text">find</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"fourwd"</span><span class="ActionScriptBracket/Brace">)</span>;
<span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ObjectUtil</span>.<span class="ActionScriptDefault_Text">toString</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">renderer</span>.<span class="ActionScriptDefault_Text">factory</span><span class="ActionScriptBracket/Brace">))</span>; <span class="ActionScriptComment">/*
(org.siam.utils::UIComponentFactory)#0
  generator = (mx.controls::Label)
  properties = (Object)#1
  styles = (Object)#2
    textAlign = "center"
*/</span></pre>
<h3>Editors</h3>
<ul>
<li>each editor can be described using setters, variables and style properties.</li>
<li>arrays are supported globally and can be useful for enumerations (e.g in a <code>ComboBox</code>)</li>
<li>a default editor may be configured by simply using keyword <code>default</code> as an id (useful with data forms, e.g text inputs).</li>
<li>for each editor, you may specify via <code>dataField</code> the property that returns the new data (for instance needed in Flex DataGrid components).</li>
<li>each editor can be instantiated through factory pattern which is accessible via <code>IEditorContext </code> (along with other metadata)</li>
</ul>
<h4>XML Configuration</h4>
<pre class="FlexCode"><span class="MXMLComponent_Tag">&lt;editors&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.TextInput</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">default</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">right</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">text</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.NumericStepper</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">yearStepper</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">right</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">value</span><span class="MXMLDefault_Text">" minimum="</span><span class="MXMLString">1990</span><span class="MXMLDefault_Text">" maximum="</span><span class="MXMLString">2010</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">priceStepper</span><span class="MXMLDefault_Text">" textAlign="</span><span class="MXMLString">right</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">value</span><span class="MXMLDefault_Text">" minimum="</span><span class="MXMLString">0</span><span class="MXMLDefault_Text">" maximum="</span><span class="MXMLString">50000</span><span class="MXMLDefault_Text">" stepSize="</span><span class="MXMLString">500</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.CheckBox</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">boolean</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">selected</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.ComboBox</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">categories</span><span class="MXMLDefault_Text">" dataProvider="</span><span class="MXMLString">[assets/luxury.jpg,assets/sedan.jpg,assets/suv.jpg,assets/hybrid.jpg]</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">selectedItem</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.HSlider</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">mileageSlider</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">value</span><span class="MXMLDefault_Text">" maximum="</span><span class="MXMLString">150000</span><span class="MXMLDefault_Text">" liveDragging="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.controls.ColorPicker</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;editor</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">colorPicker</span><span class="MXMLDefault_Text">" dataField="</span><span class="MXMLString">selectedColor</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
<span class="MXMLComponent_Tag">&lt;/editors&gt;</span></pre>
<h4>API Examples</h4>
<pre class="FlexCode"><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">editors</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IEditorsManager</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">siam</span>.<span class="ActionScriptDefault_Text">editors</span>;
<span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">editor</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IEditorContext</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">editors</span>.<span class="ActionScriptDefault_Text">find</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"price"</span><span class="ActionScriptBracket/Brace">)</span>;
<span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">editor</span>.<span class="ActionScriptDefault_Text">dataField</span><span class="ActionScriptBracket/Brace">)</span>;    <span class="ActionScriptComment">// text
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ObjectUtil</span>.<span class="ActionScriptDefault_Text">toString</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">editor</span>.<span class="ActionScriptDefault_Text">factory</span><span class="ActionScriptBracket/Brace">))</span>; <span class="ActionScriptComment">/*
(org.siam.utils::UIComponentFactory)#0
  generator = (mx.controls::TextInput)
  properties = (Object)#1
  styles = (Object)#2
    textAlign = "right"
*/</span></pre>
<h3>Validators</h3>
<ul>
<li>each validator can be described using setters and variables.</li>
<li>regular expressions are supported globally but need to be escaped in the XML configuration file (see <code>mx.validators.RegExpValidator</code>)</li>
<li>a default validator may be configured by simply using keyword <code>default</code> as an id (for instance, all text inputs in your application are by default required).</li>
<li>each validator can be instantiated through factory pattern which is accessible via <code>IValidatorContext</code>.</li>
</ul>
<h4>XML Configuration</h4>
<pre class="FlexCode"><span class="MXMLComponent_Tag">&lt;validators&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.validators.StringValidator</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;validator</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">default</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;validator</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">requiredOnly</span><span class="MXMLDefault_Text">" required="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.validators.RegExpValidator</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;validator</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">zipcode</span><span class="MXMLDefault_Text">" expression="</span><span class="MXMLString">^\\d\{</span>2<span class="ActionScriptDefault_Text">\</span><span class="MXMLString">}-\\d\{</span>3<span class="ActionScriptDefault_Text">\</span><span class="MXMLString">}$</span><span class="MXMLDefault_Text">" required="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
    <span class="MXMLComponent_Tag">&lt;class</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">mx.validators.EmailValidator</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;validator</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">email</span><span class="MXMLDefault_Text">" required="</span><span class="MXMLString">true</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/class&gt;</span>
<span class="MXMLComponent_Tag">&lt;/validators&gt;</span></pre>
<h4>API Examples</h4>
<pre class="FlexCode"><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">validators</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IValidatorsManager</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">siam</span>.<span class="ActionScriptDefault_Text">validators</span>;
<span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">validator</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">IValidatorContext</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">validators</span>.<span class="ActionScriptDefault_Text">find</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"email"</span><span class="ActionScriptBracket/Brace">)</span>;
<span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ObjectUtil</span>.<span class="ActionScriptDefault_Text">toString</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">validator</span>.<span class="ActionScriptDefault_Text">factory</span><span class="ActionScriptBracket/Brace">))</span>; <span class="ActionScriptComment">/*
(mx.core::ClassFactory)#0
  generator = (mx.validators::EmailValidator)
  properties = (Object)#1
    required = true
*/</span></pre>
<h3>Schemas</h3>
<ul>
<li>Multiple data model schemas can be described in a Siam XML configuration file.</li>
<li>Each schema property can point to any data representation id (<code>formatter</code>, <code>renderer</code>, <code>editor</code>, <code>validator</code>). If none is specified, it will use the default one (if any).</li>
<li>Any meta-data may be added to the property configuration and retrieve via function <code>findMetadata </code>in <code>ISchemaManager</code>.</li>
</ul>
<h4>XML Configuration</h4>
<pre class="FlexCode"><span class="MXMLComponent_Tag">&lt;schemas&gt;</span>
    <span class="MXMLComponent_Tag">&lt;schema</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">car</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">category</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Category</span><span class="MXMLDefault_Text">" renderer="</span><span class="MXMLString">image</span><span class="MXMLDefault_Text">" editor="</span><span class="MXMLString">categories</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">make</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Make</span><span class="MXMLDefault_Text">" validator="</span><span class="MXMLString">requiredOnly</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">model</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Model</span><span class="MXMLDefault_Text">" validator="</span><span class="MXMLString">requiredOnly</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">year</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Year</span><span class="MXMLDefault_Text">" editor="</span><span class="MXMLString">yearStepper</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">mileage</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Mileage</span><span class="MXMLDefault_Text">" formatter="</span><span class="MXMLString">integer</span><span class="MXMLDefault_Text">" renderer="</span><span class="MXMLString">number</span><span class="MXMLDefault_Text">" editor="</span><span class="MXMLString">mileageSlider</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">price</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Price</span><span class="MXMLDefault_Text">" formatter="</span><span class="MXMLString">money</span><span class="MXMLDefault_Text">" renderer="</span><span class="MXMLString">number</span><span class="MXMLDefault_Text">" editor="</span><span class="MXMLString">priceStepper</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">location</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Location</span><span class="MXMLDefault_Text">" validator="</span><span class="MXMLString">zipcode</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">owner</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Owner</span><span class="MXMLDefault_Text">" renderer="</span><span class="MXMLString">gravatar</span><span class="MXMLDefault_Text">" validator="</span><span class="MXMLString">email</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">contact</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">Contact</span><span class="MXMLDefault_Text">" formatter="</span><span class="MXMLString">phone</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;property</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">fourwd</span><span class="MXMLDefault_Text">" name="</span><span class="MXMLString">4WD</span><span class="MXMLDefault_Text">" renderer="</span><span class="MXMLString">boolean</span><span class="MXMLDefault_Text">" editor="</span><span class="MXMLString">boolean</span><span class="MXMLDefault_Text">" </span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/schema&gt;</span>
<span class="MXMLComponent_Tag">&lt;/schemas&gt;</span></pre>
<h4>API Examples</h4>
<pre class="FlexCode"><span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">car</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">{</span> <span class="ActionScriptDefault_Text">make</span><span class="ActionScriptOperator">:</span><span class="ActionScriptString">"Land Rover"</span>, <span class="ActionScriptDefault_Text">mileage</span><span class="ActionScriptOperator">:</span><span class="ActionScriptString">"17800"</span> <span class="ActionScriptBracket/Brace">}</span>;
<span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">schema</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">ISchemaManager</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">siam</span>.<span class="ActionScriptDefault_Text">manage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"car"</span><span class="ActionScriptBracket/Brace">)</span>;
<span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">findMetadata</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"name"</span>, <span class="ActionScriptString">"fourwd"</span><span class="ActionScriptBracket/Brace">))</span>;    <span class="ActionScriptComment">// 4WD
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">car</span>, <span class="ActionScriptString">"mileage"</span><span class="ActionScriptBracket/Brace">))</span>;            <span class="ActionScriptComment">// 17,800
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">format</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">car</span>, <span class="ActionScriptString">"year"</span><span class="ActionScriptBracket/Brace">))</span>;               <span class="ActionScriptComment">// n/a
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">findRenderer</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"owner"</span><span class="ActionScriptBracket/Brace">))</span>;             <span class="ActionScriptComment">// [Object IRendererContext]
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">findEditor</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"price"</span><span class="ActionScriptBracket/Brace">))</span>;               <span class="ActionScriptComment">// [Object IEditorContext]
</span><span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">schema</span>.<span class="ActionScriptDefault_Text">findValidator</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"email"</span><span class="ActionScriptBracket/Brace">))</span>;            <span class="ActionScriptComment">// [Object IValidatorContext]
</span></pre>
<h3>Conclusion</h3>
<p>I was able to successfully use this beta version in an application for a customer, dealing with:</p>
<ul>
<li> dynamic data grid and forms for administration purposes</li>
<li>reporting dashboards with pivot tables and charting components</li>
<li>basic OLAP and CRUD operations with lightweight transfer objects and simple data-types</li>
</ul>
<p>All in all, it saved me bunch of times and now maintenance has never been easier&#8230;</p>
<p>Please try it out and let me know if you like it and how it works for your applications. I&#8217;d be very curious to know what limitations exist in other types of applications and architectures (complex TO, web services, &#8230;)</p>
<p>I am looking forward to your feedback.</p>
<p>Julien</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/&amp;t=Siam+Flex+framework+%7C+First+Beta+Released%21+%280.4.0%29&amp;s=normal' height='80' width='52' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/&amp;title=Siam+Flex+framework+%7C+First+Beta+Released%21+%280.4.0%29&amp;t=2 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/&amp;title=Siam+Flex+framework+%7C+First+Beta+Released%21+%280.4.0%29&amp;t=1 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Siam+Flex+framework+%7C+First+Beta+Released%21+%280.4.0%29;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=square></script></td> <td><script type="text/javascript">tweetmeme_url='http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/'; tweetmeme_style = 'normal';; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://www.webdevbros.net/2009/10/05/siam-flex-framework-first-beta-released-0-4-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Siam Flex framework &#124; 0.2.0 alpha Released</title>
		<link>http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/</link>
		<comments>http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 08:16:21 +0000</pubDate>
		<dc:creator>julien</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Siam Flex]]></category>

		<guid isPermaLink="false">http://www.webdevbros.net/?p=509</guid>
		<description><![CDATA[A new release of Siam is available today! Check out the latest version on the official project page: http://code.google.com/p/siam-flex/. The main highlight is that developers can now describe how data models are rendered across their application. Flex renderers can be configured via XML (properties and styles are supported for Object and all primitive types). tweetmeme_url='http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/'; [...]]]></description>
			<content:encoded><![CDATA[<p>A new release of Siam is available today!<br />
Check out the latest version on the official project page: <a href="http://code.google.com/p/siam-flex/" target="_blank">http://code.google.com/p/siam-flex/</a>. </p>
<p>The main highlight is that developers can now describe how data models are rendered across their application. Flex renderers can be configured via XML (properties and styles are supported for Object and all primitive types). </p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/&amp;t=Siam+Flex+framework+%7C+0.2.0+alpha+Released&amp;s=normal' height='80' width='52' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/&amp;title=Siam+Flex+framework+%7C+0.2.0+alpha+Released&amp;t=2 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/&amp;title=Siam+Flex+framework+%7C+0.2.0+alpha+Released&amp;t=1 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Siam+Flex+framework+%7C+0.2.0+alpha+Released;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=square></script></td> <td><script type="text/javascript">tweetmeme_url='http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/'; tweetmeme_style = 'normal';; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://www.webdevbros.net/2009/08/15/siam-flex-framework-0-2-0-alpha-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siam Flex framework &#124; 0.1.0 Alpha Released!</title>
		<link>http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/</link>
		<comments>http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 15:50:00 +0000</pubDate>
		<dc:creator>julien</dc:creator>
				<category><![CDATA[Siam Flex]]></category>

		<guid isPermaLink="false">http://www.webdevbros.net/?p=449</guid>
		<description><![CDATA[Today I released the first version of Siam Flex Framework! The project can be found at http://code.google.com/p/siam-flex/. Please try it out and let me know what you think. It&#8217;s an Alpha release, in other words it&#8217;s not fully tested and there is little documentation. But starting with the Getting Started section on the project page [...]]]></description>
			<content:encoded><![CDATA[<p>Today I released the first version of Siam Flex Framework! The project can be found at <a href="http://code.google.com/p/siam-flex/">http://code.google.com/p/siam-flex/</a>. Please try it out and let me know what you think. It&#8217;s an Alpha release, in other words it&#8217;s not fully tested and there is little documentation. But starting with the <em>Getting Started</em> section on the project page should help you get an understanding of the framework.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/&amp;t=Siam+Flex+framework+%7C+0.1.0+Alpha+Released%21&amp;s=normal' height='80' width='52' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/&amp;title=Siam+Flex+framework+%7C+0.1.0+Alpha+Released%21&amp;t=2 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/&amp;title=Siam+Flex+framework+%7C+0.1.0+Alpha+Released%21&amp;t=1 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Siam+Flex+framework+%7C+0.1.0+Alpha+Released%21;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=square></script></td> <td><script type="text/javascript">tweetmeme_url='http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/'; tweetmeme_style = 'normal';; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://www.webdevbros.net/2009/08/01/siam-flex-framework-0-1-0-alpha-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siam Flex framework &#124; Preview</title>
		<link>http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/</link>
		<comments>http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 11:31:03 +0000</pubDate>
		<dc:creator>julien</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Siam Flex]]></category>

		<guid isPermaLink="false">http://www.webdevbros.net/?p=379</guid>
		<description><![CDATA[Siam Flex framework aims to provide usability and rapid application development changes to the existing Adobe Flex data representation support. Siam is a lightweight framework that enables you to quickly represent your application data models regardless of their type or origin. This preview introduces the envisioned features of the framework and contains also code examples [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Siam Flex framework</strong> aims to provide usability and rapid application development changes to the existing Adobe Flex data representation support. Siam is a lightweight framework that enables you to quickly represent your application data models regardless of their type or origin.</p>
<p>This preview introduces the envisioned features of the framework and contains also code examples and ideas for future releases. Siam is still in early phase, so <strong>your feedback is highly appreciated</strong>!</p>
<p>The project can be found at <a href="http://code.google.com/p/siam-flex/">http://code.google.com/p/siam-flex/</a>.</p>
<p><span id="more-379"></span></p>
<h3>Goals</h3>
<p>Siam aims to provide a simple and additive API to keep your Flex implementation DRY (Don't Repeat Yourself).</p>
<blockquote><p>For instance, you have a field in your Flex application that should show a Currency Amount in dozen places, you probably want to use a a TextField, some validators, and a CurrencyFormatter or perhaps even some custom item renderer. You think about it as a Currency Amount. If you decide to change that field, you would have to do "monkey work" and go find all the instances of that field and keep them up to date. </p></blockquote>
<p>Siam allows you to describe via metadata how your model properties should be represented across your application. </p>
<p>Siam API will support the following data representation features:</p>
<ul>
<li><strong>formatting</strong>: render data as text</li>
<li><strong>storage</strong>: store and access data regardless of its type (model, xml, array...)</li>
<li><strong>validation</strong>: validate data input on client-side, e.g. in forms</li>
<li><strong>conversion</strong>: convert data on the fly, e.g. temperature from Celsius to Fahrenheit </li>
<li><strong>renderers</strong>: render data in a control, e.g. Checkbox for all booleans</li>
<li><strong>editors</strong>: alter data graphically, e.g. password field</li>
</ul>
<p>At a global level, Siam will also feature internalization and localization support that will affect most data representation features.</p>
<p><strong>Note: only the formatting feature will be described here as a proof of concept.</strong> </p>
<h3>Configuration</h3>
<p>Based on on a metadata-driven architecture, Siam allows you to describe your application data models via XML.</p>
<p>Here's an example of application configuration file:</p>
<div class="igBar"><span id="lxml-3"><a href="#" onclick="javascript:showCodeTxt('xml-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-3">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- siam.cfg.xml --&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;</span>?xml <span style="color: #000066;">version</span>=<span style="color: #ff0000;">"1.0"</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">"UTF-8"</span>?<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;siam</span>-configuration<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatting<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;class</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"mx.formatters.DateFormatter"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"date"</span> <span style="color: #000066;">formatString</span>=<span style="color: #ff0000;">"MM/DD/YY"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"time"</span> <span style="color: #000066;">formatString</span>=<span style="color: #ff0000;">"HH:NN:SS"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/class<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;class</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"mx.formatters.NumberFormatter"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"integer"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/class<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;class</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"mx.formatters.CurrencyFormatter"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"money"</span> <span style="color: #000066;">precision</span>=<span style="color: #ff0000;">"1"</span> <span style="color: #000066;">currencySymbol</span>=<span style="color: #ff0000;">"$ "</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/class<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;class</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"mx.formatters.ZipCodeFormatter"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"zipcode"</span> <span style="color: #000066;">formatString</span>=<span style="color: #ff0000;">"#####"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/class<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;class</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"mx.formatters.PhoneFormatter"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;formatter</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"phone"</span> <span style="color: #000066;">formatString</span>=<span style="color: #ff0000;">"(##)###-####"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/class<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/formatting<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mapping<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;schema</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"car"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"make"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Make"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"model"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Model"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"year"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Year"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"mileage"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Mileage"</span> <span style="color: #000066;">formatter</span>=<span style="color: #ff0000;">"integer"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"price"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Price"</span> <span style="color: #000066;">formatter</span>=<span style="color: #ff0000;">"money"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"location"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Location"</span> <span style="color: #000066;">formatter</span>=<span style="color: #ff0000;">"zipcode"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"contact"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"Contact"</span> <span style="color: #000066;">formatter</span>=<span style="color: #ff0000;">"phone"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/schema<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mapping<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/siam</span>-configuration<span style="font-weight: bold; color: black;">&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>The structure of the configuration file was inspired from ORM framework Hibernate's. Under <em>&lt;siam-configuration&gt;</em> common feature properties are configured and data models are described under <em>&lt;mapping&gt;</em>.</p>
<p>The <em>&lt;formatting&gt;</em> configuration includes a list of formatters that are needed in the application. Those can be any of Flex built-in ones (mx.formatters.*) or your own custom implementation. For each class, a list of formatters can be defined with an id and any properties necessary.</p>
<p>The <em>&lt;mapping&gt;</em> directive can contains multiple <em>&lt;schema&gt;</em> (data model description)</p>
<p>Each model schema is described with a list of <em>&lt;property&gt;</em> items. A schema property represents a data model item (identified by attribute id) and use metadata tags to describe its data representation within the application. For instance, the formatter attribute tells how the model property should be formatted within the application.</p>
<h3>Usage</h3>
<p>Below is an example of usage using Siam. After loading the configuration, the schema 'car' is retrieved to properly format necessary data properties displayed in the built-in DataGrid component. </p>
<div class="igBar"><span id="lxml-4"><a href="#" onclick="javascript:showCodeTxt('xml-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-4">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;</span>?xml <span style="color: #000066;">version</span>=<span style="color: #ff0000;">"1.0"</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">"utf-8"</span>?<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:Application</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; xmlns:<span style="color: #000066;">mx</span>=<span style="color: #ff0000;">"http://www.adobe.com/2006/mxml"</span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; xmlns:<span style="color: #000066;">siam</span>=<span style="color: #ff0000;">"http://code.google.com/p/siam-flex/"</span> <span style="color: #000066;">viewSourceURL</span>=<span style="color: #ff0000;">"srcview/index.html"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;siam</span>:SiamManager <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"siam"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:XML <span style="color: #000066;">source</span>=<span style="color: #ff0000;">"siam.cfg.xml"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/siam</span>:SiamManager<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:Model <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"allCars"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;cars<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;make<span style="font-weight: bold; color: black;">&gt;</span></span></span>Acura<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/make<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;model<span style="font-weight: bold; color: black;">&gt;</span></span></span>Integra<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/model<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;year<span style="font-weight: bold; color: black;">&gt;</span></span></span>2003<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/year<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span>34000<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;price<span style="font-weight: bold; color: black;">&gt;</span></span></span>22500<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/price<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location<span style="font-weight: bold; color: black;">&gt;</span></span></span>08540<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;contact<span style="font-weight: bold; color: black;">&gt;</span></span></span>095469876<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/contact<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;make<span style="font-weight: bold; color: black;">&gt;</span></span></span>Honda<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/make<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;model<span style="font-weight: bold; color: black;">&gt;</span></span></span>Civic<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/model<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;year<span style="font-weight: bold; color: black;">&gt;</span></span></span>1993<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/year<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span>108340<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;price<span style="font-weight: bold; color: black;">&gt;</span></span></span>7800<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/price<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location<span style="font-weight: bold; color: black;">&gt;</span></span></span>12890<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;contact<span style="font-weight: bold; color: black;">&gt;</span></span></span>082639063<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/contact<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;make<span style="font-weight: bold; color: black;">&gt;</span></span></span>Land Rover<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/make<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;model<span style="font-weight: bold; color: black;">&gt;</span></span></span>Discovery<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/model<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;year<span style="font-weight: bold; color: black;">&gt;</span></span></span>2006<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/year<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span>17800<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;price<span style="font-weight: bold; color: black;">&gt;</span></span></span>32000<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/price<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location<span style="font-weight: bold; color: black;">&gt;</span></span></span>09672<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;contact<span style="font-weight: bold; color: black;">&gt;</span></span></span>029381579<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/contact<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;make<span style="font-weight: bold; color: black;">&gt;</span></span></span>Hyundai<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/make<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;model<span style="font-weight: bold; color: black;">&gt;</span></span></span>Accent<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/model<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;year<span style="font-weight: bold; color: black;">&gt;</span></span></span>2008<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/year<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span>9800<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mileage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;price<span style="font-weight: bold; color: black;">&gt;</span></span></span>24000<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/price<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;location<span style="font-weight: bold; color: black;">&gt;</span></span></span>10783<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/location<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;contact<span style="font-weight: bold; color: black;">&gt;</span></span></span>076109632<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/contact<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/car<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/cars<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx</span>:Model<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:Script<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">&lt;![CDATA[</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; import mx.controls.dataGridClasses.DataGridColumn;</div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public function formatFunction(item:Object, column:DataGridColumn):String {</div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return siam.manage(&quot;car&quot;).format(item, column.dataField);</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; ]]&gt;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx</span>:Script<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGrid <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"100%"</span> <span style="color: #000066;">dataProvider</span>=<span style="color: #ff0000;">"{allCars.car}"</span> </div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">labelFunction</span>=<span style="color: #ff0000;">"formatFunction"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:columns<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"make"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"model"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span> </div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"year"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"mileage"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"price"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"location"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx</span>:DataGridColumn <span style="color: #000066;">dataField</span>=<span style="color: #ff0000;">"contact"</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx</span>:columns<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx</span>:DataGrid<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#767676;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx</span>:Application<span style="font-weight: bold; color: black;">&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h3>Feedback</h3>
<p>As mentioned above, Siam Flex framework is in early stage of development, hence I'm looking forward to your input and suggestions!!!</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/&amp;t=Siam+Flex+framework+%7C+Preview&amp;s=normal' height='80' width='52' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/&amp;title=Siam+Flex+framework+%7C+Preview&amp;t=2 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/&amp;title=Siam+Flex+framework+%7C+Preview&amp;t=1 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Siam+Flex+framework+%7C+Preview;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=square></script></td> <td><script type="text/javascript">tweetmeme_url='http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/'; tweetmeme_style = 'normal';; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://www.webdevbros.net/2009/07/26/siam-flex-framework-preview/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Style binding support for custom Flex components</title>
		<link>http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/</link>
		<comments>http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:17:20 +0000</pubDate>
		<dc:creator>julien</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://www.webdevbros.net/?p=243</guid>
		<description><![CDATA[I've been developing a lot of custom Flex components recently using Degrafa, and too many times got frustrated at the fact that Flex only supports inline binding for CSS style attributes. Besides that, the only way to listen to style changes is to override: UIComponent.styleChanged(prop:String):void I was finally happy to find out that Josh already [...]]]></description>
			<content:encoded><![CDATA[<p>I've been developing a lot of custom Flex components recently using <a href="http://www.degrafa.org/" target="_blank">Degrafa</a>, and too many times got frustrated at the fact that Flex only supports inline binding for CSS style attributes. Besides that, the only way to listen to style changes is to override:</p>
<p><code>UIComponent.styleChanged(prop:String):void</code></p>
<p>I was finally happy to find out that <a href="http://flex.joshmcdonald.info/2009/01/painless-css-support-for-flex.html" target="_blank">Josh</a> already shared a nice Proxy implementation that allows me to automatically bind style attributes to degrafa properties/styles. Makes my code more readable and maintainable. Thanks Josh!</p>
<p>Update: I posted a small example <a href="http://webdevbros.googlecode.com/svn/trunk/flex-examples/bin/StyleProxyExample.html" target="_blank">here</a> and the source code can be download from <a href="http://code.google.com/p/webdevbros/" target="_blank">there</a>.</p>
<div><table> <td><iframe src='http://digg.com/api/diggthis.php?w=new&amp;u=http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/&amp;t=Style+binding+support+for+custom+Flex+components&amp;s=normal' height='80' width='52' frameborder='0' scrolling='no'></iframe></td> <td><iframe src='http://www.reddit.com/button_content?newwindow=1&amp;url=http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/&amp;title=Style+binding+support+for+custom+Flex+components&amp;t=2 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><iframe src='http://widgets.dzone.com/links/widgets/zoneit.html?url=http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/&amp;title=Style+binding+support+for+custom+Flex+components&amp;t=1 ' height='80' width='52' scrolling='no' frameborder='0' ></iframe></td> <td><script type="text/javascript"><!--yahooBuzzArticleHeadline=Style+binding+support+for+custom+Flex+components;//--></script><script type="text/javascript" src="http://d.yimg.com/ds/badge2.js" badgetype=square></script></td> <td><script type="text/javascript">tweetmeme_url='http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/'; tweetmeme_style = 'normal';; </script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js" ></script></td></table></div><!-- This is a HTML comment, it will not display in any page. Feel free to remove this comment if it cause any inconvenient to you.
	Thanks for using digg digg, please visit http://www.mkyong.com/blog/digg-digg-wordpress-plugin for any comments and ideas, 
	
    Author : Yong Mook Kim
    Website : http://www.mkyong.com
	-->]]></content:encoded>
			<wfw:commentRss>http://www.webdevbros.net/2009/06/09/style-binding-support-for-custom-flex-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

