home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 2010 Software/Programs / PCGuia_programas.iso / Software / Utils / Livebrush / Install-LivebrushLite.air / livebrush.swf / scripts / fl / controls / UIScrollBar.as < prev   
Encoding:
Text File  |  2009-10-26  |  6.6 KB  |  216 lines

  1. package fl.controls
  2. {
  3.    import fl.core.InvalidationType;
  4.    import fl.core.UIComponent;
  5.    import fl.events.ScrollEvent;
  6.    import flash.events.Event;
  7.    import flash.events.TextEvent;
  8.    import flash.text.TextField;
  9.    
  10.    [Embed(source="/_assets/assets.swf", symbol="symbol228")]
  11.    public class UIScrollBar extends ScrollBar
  12.    {
  13.       private static var defaultStyles:Object = {};
  14.       
  15.       protected var inEdit:Boolean = false;
  16.       
  17.       protected var inScroll:Boolean = false;
  18.       
  19.       protected var _scrollTarget:TextField;
  20.       
  21.       public function UIScrollBar()
  22.       {
  23.          super();
  24.       }
  25.       
  26.       public static function getStyleDefinition() : Object
  27.       {
  28.          return UIComponent.mergeStyles(defaultStyles,ScrollBar.getStyleDefinition());
  29.       }
  30.       
  31.       protected function updateScrollTargetProperties() : void
  32.       {
  33.          var _loc1_:* = false;
  34.          var _loc2_:Number = NaN;
  35.          if(_scrollTarget == null)
  36.          {
  37.             setScrollProperties(pageSize,minScrollPosition,maxScrollPosition,pageScrollSize);
  38.             scrollPosition = 0;
  39.          }
  40.          else
  41.          {
  42.             _loc1_ = direction == ScrollBarDirection.HORIZONTAL;
  43.             _loc2_ = _loc1_ ? _scrollTarget.width : 10;
  44.             setScrollProperties(_loc2_,_loc1_ ? 0 : 1,_loc1_ ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV,pageScrollSize);
  45.             scrollPosition = _loc1_ ? _scrollTarget.scrollH : _scrollTarget.scrollV;
  46.          }
  47.       }
  48.       
  49.       override public function setScrollProperties(param1:Number, param2:Number, param3:Number, param4:Number = 0) : void
  50.       {
  51.          var _loc5_:Number = param3;
  52.          var _loc6_:Number = param2 < 0 ? 0 : param2;
  53.          if(_scrollTarget != null)
  54.          {
  55.             if(direction == ScrollBarDirection.HORIZONTAL)
  56.             {
  57.                _loc5_ = param3 > _scrollTarget.maxScrollH ? _scrollTarget.maxScrollH : _loc5_;
  58.             }
  59.             else
  60.             {
  61.                _loc5_ = param3 > _scrollTarget.maxScrollV ? _scrollTarget.maxScrollV : _loc5_;
  62.             }
  63.          }
  64.          super.setScrollProperties(param1,_loc6_,_loc5_,param4);
  65.       }
  66.       
  67.       protected function handleTargetScroll(param1:Event) : void
  68.       {
  69.          if(inDrag)
  70.          {
  71.             return;
  72.          }
  73.          if(!enabled)
  74.          {
  75.             return;
  76.          }
  77.          inEdit = true;
  78.          updateScrollTargetProperties();
  79.          scrollPosition = direction == ScrollBarDirection.HORIZONTAL ? _scrollTarget.scrollH : _scrollTarget.scrollV;
  80.          inEdit = false;
  81.       }
  82.       
  83.       override public function setScrollPosition(param1:Number, param2:Boolean = true) : void
  84.       {
  85.          super.setScrollPosition(param1,param2);
  86.          if(!_scrollTarget)
  87.          {
  88.             inScroll = false;
  89.             return;
  90.          }
  91.          updateTargetScroll();
  92.       }
  93.       
  94.       public function get scrollTargetName() : String
  95.       {
  96.          return _scrollTarget.name;
  97.       }
  98.       
  99.       override protected function draw() : void
  100.       {
  101.          if(isInvalid(InvalidationType.DATA))
  102.          {
  103.             updateScrollTargetProperties();
  104.          }
  105.          super.draw();
  106.       }
  107.       
  108.       override public function set direction(param1:String) : void
  109.       {
  110.          if(isLivePreview)
  111.          {
  112.             return;
  113.          }
  114.          super.direction = param1;
  115.          updateScrollTargetProperties();
  116.       }
  117.       
  118.       protected function updateTargetScroll(param1:ScrollEvent = null) : void
  119.       {
  120.          if(inEdit)
  121.          {
  122.             return;
  123.          }
  124.          if(direction == ScrollBarDirection.HORIZONTAL)
  125.          {
  126.             _scrollTarget.scrollH = scrollPosition;
  127.          }
  128.          else
  129.          {
  130.             _scrollTarget.scrollV = scrollPosition;
  131.          }
  132.       }
  133.       
  134.       override public function set minScrollPosition(param1:Number) : void
  135.       {
  136.          super.minScrollPosition = param1 < 0 ? 0 : param1;
  137.       }
  138.       
  139.       override public function set maxScrollPosition(param1:Number) : void
  140.       {
  141.          var _loc2_:Number = param1;
  142.          if(_scrollTarget != null)
  143.          {
  144.             if(direction == ScrollBarDirection.HORIZONTAL)
  145.             {
  146.                _loc2_ = _loc2_ > _scrollTarget.maxScrollH ? _scrollTarget.maxScrollH : _loc2_;
  147.             }
  148.             else
  149.             {
  150.                _loc2_ = _loc2_ > _scrollTarget.maxScrollV ? _scrollTarget.maxScrollV : _loc2_;
  151.             }
  152.          }
  153.          super.maxScrollPosition = _loc2_;
  154.       }
  155.       
  156.       protected function handleTargetChange(param1:Event) : void
  157.       {
  158.          inEdit = true;
  159.          setScrollPosition(direction == ScrollBarDirection.HORIZONTAL ? _scrollTarget.scrollH : _scrollTarget.scrollV,true);
  160.          updateScrollTargetProperties();
  161.          inEdit = false;
  162.       }
  163.       
  164.       public function update() : void
  165.       {
  166.          inEdit = true;
  167.          updateScrollTargetProperties();
  168.          inEdit = false;
  169.       }
  170.       
  171.       public function set scrollTargetName(param1:String) : void
  172.       {
  173.          var target:String = param1;
  174.          try
  175.          {
  176.             scrollTarget = parent.getChildByName(target) as TextField;
  177.          }
  178.          catch(error:Error)
  179.          {
  180.             throw new Error("ScrollTarget not found, or is not a TextField");
  181.          }
  182.       }
  183.       
  184.       public function set scrollTarget(param1:TextField) : void
  185.       {
  186.          if(_scrollTarget != null)
  187.          {
  188.             _scrollTarget.removeEventListener(Event.CHANGE,handleTargetChange,false);
  189.             _scrollTarget.removeEventListener(TextEvent.TEXT_INPUT,handleTargetChange,false);
  190.             _scrollTarget.removeEventListener(Event.SCROLL,handleTargetScroll,false);
  191.             removeEventListener(ScrollEvent.SCROLL,updateTargetScroll,false);
  192.          }
  193.          _scrollTarget = param1;
  194.          if(_scrollTarget != null)
  195.          {
  196.             _scrollTarget.addEventListener(Event.CHANGE,handleTargetChange,false,0,true);
  197.             _scrollTarget.addEventListener(TextEvent.TEXT_INPUT,handleTargetChange,false,0,true);
  198.             _scrollTarget.addEventListener(Event.SCROLL,handleTargetScroll,false,0,true);
  199.             addEventListener(ScrollEvent.SCROLL,updateTargetScroll,false,0,true);
  200.          }
  201.          invalidate(InvalidationType.DATA);
  202.       }
  203.       
  204.       public function get scrollTarget() : TextField
  205.       {
  206.          return _scrollTarget;
  207.       }
  208.       
  209.       override public function get direction() : String
  210.       {
  211.          return super.direction;
  212.       }
  213.    }
  214. }
  215.  
  216.