home *** CD-ROM | disk | FTP | other *** search
- package com.livebrush.ui
- {
- import fl.controls.Slider;
- import fl.controls.TextInput;
- import fl.events.SliderEvent;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.text.TextField;
-
- [Embed(source="/_assets/assets.swf", symbol="symbol401")]
- public class SliderInput extends Sprite
- {
- public static var upperCaseLabels:Boolean = true;
-
- public var _slider:Slider;
-
- public var _input:TextInput;
-
- private var _value:String = "";
-
- public var _label:TextField;
-
- public function SliderInput()
- {
- super();
- this.init();
- }
-
- public function get enabled() : Boolean
- {
- return this._slider.enabled;
- }
-
- public function set enabled(b:Boolean) : void
- {
- this._setEnabled(b);
- }
-
- private function _setSlider(s:Object) : void
- {
- this._slider.value = Number(s);
- this._setInput();
- }
-
- public function set max(n:Number) : void
- {
- this._slider.maximum = n;
- }
-
- private function init() : void
- {
- this._slider.liveDragging = true;
- this._input.restrict = ".0123456789";
- this._input.maxChars = 3;
- this._slider.addEventListener(Event.CHANGE,this.sliderChange);
- this._slider.addEventListener(SliderEvent.THUMB_RELEASE,this.sliderChanged);
- this._input.addEventListener(Event.CHANGE,this.inputChange);
- }
-
- public function get min() : Number
- {
- return this._slider.minimum;
- }
-
- private function sliderChanged(e:SliderEvent) : void
- {
- this._setInput();
- dispatchEvent(new Event(Event.CHANGE));
- }
-
- private function inputChange(e:Event) : void
- {
- this.value = Number(this._input.text);
- dispatchEvent(new Event(Event.CHANGE));
- }
-
- private function _setEnabled(b:Boolean) : void
- {
- this._slider.enabled = this._input.enabled = b;
- }
-
- public function set value(s:Object) : void
- {
- this._setSlider(s);
- }
-
- private function _setInput(s:Object = null) : void
- {
- s = s == null ? this._slider.value : s;
- this._input.text = String(s).substr(0,5);
- }
-
- public function set label(s:String) : void
- {
- this._label.text = upperCaseLabels ? s.toUpperCase() : s;
- }
-
- public function get max() : Number
- {
- return this._slider.maximum;
- }
-
- public function get value() : Object
- {
- return this._slider.value;
- }
-
- public function get label() : String
- {
- return this._label.text;
- }
-
- private function sliderChange(e:Event) : void
- {
- this._setInput();
- }
-
- public function set min(n:Number) : void
- {
- this._slider.minimum = n;
- }
- }
- }
-
-