<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="horizontal"
    horizontalAlign="center"
    verticalAlign="middle"
    creationComplete="onInit ()" viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import mx.controls.listClasses.IListItemRenderer;
            
            private function onInit ():void
            {
                testList1.addEventListener
                    ("insideRendererButtonClick", onDelete);
                testList2.addEventListener
                    ("insideRendererButtonClick", onButtonPress);
            }
            
            private function onButtonPress (event:Event):void
            {
                event.stopPropagation();
                var renderer:IListItemRenderer = 
                    event.target as IListItemRenderer;
                var rendererData:XML = renderer.data as XML;
                rendererData.@label = "Pressed!";
            }
            
            private function onDelete (event:Event):void
            {
                event.stopPropagation();
                var renderer:IListItemRenderer = 
                    event.target as IListItemRenderer;
                var rendererData:XML = renderer.data as XML;
                var index:int = xmlData.getItemIndex(rendererData);
                if (index >= 0)
                {
                    xmlData.removeItemAt(index);
                }
            }
        ]]>
    </mx:Script>
    
    <mx:XMLListCollection
        id="xmlData">
        <mx:source>
            <mx:XMLList xmlns="">
                <testDataElement id="1" name="test 1" label="Delete" />
                <testDataElement id="2" name="test 2" label="Delete" />
                <testDataElement id="3" name="test 3" label="Delete" />
                <testDataElement id="4" name="test 4" label="Delete" />
                <testDataElement id="5" name="test 5" label="Delete" />
                <testDataElement id="6" name="test 6" label="Delete" />
            </mx:XMLList>
        </mx:source>
    </mx:XMLListCollection>
    
    <mx:List
        id="testList1"
        width="200"
        height="300"
        dataProvider="{xmlData}" 
        itemRenderer="com.riapriority.renderereventstest.ButtonRenderer" />
    <mx:List
        id="testList2"
        width="200"
        height="300"
        dataProvider="{xmlData.copy()}" 
        itemRenderer="com.riapriority.renderereventstest.ButtonRenderer" />
</mx:Application>