     //
     //--------------------------------------------------------------------------
 
-	/**
-	 *  @private
-	 */
-	override protected function createChildren():void
-	{
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
         super.createChildren();
 
-		createLabel(-1);
-
-		addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
-	}
-
-	/**
-	 *  @private
-	 */
-	override protected function commitProperties():void
-	{
-		super.commitProperties();
-
-	    // if the font changed and we already created the label, we will need to 
+        createLabel(-1);
+
+        addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        // if the font changed and we already created the label, we will need to 
         // destory it so it can be re-created, possibly in a different swf context.
-		if (hasFontContextChanged() && label != null)
-        {
-      		var index:int = getChildIndex(DisplayObject(label));
+        if (hasFontContextChanged() && label != null)
+        {
+              var index:int = getChildIndex(DisplayObject(label));
             removeLabel();
- 			createLabel(index);
-        }
-
-		if (icon)
-		{
-			removeChild(DisplayObject(icon));
-			icon = null;
-		}
-
-		if (disclosureIcon)
-		{
-			disclosureIcon.removeEventListener(MouseEvent.MOUSE_DOWN, 
-			      							   disclosureMouseDownHandler);
-			removeChild(DisplayObject(disclosureIcon));
-			disclosureIcon = null;
-		}
-
-		if (_data != null)
-		{
-			listOwner = Tree(_listData.owner);
-
-			if (_listData.disclosureIcon)
-			{
-				var disclosureIconClass:Class = _listData.disclosureIcon;
-				var disclosureInstance:* = new disclosureIconClass();
-				
-				// If not already an interactive object, then we'll wrap 
-				// in one so we can dispatch mouse events.
-				if (!(disclosureInstance is InteractiveObject))
-				{
-					var wrapper:SpriteAsset = new SpriteAsset();
-					wrapper.addChild(disclosureInstance as DisplayObject);
-					disclosureIcon = wrapper as IFlexDisplayObject;
-				}
-				else
-				{
-					disclosureIcon = disclosureInstance;
-				}
-
-				addChild(disclosureIcon as DisplayObject);
-				disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN,
-												disclosureMouseDownHandler);
-			}
-			
-			if (_listData.icon)
-			{
-				var iconClass:Class = _listData.icon;
-				icon = new iconClass();
-
-				addChild(DisplayObject(icon));
-			}
-			
-			label.text = _listData.label;
-			label.multiline = listOwner.variableRowHeight;
-			label.wordWrap = listOwner.wordWrap;
-		}
-		else
-		{
-			label.text = " ";
-			toolTip = null;
-		}
-
-		invalidateDisplayList();
-	}
-
-	/**
-	 *  @private
-	 */
-	override protected function measure():void
-	{
-		super.measure();
-
-		var w:Number = _data ? _listData.indent : 0;
-
-		if (disclosureIcon)
-			w += disclosureIcon.width;
-
-		if (icon)
-			w += icon.measuredWidth;
-
-		// guarantee that label width isn't zero because it messes up ability to measure
-		if (label.width < 4 || label.height < 4)
-		{
-			label.width = 4;
-			label.height = 16;
-		}
-
-		if (isNaN(explicitWidth))
-		{
-			w += label.getExplicitOrMeasuredWidth();	
-			measuredWidth = w;
-			measuredHeight = label.getExplicitOrMeasuredHeight();
-		}
-		else
-		{
-			label.width = Math.max(explicitWidth - w, 4);
-			measuredHeight = label.getExplicitOrMeasuredHeight();
-			if (icon && icon.measuredHeight > measuredHeight)
-				measuredHeight = icon.measuredHeight;
-		}
-	}
-
-	/**
-	 *  @private
-	 */
-	override protected function updateDisplayList(unscaledWidth:Number,
-												  unscaledHeight:Number):void
-	{
-		super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-		var startx:Number = _data ? _listData.indent : 0;
-		
-		if (disclosureIcon)
-		{
-			disclosureIcon.x = startx;
-
-			startx = disclosureIcon.x + disclosureIcon.width;
-			
-			disclosureIcon.setActualSize(disclosureIcon.width,
-										 disclosureIcon.height);
-			
-			disclosureIcon.visible = _data ?
-									 _listData.hasChildren :
-									 false;
-		}
-		
-		if (icon)
-		{
-			icon.x = startx;
-			startx = icon.x + icon.measuredWidth;
-			icon.setActualSize(icon.measuredWidth, icon.measuredHeight);
-		}
-		
-		label.x = startx;
-		label.setActualSize(unscaledWidth - startx, measuredHeight);
-
-		var verticalAlign:String = getStyle("verticalAlign");
-		if (verticalAlign == "top")
-		{
-			label.y = 0;
-			if (icon)
-				icon.y = 0;
-			if (disclosureIcon)
-				disclosureIcon.y = 0;
-		}
-		else if (verticalAlign == "bottom")
-		{
-			label.y = unscaledHeight - label.height + 2; // 2 for gutter
-			if (icon)
-				icon.y = unscaledHeight - icon.height;
-			if (disclosureIcon)
-				disclosureIcon.y = unscaledHeight - disclosureIcon.height;
-		}
-		else
-		{
-			label.y = (unscaledHeight - label.height) / 2;
-			if (icon)
-				icon.y = (unscaledHeight - icon.height) / 2;
-			if (disclosureIcon)
-				disclosureIcon.y = (unscaledHeight - disclosureIcon.height) / 2;
-		}
-
-		var labelColor:Number;
-
-		if (data && parent)
-		{
-			if (!enabled)
-				labelColor = getStyle("disabledColor");
-
-			else if (listOwner.isItemHighlighted(listData.uid))
-        		labelColor = getStyle("textRollOverColor");
-
-			else if (listOwner.isItemSelected(listData.uid))
-        		labelColor = getStyle("textSelectedColor");
-
-			else
-        		labelColor = getStyle("color");
-
-       		label.setColor(labelColor);
-		}
-		
-		if (_data != null)
-		{			
-			if (listOwner.showDataTips)
-			{
-				if (label.textWidth > label.width ||
-					listOwner.dataTipFunction != null)
-				{
-					toolTip = listOwner.itemToDataTip(_data);
-				}
-				else
-				{
-					toolTip = null;
-				}
-			}
-			else
-			{
-				toolTip = null;
-			}
-		}
-	}
-	
+             createLabel(index);
+        }
+
+        if (icon)
+        {
+            removeChild(DisplayObject(icon));
+            icon = null;
+        }
+
+        if (disclosureIcon)
+        {
+            disclosureIcon.removeEventListener(MouseEvent.MOUSE_DOWN, 
+                                                 disclosureIcon_mouseDownHandler);
+            disclosureIcon.removeEventListener(MouseEvent.CLICK, 
+                disclosureIcon_clickHandler);
+            removeChild(DisplayObject(disclosureIcon));
+            disclosureIcon = null;
+        }
+
+        if (_data != null)
+        {
+            listOwner = Tree(_listData.owner);
+
+            if (_listData.disclosureIcon)
+            {
+                var disclosureIconClass:Class = _listData.disclosureIcon;
+                var disclosureInstance:* = new disclosureIconClass();
+                
+                // If not already an interactive object, then we'll wrap 
+                // in one so we can dispatch mouse events.
+                if (!(disclosureInstance is InteractiveObject))
+                {
+                    var wrapper:SpriteAsset = new SpriteAsset();
+                    wrapper.addChild(disclosureInstance as DisplayObject);
+                    disclosureIcon = wrapper as IFlexDisplayObject;
+                }
+                else
+                {
+                    disclosureIcon = disclosureInstance;
+                }
+
+                addChild(disclosureIcon as DisplayObject);
+                disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN,
+                        disclosureIcon_mouseDownHandler);
+                disclosureIcon.addEventListener(MouseEvent.CLICK,
+                    disclosureIcon_clickHandler);
+            }
+            
+            if (_listData.icon)
+            {
+                var iconClass:Class = _listData.icon;
+                icon = new iconClass();
+
+                addChild(DisplayObject(icon));
+            }
+            
+            label.text = _listData.label;
+            label.multiline = listOwner.variableRowHeight;
+            label.wordWrap = listOwner.wordWrap;
+        }
+        else
+        {
+            label.text = " ";
+            toolTip = null;
+        }
+
+        invalidateDisplayList();
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+        var w:Number = _data ? _listData.indent : 0;
+
+        if (disclosureIcon)
+            w += disclosureIcon.width;
+
+        if (icon)
+            w += icon.measuredWidth;
+
+        // guarantee that label width isn't zero because it messes up ability to measure
+        if (label.width < 4 || label.height < 4)
+        {
+            label.width = 4;
+            label.height = 16;
+        }
+
+        if (isNaN(explicitWidth))
+        {
+            w += label.getExplicitOrMeasuredWidth();    
+            measuredWidth = w;
+            measuredHeight = label.getExplicitOrMeasuredHeight();
+        }
+        else
+        {
+            label.width = Math.max(explicitWidth - w, 4);
+            measuredHeight = label.getExplicitOrMeasuredHeight();
+            if (icon && icon.measuredHeight > measuredHeight)
+                measuredHeight = icon.measuredHeight;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        var startx:Number = _data ? _listData.indent : 0;
+        
+        if (disclosureIcon)
+        {
+            disclosureIcon.x = startx;
+
+            startx = disclosureIcon.x + disclosureIcon.width;
+            
+            disclosureIcon.setActualSize(disclosureIcon.width,
+                                         disclosureIcon.height);
+            
+            disclosureIcon.visible = _data ?
+                                     _listData.hasChildren :
+                                     false;
+        }
+        
+        if (icon)
+        {
+            icon.x = startx;
+            startx = icon.x + icon.measuredWidth;
+            icon.setActualSize(icon.measuredWidth, icon.measuredHeight);
+        }
+        
+        label.x = startx;
+        label.setActualSize(unscaledWidth - startx, measuredHeight);
+
+        var verticalAlign:String = getStyle("verticalAlign");
+        if (verticalAlign == "top")
+        {
+            label.y = 0;
+            if (icon)
+                icon.y = 0;
+            if (disclosureIcon)
+                disclosureIcon.y = 0;
+        }
+        else if (verticalAlign == "bottom")
+        {
+            label.y = unscaledHeight - label.height + 2; // 2 for gutter
+            if (icon)
+                icon.y = unscaledHeight - icon.height;
+            if (disclosureIcon)
+                disclosureIcon.y = unscaledHeight - disclosureIcon.height;
+        }
+        else
+        {
+            label.y = (unscaledHeight - label.height) / 2;
+            if (icon)
+                icon.y = (unscaledHeight - icon.height) / 2;
+            if (disclosureIcon)
+                disclosureIcon.y = (unscaledHeight - disclosureIcon.height) / 2;
+        }
+
+        var labelColor:Number;
+
+        if (data && parent)
+        {
+            if (!enabled)
+                labelColor = getStyle("disabledColor");
+
+            else if (listOwner.isItemHighlighted(listData.uid))
+                labelColor = getStyle("textRollOverColor");
+
+            else if (listOwner.isItemSelected(listData.uid))
+                labelColor = getStyle("textSelectedColor");
+
+            else
+                labelColor = getStyle("color");
+
+               label.setColor(labelColor);
+        }
+        
+        if (_data != null)
+        {            
+            if (listOwner.showDataTips)
+            {
+                if (label.textWidth > label.width ||
+                    listOwner.dataTipFunction != null)
+                {
+                    toolTip = listOwner.itemToDataTip(_data);
+                }
+                else
+                {
+                    toolTip = null;
+                }
+            }
+            else
+            {
+                toolTip = null;
+            }
+        }
+    }
+    
     //--------------------------------------------------------------------------
     //
     //  Methods

     */
    override public function get baselinePosition():Number
    {
		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
			super.baselinePosition;
			
		if (!validateBaselinePosition())
			return NaN;

		return label.y + label.baselinePosition;
    }

    //--------------------------------------------------------------------------

    }
    
    //----------------------------------
    //  icon
    //----------------------------------

    /**
     *  The internal IFlexDisplayObject that displays the icon in this renderer.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    protected var icon:IFlexDisplayObject;
    
    //----------------------------------
    //  label
    //----------------------------------

    /**
     *  The internal UITextField that displays the text in this renderer.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    protected var label:IUITextField;
    
    //----------------------------------
    //  listData
    //----------------------------------

    /**
     *  @private
     *  Storage for the listData property.
     */
    private var _listData:TreeListData;

    [Bindable("dataChange")]

    /**
     *  The implementation of the <code>listData</code> property as 
     *  defined by the IDropInListItemRenderer interface.
     *
     *  @see mx.controls.listClasses.IDropInListItemRenderer
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    public function get listData():BaseListData
    {
        return _listData;
    }

    /**
     *  @private
     */
    public function set listData(value:BaseListData):void
    {
        _listData = TreeListData(value);
        
        invalidateProperties();
    }

    //--------------------------------------------------------------------------
    //
