Enlightenment CVS committal

Author  : cmarcelo
Project : e17
Module  : proto/python-efl

Dir     : e17/proto/python-efl/python-evas/evas


Modified Files:
        decorators.py evas.c_evas_object.pxi 
        evas.c_evas_object_callbacks.pxi evas.c_evas_object_events.pxi 


Log Message:
Python-Evas: adding support for new EVAS_CALLBACK_HOLD.


===================================================================
RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/decorators.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- decorators.py       3 Oct 2007 04:44:24 -0000       1.2
+++ decorators.py       1 Apr 2008 21:05:53 -0000       1.3
@@ -73,3 +73,7 @@
 def del_callback(func):
     func.evas_event_callback = evas.EVAS_CALLBACK_DEL
     return staticmethod(func)
+
+def hold_callback(func):
+    func.evas_event_callback = evas.EVAS_CALLBACK_HOLD
+    return staticmethod(func)
===================================================================
RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object.pxi,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- evas.c_evas_object.pxi      26 Mar 2008 04:41:15 -0000      1.24
+++ evas.c_evas_object.pxi      1 Apr 2008 21:05:53 -0000       1.25
@@ -196,7 +196,7 @@
        on_mouse_move_del, on_mouse_out_add, on_mouse_out_del, on_mouse_up_add,
        on_mouse_up_del, on_mouse_wheel_add, on_mouse_wheel_del, on_move_add,
        on_move_del, on_resize_add, on_resize_del, on_restack_add,
-       on_restack_del, on_show_add, on_show_del
+       on_restack_del, on_show_add, on_show_del, on_hold_add, on_hold_del
     @group Often unused: render_op_set, render_op_get, render_op,
        color_interpolation_set, color_interpolation_get, color_interpolation,
        anti_alias_set, anti_alias_get, anti_alias, pointer_mode_set,
@@ -1098,6 +1098,14 @@
     def on_del_del(self, func):
         "Same as event_callback_del(EVAS_CALLBACK_DEL, ...)"
         self.event_callback_del(EVAS_CALLBACK_FREE, func)
+
+    def on_hold_add(self, func, *a, **k):
+        "Same as event_callback_add(EVAS_CALLBACK_HOLD, ...)"
+        self.event_callback_add(EVAS_CALLBACK_HOLD, func, *a, **k)
+
+    def on_hold_del(self, func):
+        "Same as event_callback_del(EVAS_CALLBACK_HOLD, ...)"
+        self.event_callback_del(EVAS_CALLBACK_HOLD, func)
 
     def pass_events_get(self):
         "@rtype: bool"
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_callbacks.pxi,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- evas.c_evas_object_callbacks.pxi    26 Mar 2008 04:41:15 -0000      1.7
+++ evas.c_evas_object_callbacks.pxi    1 Apr 2008 21:05:53 -0000       1.8
@@ -138,9 +138,18 @@
     cb_dispatcher2(<Object>data, EVAS_CALLBACK_DEL)
 
 
+cdef void cb_hold(void *data, Evas *e,
+                  Evas_Object *obj, void *e_inf) with gil:
+    cdef EventHold event
+    event = EventHold()
+    event._set_obj(e_inf)
+    cb_dispatcher(<Object>data, event, EVAS_CALLBACK_HOLD)
+    event._unset_obj()
+
+
 cdef int evas_event_callbacks_len
-cdef evas_event_callback_t evas_event_callbacks[17]
-evas_event_callbacks_len = 17
+cdef evas_event_callback_t evas_event_callbacks[18]
+evas_event_callbacks_len = 18
 evas_event_callbacks[<int>EVAS_CALLBACK_MOUSE_IN] = cb_mouse_in
 evas_event_callbacks[<int>EVAS_CALLBACK_MOUSE_OUT] = cb_mouse_out
 evas_event_callbacks[<int>EVAS_CALLBACK_MOUSE_DOWN] = cb_mouse_down
@@ -158,3 +167,4 @@
 evas_event_callbacks[<int>EVAS_CALLBACK_RESIZE] = cb_resize
 evas_event_callbacks[<int>EVAS_CALLBACK_RESTACK] = cb_restack
 evas_event_callbacks[<int>EVAS_CALLBACK_DEL] = cb_del
+evas_event_callbacks[<int>EVAS_CALLBACK_HOLD] = cb_hold
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_events.pxi,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- evas.c_evas_object_events.pxi       26 Mar 2008 04:43:26 -0000      1.6
+++ evas.c_evas_object_events.pxi       1 Apr 2008 21:05:53 -0000       1.7
@@ -463,3 +463,40 @@
         def __set__(self, flags):
             self._check_validity()
             self.obj.event_flags = flags
+
+
+cdef class EventHold:
+    cdef void _set_obj(self, void *ptr):
+        self.obj = <Evas_Event_Hold*>ptr
+
+    cdef void _unset_obj(self):
+        self.obj = NULL
+
+    cdef void _check_validity(self) except *:
+        if self.obj == NULL:
+            raise ValueError("EventHold object is invalid.")
+
+    def __str__(self):
+        self._check_validity()
+        return ("%s(hold=%d, timestamp=%d, event_flags=%#x)") % \
+                (self.__class__.__name__, self.hold,
+                 self.obj.timestamp, self.event_flags)
+
+    property hold:
+        def __get__(self):
+            self._check_validity()
+            return self.obj.hold
+
+    property timestamp:
+        def __get__(self):
+            self._check_validity()
+            return self.obj.timestamp
+
+    property event_flags:
+        def __get__(self):
+            self._check_validity()
+            return <int>self.obj.event_flags
+
+        def __set__(self, flags):
+            self._check_validity()
+            self.obj.event_flags = flags



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to