Building on already available CheckTree renderers, here is the first release (0.1) of the CheckBoxTree component. Supports three state items i.e. “checked”, “unchecked”, “schrodinger” and it has a basic search function implemented.
Sample code:
<inputs:CheckBoxTree width="480" height="320" title="Indian Subcontinent">
<inputs:dataProvider>
<mx:XMLListCollection>
<mx:source>
<mx:XMLList xmlns="">
<node state='checked' label='All' value='1'/>
<node state='unchecked' label='Afghanistan' value='2'/>
<node state='unchecked' label='Bangladesh' value='3'/>
<node state='unchecked' label='Bhutan' value='4'/>
<node state='unchecked' label='India' value='91'>
<node state='unchecked' label='Jammu and Kashmir' value='10'/>
<node state='unchecked' label='Himachal Pradesh' value='11'/>
<node state='unchecked' label='Punjab' value='12'/>
<node state='unchecked' label='Haryana' value='13'/>
<node state='unchecked' label='Uttaranchal' value='14'/>
</node>
<node state='unchecked' label='Nepal' value='5'/>
<node state='unchecked' label='Pakistan' value='6'/>
<node state='unchecked' label='Sri Lanka' value='7'/>
</mx:XMLList>
</mx:source>
</mx:XMLListCollection>
</inputs:dataProvider>
</inputs:CheckBoxTree>
A quick screen shot..
Again, all code self explanatory. Proper documentation will follow when advanced features will be introduced into the component.
What’s next?
– Select all, Clear all features
– Support for multiple dataProviders
– getCheckedItems(), setCheckedItems() methods etc.
Demo | Source code (Zip 6kB)
Worked on a charting component for Adobe Flex 3. The idea behind the component is to create one single object, specify a single dataProvider and have 6 different charts generated. Simple, routine stuff.
<visualizations:MultiChart id="multiChart" width="640" height="480"
backgroundColor="#ffffff" title="Default chart title" legendHeight="40"/>
[Bindable]
public var dataArrayCollection:ArrayCollection = new ArrayCollection;
public function creationCompleteHandler():void {
dataArrayCollection.addItem(new ArrayCollection([{"x":115, "y":120, "z":125, label: "Series1.1"},{"x":215, "y":220, "z":225, label: "Series1.2"},{"x":215, "y":220, "z":225, label: "Series1.3"}]));
dataArrayCollection.addItem(new ArrayCollection([{"x":415, "y":420, "z":425, label: "Series2.1"},{"x":15, "y":520, "z":525, label: "Series2.2"},{"x":615, "y":620, "z":625, label: "Series2.3"}]));
dataArrayCollection.addItem(new ArrayCollection([{"x":75, "y":75, "z":75, label: "Series3.1"},{"x":45, "y":50, "z":235, label: "Series3.2"},{"x":324, "y":654, "z":345, label: "Series3.3"}]));
multiChart.dataProvider = dataArrayCollection;
multiChart.refresh();
}
A few screens..


This is the first release so there isn’t any real documentation available, but there is a demo, an example and the source code. It should really be self explanatory at this stage. One thing, the object needs to be refreshed [refresh()] after changing the dataProvider. It has been left like this on purpose.
What’s next?
– Smart legends
– Timer based chart switcher
– Exposing more chart, axis, legend, panel styles to the user
– Themes.. etc.
Demo | Source Code (Zip 22kb)