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

Reply via email to