From 4fd08035d2571cda64e96748a153ea9e6b92f1bd Mon Sep 17 00:00:00 2001 From: Dima Granetchi Date: Tue, 19 Dec 2017 21:53:32 +0200 Subject: [PATCH] sample with interface (hardcoded signal) --- samples/interface/Main.hx | 43 ++++++++++++++++++++++++++++++++++++ samples/interface/build.hxml | 4 ++++ 2 files changed, 47 insertions(+) create mode 100644 samples/interface/Main.hx create mode 100644 samples/interface/build.hxml diff --git a/samples/interface/Main.hx b/samples/interface/Main.hx new file mode 100644 index 0000000..521335b --- /dev/null +++ b/samples/interface/Main.hx @@ -0,0 +1,43 @@ +import bindx.BindSignal.FieldSignal; +import bindx.IBindable; +import bindx.Bind; + +@:bindable interface IRick extends IBindable { + var a(get, set):Int; + + private var aChanged(default, null):bindx.FieldSignal; +} + +@:bindable private class Rick implements IRick { + public var a(get, set):Int; + private var _a:Int = 0; + + public function new() { + } + + private function get_a():Int { + return _a; + } + + private function set_a(value:Int):Int { + _a = value; + return value; + } +} + +private class View { + public var b:Int = 0; + + public function new() { + } +} + +class Main { + static public function main():Void { + var r:IRick = new Rick(); + var v = new View(); + Bind.bindTo(r.a, v.b); + r.a = 8; + trace("v.b = " + v.b); + } +} \ No newline at end of file diff --git a/samples/interface/build.hxml b/samples/interface/build.hxml new file mode 100644 index 0000000..bd997bb --- /dev/null +++ b/samples/interface/build.hxml @@ -0,0 +1,4 @@ +-main Main +-D bindx_log=2 +-lib bindx2 +--interp