Enlightenment CVS committal Author : barbieri Project : e17 Module : proto
Dir : e17/proto/python-efl/python-evas/evas Modified Files: __init__.py evas.c_evas_object.pxi evas.c_evas_object_image.pxi evas.c_evas_object_line.pxi Log Message: Refactor common code into base class. =================================================================== RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/__init__.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- __init__.py 5 May 2007 02:33:18 -0000 1.2 +++ __init__.py 5 May 2007 05:51:47 -0000 1.3 @@ -74,16 +74,8 @@ raise TypeError("Must not instantiate SmartObject, but subclasses") obj = c_evas.SmartObject.__new__(type, canvas) obj._new_obj() - if size: - obj.size_set(*size) - if pos: - obj.pos_set(*pos) - if geometry: - obj.geometry_set(*geometry) - if color: - obj.color_set(*c_evas.color_parse(color)) - if name: - obj.name_set(name) + obj._set_common_params(size=size, pos=pos, geometry=geometry, + color=color, name=name) return obj @@ -92,16 +84,8 @@ name=None): obj = c_evas.Rectangle.__new__(type, canvas) obj._new_obj() - if size: - obj.size_set(*size) - if pos: - obj.pos_set(*pos) - if geometry: - obj.geometry_set(*geometry) - if color: - obj.color_set(*c_evas.color_parse(color)) - if name: - obj.name_set(name) + obj._set_common_params(size=size, pos=pos, geometry=geometry, + color=color, name=name) return obj @@ -110,50 +94,8 @@ geometry=None, color=None, name=None): obj = c_evas.Line.__new__(type, canvas) obj._new_obj() - - if start and end: - x1 = start[0] - y1 = start[1] - x2 = end[0] - y2 = end[1] - - w = x2 - x1 - h = y2 - y1 - if w < 0: - w = -w - x = x2 - else: - x = x1 - - if h < 0: - h = -h - y = y2 - else: - y = y1 - - obj.xy_set(x1, y1, x2, y2) - - if not geometry: - if not size: - obj.size_set(w, h) - if not pos: - obj.pos_set(x, y) - - elif start: - obj.start_set(*start) - elif end: - obj.end_set(*end) - - if size: - obj.size_set(*size) - if pos: - obj.pos_set(*pos) - if geometry: - obj.geometry_set(*geometry) - if color: - obj.color_set(*c_evas.color_parse(color)) - if name: - obj.name_set(name) + obj._set_common_params(start=start, end=end, size=size, pos=pos, + geometry=geometry, color=color, name=name) return obj @@ -162,18 +104,6 @@ color=None, name=None): obj = c_evas.Image.__new__(type, canvas) obj._new_obj() - if size: - obj.size_set(*size) - if pos: - obj.pos_set(*pos) - if geometry: - obj.geometry_set(*geometry) - if color: - obj.color_set(*c_evas.color_parse(color)) - if name: - obj.name_set(name) - if file: - if isinstance(file, basestring): - file = (file, None) - obj.file_set(*file) + obj._set_common_params(file=file, size=size, pos=pos, + geometry=geometry, color=color, name=name) return obj =================================================================== RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object.pxi,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- evas.c_evas_object.pxi 5 May 2007 02:34:54 -0000 1.4 +++ evas.c_evas_object.pxi 5 May 2007 05:51:47 -0000 1.5 @@ -72,6 +72,19 @@ raise ValueError("Object already deleted") evas_object_del(self.obj) + def _set_common_params(self, size=None, pos=None, geometry=None, + color=None, name=None): + if size: + self.size_set(*size) + if pos: + self.pos_set(*pos) + if geometry: + self.geometry_set(*geometry) + if color: + self.color_set(*color_parse(color)) + if name: + self.name_set(name) + def evas_get(self): return self._evas =================================================================== RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_image.pxi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- evas.c_evas_object_image.pxi 3 May 2007 14:29:22 -0000 1.1 +++ evas.c_evas_object_image.pxi 5 May 2007 05:51:47 -0000 1.2 @@ -5,6 +5,15 @@ if self.obj == NULL: self._set_obj(evas_object_image_add(self._evas.obj)) + def _set_common_params(self, file=None, size=None, pos=None, geometry=None, + color=None, name=None): + if file: + if isinstance(file, basestring): + file = (file, None) + self.file_set(*file) + Object._set_common_params(self, size=size, pos=pos, geometry=geometry, + color=color, name=name) + def file_set(self, char *filename, key=None): cdef char *k if key: =================================================================== RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_line.pxi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- evas.c_evas_object_line.pxi 3 May 2007 14:29:22 -0000 1.1 +++ evas.c_evas_object_line.pxi 5 May 2007 05:51:47 -0000 1.2 @@ -5,6 +5,42 @@ if self.obj == NULL: self._set_obj(evas_object_line_add(self._evas.obj)) + def _set_common_params(self, start=None, end=None, size=None, pos=None, + geometry=None, color=None, name=None): + if start and end: + x1 = start[0] + y1 = start[1] + x2 = end[0] + y2 = end[1] + + w = x2 - x1 + h = y2 - y1 + if w < 0: + w = -w + x = x2 + else: + x = x1 + + if h < 0: + h = -h + y = y2 + else: + y = y1 + + self.xy_set(x1, y1, x2, y2) + + if not geometry: + if not size: + self.size_set(w, h) + if not pos: + self.pos_set(x, y) + + elif start: + self.start_set(*start) + elif end: + self.end_set(*end) + Object._set_common_params(self, size=size, pos=pos, geometry=geometry, + color=color, name=name) def xy_set(self, int x1, int y1, int x2, int y2): evas_object_line_xy_set(self.obj, x1, y1, x2, y2) ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs