home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 April / ME_04_2012.iso / Video-Tutorial / iPhoto / media / player.swf / scripts / mx / binding / BindingManager.as < prev    next >
Encoding:
Text File  |  2011-11-11  |  3.7 KB  |  114 lines

  1. package mx.binding
  2. {
  3.    import mx.core.mx_internal;
  4.    
  5.    use namespace mx_internal;
  6.    
  7.    public class BindingManager
  8.    {
  9.       mx_internal static const VERSION:String = "4.5.0.20967";
  10.       
  11.       internal static var debugDestinationStrings:Object = {};
  12.       
  13.       public function BindingManager()
  14.       {
  15.          super();
  16.       }
  17.       
  18.       public static function addBinding(param1:Object, param2:String, param3:Binding) : void
  19.       {
  20.          if(!param1._bindingsByDestination)
  21.          {
  22.             param1._bindingsByDestination = {};
  23.             param1._bindingsBeginWithWord = {};
  24.          }
  25.          param1._bindingsByDestination[param2] = param3;
  26.          param1._bindingsBeginWithWord[getFirstWord(param2)] = true;
  27.       }
  28.       
  29.       public static function setEnabled(param1:Object, param2:Boolean) : void
  30.       {
  31.          var _loc3_:Array = null;
  32.          var _loc4_:uint = 0;
  33.          var _loc5_:Binding = null;
  34.          if(param1 is IBindingClient && Boolean(param1._bindings))
  35.          {
  36.             _loc3_ = param1._bindings as Array;
  37.             _loc4_ = 0;
  38.             while(_loc4_ < _loc3_.length)
  39.             {
  40.                _loc5_ = _loc3_[_loc4_];
  41.                _loc5_.mx_internal::isEnabled = param2;
  42.                _loc4_++;
  43.             }
  44.          }
  45.       }
  46.       
  47.       public static function executeBindings(param1:Object, param2:String, param3:Object) : void
  48.       {
  49.          var _loc4_:String = null;
  50.          if(!param2 || param2 == "")
  51.          {
  52.             return;
  53.          }
  54.          if(param1 && (param1 is IBindingClient || param1.hasOwnProperty("_bindingsByDestination")) && Boolean(param1._bindingsByDestination) && Boolean(param1._bindingsBeginWithWord[getFirstWord(param2)]))
  55.          {
  56.             for(_loc4_ in param1._bindingsByDestination)
  57.             {
  58.                if(_loc4_.charAt(0) == param2.charAt(0))
  59.                {
  60.                   if(_loc4_.indexOf(param2 + ".") == 0 || _loc4_.indexOf(param2 + "[") == 0 || _loc4_ == param2)
  61.                   {
  62.                      param1._bindingsByDestination[_loc4_].execute(param3);
  63.                   }
  64.                }
  65.             }
  66.          }
  67.       }
  68.       
  69.       public static function enableBindings(param1:Object, param2:String, param3:Boolean = true) : void
  70.       {
  71.          var _loc4_:String = null;
  72.          if(!param2 || param2 == "")
  73.          {
  74.             return;
  75.          }
  76.          if(param1 && (param1 is IBindingClient || param1.hasOwnProperty("_bindingsByDestination")) && Boolean(param1._bindingsByDestination) && Boolean(param1._bindingsBeginWithWord[getFirstWord(param2)]))
  77.          {
  78.             for(_loc4_ in param1._bindingsByDestination)
  79.             {
  80.                if(_loc4_.charAt(0) == param2.charAt(0))
  81.                {
  82.                   if(_loc4_.indexOf(param2 + ".") == 0 || _loc4_.indexOf(param2 + "[") == 0 || _loc4_ == param2)
  83.                   {
  84.                      param1._bindingsByDestination[_loc4_].isEnabled = param3;
  85.                   }
  86.                }
  87.             }
  88.          }
  89.       }
  90.       
  91.       private static function getFirstWord(param1:String) : String
  92.       {
  93.          var _loc2_:int = int(param1.indexOf("."));
  94.          var _loc3_:int = int(param1.indexOf("["));
  95.          if(_loc2_ == _loc3_)
  96.          {
  97.             return param1;
  98.          }
  99.          var _loc4_:int = Math.min(_loc2_,_loc3_);
  100.          if(_loc4_ == -1)
  101.          {
  102.             _loc4_ = Math.max(_loc2_,_loc3_);
  103.          }
  104.          return param1.substr(0,_loc4_);
  105.       }
  106.       
  107.       public static function debugBinding(param1:String) : void
  108.       {
  109.          debugDestinationStrings[param1] = true;
  110.       }
  111.    }
  112. }
  113.  
  114.