home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 2010 Software/Programs / PCGuia_programas.iso / Software / Utils / Livebrush / Install-LivebrushLite.air / livebrush.swf / scripts / com / livebrush / ui / SliderInput.as < prev    next >
Encoding:
Text File  |  2009-10-26  |  3.1 KB  |  125 lines

  1. package com.livebrush.ui
  2. {
  3.    import fl.controls.Slider;
  4.    import fl.controls.TextInput;
  5.    import fl.events.SliderEvent;
  6.    import flash.display.Sprite;
  7.    import flash.events.Event;
  8.    import flash.text.TextField;
  9.    
  10.    [Embed(source="/_assets/assets.swf", symbol="symbol401")]
  11.    public class SliderInput extends Sprite
  12.    {
  13.       public static var upperCaseLabels:Boolean = true;
  14.       
  15.       public var _slider:Slider;
  16.       
  17.       public var _input:TextInput;
  18.       
  19.       private var _value:String = "";
  20.       
  21.       public var _label:TextField;
  22.       
  23.       public function SliderInput()
  24.       {
  25.          super();
  26.          this.init();
  27.       }
  28.       
  29.       public function get enabled() : Boolean
  30.       {
  31.          return this._slider.enabled;
  32.       }
  33.       
  34.       public function set enabled(b:Boolean) : void
  35.       {
  36.          this._setEnabled(b);
  37.       }
  38.       
  39.       private function _setSlider(s:Object) : void
  40.       {
  41.          this._slider.value = Number(s);
  42.          this._setInput();
  43.       }
  44.       
  45.       public function set max(n:Number) : void
  46.       {
  47.          this._slider.maximum = n;
  48.       }
  49.       
  50.       private function init() : void
  51.       {
  52.          this._slider.liveDragging = true;
  53.          this._input.restrict = ".0123456789";
  54.          this._input.maxChars = 3;
  55.          this._slider.addEventListener(Event.CHANGE,this.sliderChange);
  56.          this._slider.addEventListener(SliderEvent.THUMB_RELEASE,this.sliderChanged);
  57.          this._input.addEventListener(Event.CHANGE,this.inputChange);
  58.       }
  59.       
  60.       public function get min() : Number
  61.       {
  62.          return this._slider.minimum;
  63.       }
  64.       
  65.       private function sliderChanged(e:SliderEvent) : void
  66.       {
  67.          this._setInput();
  68.          dispatchEvent(new Event(Event.CHANGE));
  69.       }
  70.       
  71.       private function inputChange(e:Event) : void
  72.       {
  73.          this.value = Number(this._input.text);
  74.          dispatchEvent(new Event(Event.CHANGE));
  75.       }
  76.       
  77.       private function _setEnabled(b:Boolean) : void
  78.       {
  79.          this._slider.enabled = this._input.enabled = b;
  80.       }
  81.       
  82.       public function set value(s:Object) : void
  83.       {
  84.          this._setSlider(s);
  85.       }
  86.       
  87.       private function _setInput(s:Object = null) : void
  88.       {
  89.          s = s == null ? this._slider.value : s;
  90.          this._input.text = String(s).substr(0,5);
  91.       }
  92.       
  93.       public function set label(s:String) : void
  94.       {
  95.          this._label.text = upperCaseLabels ? s.toUpperCase() : s;
  96.       }
  97.       
  98.       public function get max() : Number
  99.       {
  100.          return this._slider.maximum;
  101.       }
  102.       
  103.       public function get value() : Object
  104.       {
  105.          return this._slider.value;
  106.       }
  107.       
  108.       public function get label() : String
  109.       {
  110.          return this._label.text;
  111.       }
  112.       
  113.       private function sliderChange(e:Event) : void
  114.       {
  115.          this._setInput();
  116.       }
  117.       
  118.       public function set min(n:Number) : void
  119.       {
  120.          this._slider.minimum = n;
  121.       }
  122.    }
  123. }
  124.  
  125.