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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs