From f3f87179a61ab7027c537ebbc9914aed489fd1e5 Mon Sep 17 00:00:00 2001 From: aartzrc <36048486+aartzrc@users.noreply.github.com> Date: Fri, 13 Apr 2018 17:38:27 -0700 Subject: [PATCH] Added origin IBindable object to callback Using bindAll frequently, it became difficult to handle binding many objects to a single callback. Having the origin object pass through makes things easier. --- src/bindx/SignalTools.hx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bindx/SignalTools.hx b/src/bindx/SignalTools.hx index 91447d6..60794b2 100644 --- a/src/bindx/SignalTools.hx +++ b/src/bindx/SignalTools.hx @@ -38,7 +38,7 @@ class SignalTools { * @param force = true - force instantiate all lazy signals * @return Void -> Void */ - static public function bindAll(bindable:bindx.IBindable, callback:String -> Dynamic -> Dynamic -> Void, force = true):Void -> Void { + static public function bindAll(bindable:bindx.IBindable, callback: bindx.IBindable -> String -> Dynamic -> Dynamic -> Void, force = true):Void -> Void { var listeners = new Map, Function>(); var signals = getSignals(bindable, force); @@ -46,11 +46,11 @@ class SignalTools { var signal = signals.get(name); if (signal == null) continue; if (std.Std.is(signal, bindx.BindSignal.FieldSignal)) { - var listener = function (from:Dynamic, to:Dynamic) callback(name, from, to); + var listener = function (from:Dynamic, to:Dynamic) callback(bindable, name, from, to); listeners.set(signal, listener); signal.add(listener); } else { - var listener = function () callback(name, null, null); + var listener = function () callback(bindable, name, null, null); listeners.set(signal, listener); signal.add(listener); } @@ -92,4 +92,4 @@ class SignalTools { } return signals; } -} \ No newline at end of file +}