[Pkg-e-commits] [SCM] Python bindings for Evas branch, upstream-vcs, updated. a2d7e40fb9fbbe948f479174a461f735a2f530fb
cmarcelo
cmarcelo at alioth.debian.org
Sat May 24 16:31:54 UTC 2008
The following commit has been merged in the upstream-vcs branch:
commit ef40192c08565df2b313a3324d7904607d139be7
Author: cmarcelo <cmarcelo>
Date: Wed Mar 26 04:36:27 2008 +0000
Revert "Event classes now keep a copy of values, so it can be stored and used out of the callback."
diff --git a/evas/evas.c_evas_object_events.pxi b/evas/evas.c_evas_object_events.pxi
index dfecc49..017e234 100644
--- a/evas/evas.c_evas_object_events.pxi
+++ b/evas/evas.c_evas_object_events.pxi
@@ -2,24 +2,31 @@
cdef class EventPoint:
cdef void _set_obj(self, Evas_Point *obj):
- self.x = obj.x
- self.y = obj.y
+ self.obj = obj
def __str__(self):
- return "%s(%d, %d)" % (self.__class__.__name__, self.x, self.y)
+ 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
property xy:
def __get__(self):
- return (self.x, self.y)
+ return (self.obj.x, self.obj.y)
def __len__(self):
return 2
def __getitem__(self, int index):
if index == 0:
- return self.x
+ return self.obj.x
elif index == 1:
- return self.y
+ return self.obj.y
else:
raise IndexError("list index out of range")
@@ -41,180 +48,235 @@ cdef class EventPosition:
cdef class EventMouseIn:
cdef void _set_obj(self, void *ptr):
- cdef Evas_Event_Mouse_In *obj
- obj = <Evas_Event_Mouse_In*>ptr
- self.buttons = obj.buttons
- self.timestamp = obj.timestamp
+ self.obj = <Evas_Event_Mouse_In*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.output, &obj.canvas)
+ self.position._set_objs(&self.obj.output, &self.obj.canvas)
def __str__(self):
return ("%s(buttons=%d, output=(%d, %d), canvas=(%d, %d), "
"timestamp=%d)") % \
- (self.__class__.__name__, self.buttons,
- self.position.output.x, self.position.output.y,
- self.position.canvas.x, self.position.canvas.y,
- self.timestamp)
+ (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
cdef class EventMouseOut:
cdef void _set_obj(self, void *ptr):
- cdef Evas_Event_Mouse_Out *obj
- obj = <Evas_Event_Mouse_Out*>ptr
- self.buttons = obj.buttons
- self.timestamp = obj.timestamp
+ self.obj = <Evas_Event_Mouse_Out*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.output, &obj.canvas)
+ self.position._set_objs(&self.obj.output, &self.obj.canvas)
def __str__(self):
return ("%s(buttons=%d, output=(%d, %d), canvas=(%d, %d), "
"timestamp=%d)") % \
- (self.__class__.__name__, self.buttons,
- self.position.output.x, self.position.output.y,
- self.position.canvas.x, self.position.canvas.y,
- self.timestamp)
+ (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
cdef class EventMouseDown:
cdef void _set_obj(self, void *ptr):
- cdef Evas_Event_Mouse_Down *obj
- obj = <Evas_Event_Mouse_Down*>ptr
- self.button = obj.button
- self.timestamp = obj.timestamp
+ self.obj = <Evas_Event_Mouse_Down*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.output, &obj.canvas)
+ self.position._set_objs(&self.obj.output, &self.obj.canvas)
def __str__(self):
return ("%s(button=%d, output=(%d, %d), canvas=(%d, %d), "
"timestamp=%d)") % \
- (self.__class__.__name__, self.button,
- self.position.output.x, self.position.output.y,
- self.position.canvas.x, self.position.canvas.y,
- self.timestamp)
+ (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
cdef class EventMouseUp:
cdef void _set_obj(self, void *ptr):
- cdef Evas_Event_Mouse_Up *obj
- obj = <Evas_Event_Mouse_Up*>ptr
- self.button = obj.button
- self.timestamp = obj.timestamp
+ self.obj = <Evas_Event_Mouse_Up*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.output, &obj.canvas)
+ self.position._set_objs(&self.obj.output, &self.obj.canvas)
def __str__(self):
return ("%s(button=%d, output=(%d, %d), canvas=(%d, %d), "
"timestamp=%d)") % \
- (self.__class__.__name__, self.button,
- self.position.output.x, self.position.output.y,
- self.position.canvas.x, self.position.canvas.y,
- self.timestamp)
+ (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
cdef class EventMouseMove:
cdef void _set_obj(self, void *ptr):
- cdef Evas_Event_Mouse_Move *obj
- obj = <Evas_Event_Mouse_Move*>ptr
- self.buttons = obj.buttons
- self.timestamp = obj.timestamp
+ self.obj = <Evas_Event_Mouse_Move*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.cur.output, &obj.cur.canvas)
+ self.position._set_objs(&self.obj.cur.output, &self.obj.cur.canvas)
self.prev_position = EventPosition()
- self.prev_position._set_objs(&obj.prev.output,
- &obj.prev.canvas)
+ self.prev_position._set_objs(&self.obj.prev.output,
+ &self.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.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)
+ (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
cdef class EventMouseWheel:
cdef void _set_obj(self, void *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.obj = <Evas_Event_Mouse_Wheel*>ptr
self.position = EventPosition()
- self.position._set_objs(&obj.output, &obj.canvas)
+ self.position._set_objs(&self.obj.output, &self.obj.canvas)
def __str__(self):
return ("%s(direction=%d, z=%d, output=(%d, %d), "
"canvas=(%d, %d), timestamp=%d)") % \
- (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)
+ (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)
+ property timestamp:
+ def __get__(self):
+ return self.obj.timestamp
-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 direction:
+ def __get__(self):
+ return self.obj.direction
- if obj.key != NULL:
- self.key = obj.key
- else:
- self.key = None
+ property z:
+ def __get__(self):
+ return self.obj.z
- if obj.string != NULL:
- self.string = obj.string
- else:
- self.string = None
- if obj.compose != NULL:
- self.compose = obj.compose
- else:
- self.compose = None
+cdef class EventKeyDown:
+ cdef void _set_obj(self, void *ptr):
+ self.obj = <Evas_Event_Key_Down*>ptr
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.timestamp)
+ self.obj.timestamp)
+ property keyname:
+ def __get__(self):
+ if self.obj.keyname == NULL:
+ return None
+ else:
+ return self.obj.keyname
-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 key:
+ def __get__(self):
+ if self.obj.key == NULL:
+ return None
+ else:
+ return self.obj.key
- if obj.key != NULL:
- self.key = obj.key
- else:
- self.key = None
+ property string:
+ def __get__(self):
+ if self.obj.string == NULL:
+ return None
+ else:
+ return self.obj.string
- if obj.string != NULL:
- self.string = obj.string
- else:
- self.string = None
+ property compose:
+ def __get__(self):
+ if self.obj.compose == NULL:
+ return None
+ else:
+ return self.obj.compose
- if obj.compose != NULL:
- self.compose = obj.compose
- else:
- self.compose = None
+ property timestamp:
+ def __get__(self):
+ return self.obj.timestamp
+
+
+cdef class EventKeyUp:
+ cdef void _set_obj(self, void *ptr):
+ self.obj = <Evas_Event_Key_Up*>ptr
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.timestamp)
+ 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
diff --git a/include/evas/c_evas.pxd b/include/evas/c_evas.pxd
index 13efae5..5a3c08d 100644
--- a/include/evas/c_evas.pxd
+++ b/include/evas/c_evas.pxd
@@ -548,8 +548,7 @@ cdef public class Rect [object PyEvasRect, type PyEvasRect_Type]:
cdef class EventPoint:
- cdef readonly int x
- cdef readonly int y
+ cdef Evas_Point *obj
cdef void _set_obj(self, Evas_Point *obj)
@@ -562,71 +561,56 @@ cdef class EventPosition:
cdef class EventMouseIn:
+ cdef Evas_Event_Mouse_In *obj
cdef readonly EventPosition position
- cdef readonly int buttons
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventMouseOut:
+ cdef Evas_Event_Mouse_Out *obj
cdef readonly EventPosition position
- cdef readonly int buttons
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventMouseDown:
+ cdef Evas_Event_Mouse_Down *obj
cdef readonly EventPosition position
- cdef readonly int button
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventMouseUp:
+ cdef Evas_Event_Mouse_Up *obj
cdef readonly EventPosition position
- cdef readonly int button
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventMouseMove:
+ cdef Evas_Event_Mouse_Move *obj
cdef readonly EventPosition position
cdef readonly EventPosition prev_position
- cdef readonly int buttons
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventMouseWheel:
+ cdef Evas_Event_Mouse_Wheel *obj
cdef readonly EventPosition position
- cdef readonly int direction
- cdef readonly int z
- cdef readonly unsigned timestamp
cdef void _set_obj(self, void *ptr)
cdef class EventKeyDown:
- cdef readonly object keyname
- cdef readonly object key
- cdef readonly object string
- cdef readonly object compose
- cdef readonly unsigned timestamp
+ cdef Evas_Event_Key_Down *obj
cdef void _set_obj(self, void *ptr)
cdef class EventKeyUp:
- cdef readonly object keyname
- cdef readonly object key
- cdef readonly object string
- cdef readonly object compose
- cdef readonly unsigned timestamp
+ cdef Evas_Event_Key_Up *obj
cdef void _set_obj(self, void *ptr)
--
Python bindings for Evas
More information about the Pkg-e-commits
mailing list