  *  @productversion Flex 3
  */
 [Style(name="maxColumnWidth", type="Number", format="Length", inherit="no")]
+
+/**
+ *  The class that is used by this component to render labels.
+ *
+ *  <p>It can be set to either the mx.controls.Label class
+ *  or the spark.components.Label class.</p>
+ *
+ *  @default spark.components.Label
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 10.2
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4
+ */
+[Style(name="labelClass", type="Class", inherit="no")]
 
 //--------------------------------------
 //  Other metadata

package mx.charts
{

import flash.filters.DropShadowFilter;

import mx.charts.chartClasses.CartesianChart;
import mx.charts.chartClasses.CartesianTransform;

    override protected function createChildren():void
    {
        super.createChildren();
		var labelClass:Class = getLabelClass();
        _tempField = new labelClass();
        _tempField.visible = false;
        _tempField.text = "W...";
        _tempField.toolTip = "";
        addChild(_tempField as DisplayObject);
        _tempField.validateNow();
    }
	
	private function getLabelClass():Class
	{
		var labelClass:Class = getStyle("labelClass");
		if(labelClass == null)
		{
			try{
				labelClass = Class(ApplicationDomain.currentDomain.
					getDefinition("spark.components::Label"));
			}
			catch(e:Error)
			{
				labelClass = Class(ApplicationDomain.currentDomain.
					getDefinition("mx.controls::Label"));
			}
		}
		return labelClass;
	}

    /**
     *  @private
