q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2863c51eddd2477375db149df893d8b24d7c6555

commit 2863c51eddd2477375db149df893d8b24d7c6555
Author: Daniel Kolesa <[email protected]>
Date:   Fri Oct 10 13:58:04 2014 +0100

    elua: very basic event support in eo bindings
---
 src/bindings/luajit/eo.lua | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua
index ace0f9c..4487057 100644
--- a/src/bindings/luajit/eo.lua
+++ b/src/bindings/luajit/eo.lua
@@ -122,6 +122,21 @@ local init = function()
     eo = util.lib_load("eo")
     eo.eo_init()
     classes["Eo_Base"] = util.Object:clone {
+        connect = function(self, ename, func)
+            local ev = self.__events[ename]
+            if not ev then
+                error("invalid event '" .. ename .. "'", 2)
+            end
+            local cl = eo_classes["Eo_Base"]
+            M.__do_start(self, cl)
+            eo.eo_event_callback_priority_add(ev, 0,
+                function(data, obj, desc, einfo)
+                    func(obj, einfo)
+                end,
+            nil)
+            M.__do_end()
+        end,
+
         __events = util.Object:clone {},
         __properties = util.Object:clone {}
     }

-- 


Reply via email to