Enlightenment CVS committal

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

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


Modified Files:
        evas.c_evas_object_events.pxi 


Log Message:
Event classes now keep a copy of values, so it can be stored and used out of 
the callback.

===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_events.pxi,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas.c_evas_object_events.pxi       28 Sep 2007 18:06:26 -0000      1.2
+++ evas.c_evas_object_events.pxi       7 Nov 2007 15:36:29 -0000       1.3
@@ -2,31 +2,24 @@
 
 cdef class EventPoint:
     cdef void _set_obj(self, Evas_Point *obj):
-        self.obj = obj
+        self.x = obj.x
+        self.y = obj.y
 
     def __str__(self):
-        return "%s(%d, %d)" % (self.__class__.__name__, self.obj.x, self.obj.y)
-
-    property x:
-        def __get__(self):
-            return self.obj.x
-
-    property y:
-        def __get__(self):
-            return self.obj.y
+        return "%s(%d, %d)" % (self.__class__.__name__, self.x, self.y)
 
     property xy:
         def __get__(self):
-            return (self.obj.x, self.obj.y)
+            return (self.x, self.y)
 
     def __len__(self):
         return 2
 
     def __getitem__(self, int index):
         if index == 0:
-            return self.obj.x
+            return self.x
         elif index == 1:
-            return self.obj.y
+            return self.y
         else:
             raise IndexError("list index out of range")
 
@@ -48,235 +41,180 @@
 
 cdef class EventMouseIn:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_In*>ptr
+        cdef Evas_Event_Mouse_In *obj
+        obj = <Evas_Event_Mouse_In*>ptr
+        self.buttons = obj.buttons
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.output, &self.obj.canvas)
+        self.position._set_objs(&obj.output, &obj.canvas)
 
     def __str__(self):
         return ("%s(buttons=%d, output=(%d, %d), canvas=(%d, %d), "
                 "timestamp=%d)") % \
-                (self.__class__.__name__, self.obj.buttons,
-                 self.obj.output.x, self.obj.output.y,
-                 self.obj.canvas.x, self.obj.canvas.y,
-                 self.obj.timestamp)
-
-    property buttons:
-        def __get__(self):
-            return self.obj.buttons
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                (self.__class__.__name__, self.buttons,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.timestamp)
 
 
 cdef class EventMouseOut:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_Out*>ptr
+        cdef Evas_Event_Mouse_Out *obj
+        obj = <Evas_Event_Mouse_Out*>ptr
+        self.buttons = obj.buttons
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.output, &self.obj.canvas)
+        self.position._set_objs(&obj.output, &obj.canvas)
 
     def __str__(self):
         return ("%s(buttons=%d, output=(%d, %d), canvas=(%d, %d), "
                 "timestamp=%d)") % \
-                (self.__class__.__name__, self.obj.buttons,
-                 self.obj.output.x, self.obj.output.y,
-                 self.obj.canvas.x, self.obj.canvas.y,
-                 self.obj.timestamp)
-
-    property buttons:
-        def __get__(self):
-            return self.obj.buttons
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                (self.__class__.__name__, self.buttons,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.timestamp)
 
 
 cdef class EventMouseDown:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_Down*>ptr
+        cdef Evas_Event_Mouse_Down *obj
+        obj = <Evas_Event_Mouse_Down*>ptr
+        self.button = obj.button
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.output, &self.obj.canvas)
+        self.position._set_objs(&obj.output, &obj.canvas)
 
     def __str__(self):
         return ("%s(button=%d, output=(%d, %d), canvas=(%d, %d), "
                 "timestamp=%d)") % \
-                (self.__class__.__name__, self.obj.button,
-                 self.obj.output.x, self.obj.output.y,
-                 self.obj.canvas.x, self.obj.canvas.y,
-                 self.obj.timestamp)
-
-    property button:
-        def __get__(self):
-            return self.obj.button
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                (self.__class__.__name__, self.button,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.timestamp)
 
 
 cdef class EventMouseUp:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_Up*>ptr
+        cdef Evas_Event_Mouse_Up *obj
+        obj = <Evas_Event_Mouse_Up*>ptr
+        self.button = obj.button
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.output, &self.obj.canvas)
+        self.position._set_objs(&obj.output, &obj.canvas)
 
     def __str__(self):
         return ("%s(button=%d, output=(%d, %d), canvas=(%d, %d), "
                 "timestamp=%d)") % \
-                (self.__class__.__name__, self.obj.button,
-                 self.obj.output.x, self.obj.output.y,
-                 self.obj.canvas.x, self.obj.canvas.y,
-                 self.obj.timestamp)
-
-    property button:
-        def __get__(self):
-            return self.obj.button
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                (self.__class__.__name__, self.button,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.timestamp)
 
 
 cdef class EventMouseMove:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_Move*>ptr
+        cdef Evas_Event_Mouse_Move *obj
+        obj = <Evas_Event_Mouse_Move*>ptr
+        self.buttons = obj.buttons
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.cur.output, &self.obj.cur.canvas)
+        self.position._set_objs(&obj.cur.output, &obj.cur.canvas)
         self.prev_position = EventPosition()
-        self.prev_position._set_objs(&self.obj.prev.output,
-                                     &self.obj.prev.canvas)
+        self.prev_position._set_objs(&obj.prev.output,
+                                     &obj.prev.canvas)
 
     def __str__(self):
         return ("%s(buttons=%d, output=(%d, %d), canvas=(%d, %d), "
                 "prev_output=(%d, %d), prev_canvas=(%d, %d), timestamp=%d)") %\
-                (self.__class__.__name__, self.obj.buttons,
-                 self.obj.cur.output.x, self.obj.cur.output.y,
-                 self.obj.cur.canvas.x, self.obj.cur.canvas.y,
-                 self.obj.prev.output.x, self.obj.prev.output.y,
-                 self.obj.prev.canvas.x, self.obj.prev.canvas.y,
-                 self.obj.timestamp)
-
-    property buttons:
-        def __get__(self):
-            return self.obj.buttons
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                (self.__class__.__name__, self.buttons,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.prev_position.output.x, self.prev_position.output.y,
+                 self.prev_position.canvas.x, self.prev_position.canvas.y,
+                 self.timestamp)
 
 
 cdef class EventMouseWheel:
     cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Mouse_Wheel*>ptr
+        cdef Evas_Event_Mouse_Wheel *obj
+        obj = <Evas_Event_Mouse_Wheel*>ptr
+        self.z = obj.z
+        self.direction = obj.direction
+        self.timestamp = obj.timestamp
         self.position = EventPosition()
-        self.position._set_objs(&self.obj.output, &self.obj.canvas)
+        self.position._set_objs(&obj.output, &obj.canvas)
 
     def __str__(self):
         return ("%s(direction=%d, z=%d, output=(%d, %d), "
                 "canvas=(%d, %d), timestamp=%d)") % \
-                (self.__class__.__name__, self.obj.direction, self.obj.z,
-                 self.obj.output.x, self.obj.output.y,
-                 self.obj.canvas.x, self.obj.canvas.y,
-                 self.obj.timestamp)
+                (self.__class__.__name__, self.direction, self.z,
+                 self.position.output.x, self.position.output.y,
+                 self.position.canvas.x, self.position.canvas.y,
+                 self.timestamp)
 
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
 
-    property direction:
-        def __get__(self):
-            return self.obj.direction
+cdef class EventKeyDown:
+    cdef void _set_obj(self, void *ptr):
+        cdef Evas_Event_Key_Down *obj
+        obj = <Evas_Event_Key_Down*>ptr
+        self.timestamp = obj.timestamp
+        if obj.keyname != NULL:
+            self.keyname = obj.keyname
+        else:
+            self.keyname = None
 
-    property z:
-        def __get__(self):
-            return self.obj.z
+        if obj.key != NULL:
+            self.key = obj.key
+        else:
+            self.key = None
 
+        if obj.string != NULL:
+            self.string = obj.string
+        else:
+            self.string = None
 
-cdef class EventKeyDown:
-    cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Key_Down*>ptr
+        if obj.compose != NULL:
+            self.compose = obj.compose
+        else:
+            self.compose = None
 
     def __str__(self):
         return ("%s(keyname=%r, key=%r, string=%r, compose=%r, "
                 "timestamp=%d)") % \
                 (self.__class__.__name__, self.keyname,
                  self.key, self.string, self.compose,
-                 self.obj.timestamp)
-
-    property keyname:
-        def __get__(self):
-            if self.obj.keyname == NULL:
-                return None
-            else:
-                return self.obj.keyname
+                 self.timestamp)
 
-    property key:
-        def __get__(self):
-            if self.obj.key == NULL:
-                return None
-            else:
-                return self.obj.key
 
-    property string:
-        def __get__(self):
-            if self.obj.string == NULL:
-                return None
-            else:
-                return self.obj.string
-
-    property compose:
-        def __get__(self):
-            if self.obj.compose == NULL:
-                return None
-            else:
-                return self.obj.compose
+cdef class EventKeyUp:
+    cdef void _set_obj(self, void *ptr):
+        cdef Evas_Event_Key_Up *obj
+        obj = <Evas_Event_Key_Up*>ptr
+        self.timestamp = obj.timestamp
+        if obj.keyname != NULL:
+            self.keyname = obj.keyname
+        else:
+            self.keyname = None
 
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+        if obj.key != NULL:
+            self.key = obj.key
+        else:
+            self.key = None
 
+        if obj.string != NULL:
+            self.string = obj.string
+        else:
+            self.string = None
 
-cdef class EventKeyUp:
-    cdef void _set_obj(self, void *ptr):
-        self.obj = <Evas_Event_Key_Up*>ptr
+        if obj.compose != NULL:
+            self.compose = obj.compose
+        else:
+            self.compose = None
 
     def __str__(self):
         return ("%s(keyname=%r, key=%r, string=%r, compose=%r, "
                 "timestamp=%d)") % \
                 (self.__class__.__name__, self.keyname,
                  self.key, self.string, self.compose,
-                 self.obj.timestamp)
-
-    property keyname:
-        def __get__(self):
-            if self.obj.keyname == NULL:
-                return None
-            else:
-                return self.obj.keyname
-
-    property key:
-        def __get__(self):
-            if self.obj.key == NULL:
-                return None
-            else:
-                return self.obj.key
-
-    property string:
-        def __get__(self):
-            if self.obj.string == NULL:
-                return None
-            else:
-                return self.obj.string
-
-    property compose:
-        def __get__(self):
-            if self.obj.compose == NULL:
-                return None
-            else:
-                return self.obj.compose
-
-    property timestamp:
-        def __get__(self):
-            return self.obj.timestamp
+                 self.timestamp)
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to