package { /** * @author Sergey Gonchar * @version 0.1 */ public class Binder { private var obj:Object; private var prop:String; private var source:ValueHolder; public function Binder(source:ValueHolder, obj:Object, prop:String) { this.obj = obj; this.prop = prop; this.source = source; this.obj[this.prop] = source.Value; source.addEventListener(ChangeEvent.CHANGE, _onPropChange); } private function _onPropChange(e:ChangeEvent):void { this.obj[this.prop] = e.newValue; } public function disableBinder():void { source.removeEventListener(ChangeEvent.CHANGE, _onPropChange); } public function enableBinder():void { source.addEventListener(ChangeEvent.CHANGE, _onPropChange); } } }