package
{
    import fl.controls.Slider;
    import fl.events.SliderEvent;
    
    import flash.text.TextField;

    public class LabeledSlider extends Slider
    {
        private var _label:String;
        private var _textField:TextField;
        
        public function LabeledSlider(label:String, min:Number, max:Number, val:Number, snap:Number, live:Boolean)
        {
            _label = label;
            _textField = new TextField();
            _textField.y -= 20;
            _textField.text = _label;
            addChild(_textField);
            
            addEventListener(SliderEvent.CHANGE, _updateLabel);
            
            super();

            this.minimum = min;
            this.maximum = max;
            this.value = val;
            this.snapInterval = snap;
            this.liveDragging = live;
            
            _updateLabel(null);
        }
        
        private function _updateLabel(event:SliderEvent):void {
            _textField.text = _label + " = " + this.value;
        }
        
    }
}