<?xml version="1.0" encoding="utf-8"?>
<!---
Spark DataGrid Sample
-->
<s:Application
xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s  = "library://ns.adobe.com/flex/spark"
fontSize = "35"
 viewSourceURL="srcview/index.html">

<fx:Script>
<![CDATA[
    import jp.taiga.data.FontData;

    import spark.events.IndexChangeEvent;

    protected override function createChildren():void {
        super.createChildren();

        var i        :int;
        var l        :int;
        var f        :Font;
        var fd       :FontData;
        var fonts    :Array;
        var newFonts :ArrayList;

        newFonts = new ArrayList();
        fonts = Font.enumerateFonts(true)
                    .sortOn("fontName", Array.CASEINSENSITIVE);
        l = fonts.length;

        for(i = 0; i < l; i++) {
            f            = fonts[i] as Font;
            fd           = new FontData();
            fd.fontName  = fd.fontView = f.fontName;
            fd.fontStyle = f.fontStyle;
            fd.fontType  = f.fontType;
            newFonts.addItem(fd);
        }

        fontDataGrid.dataProvider = newFonts;

    }

    protected function buttonBarChangeHandler(event:IndexChangeEvent):void {
        var bar :ButtonBar;
        var o   :Object;
        bar = event.target as ButtonBar;
        o = ( bar.dataProvider as ArrayList).getItemAt( event.newIndex );
        if( o.hasOwnProperty("label") ) {
            fontDataGrid.selectionMode = o.label;
        }
    }
]]>
</fx:Script>

<s:layout>
    <s:VerticalLayout
        paddingLeft   = "20"
        paddingTop    = "20"
        paddingRight  = "20"
        paddingBottom = "20"
        gap           = "10"
     />
</s:layout>

<s:Label text="Spark DataGrid Sample" />

<s:ButtonBar
    id               = "buttonBar"
    width            = "100%"
    height           = "50"
    requireSelection = "true"
    change           = "buttonBarChangeHandler(event)"
>
    <s:dataProvider>
        <s:ArrayList>
            <fx:Object label="none" />
            <fx:Object label="singleRow" />
            <fx:Object label="singleCell" />
            <fx:Object label="multipleRows" />
            <fx:Object label="multipleCells" />
        </s:ArrayList>
    </s:dataProvider>
</s:ButtonBar>

<s:DataGrid
    id                   = "fontDataGrid"
    width                = "100%"
    height               = "100%"
    selectionMode        = "none"
    skinClass            = "jp.taiga.component.skin.CustomDataGridSkin"
    gridClick            = "ta.appendText( event.toString() + '\n' )"
    gridRollOver         = "ta.appendText( event.toString() + '\n' )"
>
<!--    alternatingRowColors = "[#d3edfb,#fadce9,#fffcdb]"-->

    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="fontName"  headerText="Name" />
            <s:GridColumn dataField="fontView"  headerText="View"
                          itemRenderer="jp.taiga.component.renderer.CustomDataGridItemRenderer"  />
            <s:GridColumn dataField="fontStyle" headerText="Style" width="150" />
            <s:GridColumn dataField="fontType"  headerText="Type"  width="150" />
        </s:ArrayList>
    </s:columns>

</s:DataGrid>

<s:TextArea id="ta" width="100%" height="150" />

</s:Application>