kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=bb5307ea203689928216f20f798a4e2606b9ebc2

commit bb5307ea203689928216f20f798a4e2606b9ebc2
Author: Kai Huuhko <kai.huu...@gmail.com>
Date:   Wed Dec 4 13:12:48 2013 +0200

    Evas: Use _set_properties_from_keyword_args
---
 efl/evas/efl.evas_object.pxi           | 13 +++----------
 efl/evas/efl.evas_object_box.pxi       |  4 ++--
 efl/evas/efl.evas_object_grid.pxi      |  3 ++-
 efl/evas/efl.evas_object_image.pxi     | 11 +++++------
 efl/evas/efl.evas_object_line.pxi      | 18 ++++++++++++------
 efl/evas/efl.evas_object_polygon.pxi   |  7 ++-----
 efl/evas/efl.evas_object_rectangle.pxi |  4 ++--
 efl/evas/efl.evas_object_smart.pxi     |  5 +++--
 efl/evas/efl.evas_object_table.pxi     |  3 ++-
 efl/evas/efl.evas_object_text.pxi      | 18 +++++-------------
 efl/evas/efl.evas_object_textblock.pxi | 12 ++----------
 efl/evas/efl.evas_object_textgrid.pxi  |  3 ++-
 include/efl.evas.pxd                   |  2 +-
 13 files changed, 43 insertions(+), 60 deletions(-)

diff --git a/efl/evas/efl.evas_object.pxi b/efl/evas/efl.evas_object.pxi
index 68fb02a..476034b 100644
--- a/efl/evas/efl.evas_object.pxi
+++ b/efl/evas/efl.evas_object.pxi
@@ -200,18 +200,11 @@ cdef class Object(Eo):
 
         return 1
 
-    def _set_common_params(self, size=None, pos=None, geometry=None,
-                           color=None, name=None):
-        if size is not None:
-            self.size_set(*size)
-        if pos is not None:
-            self.pos_set(*pos)
-        if geometry is not None:
-            self.geometry_set(*geometry)
+    cdef int _set_properties_from_keyword_args(self, dict kwargs) except 0:
+        color = kwargs.pop("color", None)
         if color is not None:
             self.color_set(*color_parse(color))
-        if name is not None:
-            self.name_set(name)
+        return Eo._set_properties_from_keyword_args(self, kwargs)
 
     def delete(self):
         """delete()
diff --git a/efl/evas/efl.evas_object_box.pxi b/efl/evas/efl.evas_object_box.pxi
index dbf84e9..bdbb78e 100644
--- a/efl/evas/efl.evas_object_box.pxi
+++ b/efl/evas/efl.evas_object_box.pxi
@@ -42,9 +42,9 @@ cdef class Box(Object):
     :type name: string
 
     """
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_box_add(canvas.obj))
-        self._set_common_params(**kargs)
+        self._set_properties_from_keyword_args(kwargs)
 
     property align:
         """Alignment of the whole bounding box of contents
diff --git a/efl/evas/efl.evas_object_grid.pxi 
b/efl/evas/efl.evas_object_grid.pxi
index d597609..ece9e20 100644
--- a/efl/evas/efl.evas_object_grid.pxi
+++ b/efl/evas/efl.evas_object_grid.pxi
@@ -18,8 +18,9 @@
 
 cdef class Grid(Object):
 
-    def __init__(self, Canvas canvas not None):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_grid_add(canvas.obj))
+        self._set_properties_from_keyword_args(kwargs)
 
     @classmethod
     def add_to(cls, Object parent):
diff --git a/efl/evas/efl.evas_object_image.pxi 
b/efl/evas/efl.evas_object_image.pxi
index 0a7a90c..55f6199 100644
--- a/efl/evas/efl.evas_object_image.pxi
+++ b/efl/evas/efl.evas_object_image.pxi
@@ -140,16 +140,15 @@ cdef class Image(Object):
     :type file: string
 
     """
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, file=None, **kwargs):
         self._set_obj(evas_object_image_add(canvas.obj))
-        self._set_common_params(**kargs)
 
-    def _set_common_params(self, file=None, **kargs):
-        if file:
-            if isinstance(file, str):
+        if file is not None:
+            if not isinstance(file, (list, tuple)):
                 file = (file, None)
             self.file_set(*file)
-        Object._set_common_params(self, **kargs)
+
+        self._set_properties_from_keyword_args(kwargs)
 
     # TODO:
     # def memfile_set(self, data, size=None, format=None, key=None):
diff --git a/efl/evas/efl.evas_object_line.pxi 
b/efl/evas/efl.evas_object_line.pxi
index f834aca..8be1df3 100644
--- a/efl/evas/efl.evas_object_line.pxi
+++ b/efl/evas/efl.evas_object_line.pxi
@@ -39,12 +39,11 @@ cdef class Line(Object):
     :type end: tuple of ints
 
     """
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, start=None, end=None,
+        geometry=None, size=None, pos=None, **kwargs):
+
         self._set_obj(evas_object_line_add(canvas.obj))
-        self._set_common_params(**kargs)
 
-    def _set_common_params(self, start=None, end=None, geometry=None,
-                           size=None, pos=None, **kargs):
         if start and end:
             x1 = start[0]
             y1 = start[1]
@@ -77,8 +76,15 @@ cdef class Line(Object):
             self.start_set(*start)
         elif end:
             self.end_set(*end)
-        Object._set_common_params(self, geometry=geometry, size=size,
-                                  pos=pos, **kargs)
+
+        if geometry is not None:
+            kwargs["geometry"] = geometry
+        if size is not None:
+            kwargs["size"] = size
+        if pos is not None:
+            kwargs["pos"] = pos
+
+        self._set_properties_from_keyword_args(kwargs)
 
     property xy:
         """Two points of the line.
diff --git a/efl/evas/efl.evas_object_polygon.pxi 
b/efl/evas/efl.evas_object_polygon.pxi
index b657255..c4e5053 100644
--- a/efl/evas/efl.evas_object_polygon.pxi
+++ b/efl/evas/efl.evas_object_polygon.pxi
@@ -37,12 +37,9 @@ cdef class Polygon(Object):
     :type points: tuple of x, y int pairs
 
     """
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, points=None, **kwargs):
         self._set_obj(evas_object_polygon_add(canvas.obj))
-        self._set_common_params(**kargs)
-
-    def _set_common_params(self, points=None, **kargs):
-        Object._set_common_params(self, **kargs)
+        self._set_properties_from_keyword_args(kwargs)
         if points:
             for x, y in points:
                 self.point_add(x, y)
diff --git a/efl/evas/efl.evas_object_rectangle.pxi 
b/efl/evas/efl.evas_object_rectangle.pxi
index cb11162..c5cb1de 100644
--- a/efl/evas/efl.evas_object_rectangle.pxi
+++ b/efl/evas/efl.evas_object_rectangle.pxi
@@ -135,9 +135,9 @@ cdef class Rectangle(Object):
     :type name: string
 
     """
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_rectangle_add(canvas.obj))
-        self._set_common_params(**kargs)
+        self._set_properties_from_keyword_args(kwargs)
 
 
 _object_mapping_register("Evas_Rectangle", Rectangle)
diff --git a/efl/evas/efl.evas_object_smart.pxi 
b/efl/evas/efl.evas_object_smart.pxi
index 80f68fb..ef2b600 100644
--- a/efl/evas/efl.evas_object_smart.pxi
+++ b/efl/evas/efl.evas_object_smart.pxi
@@ -395,7 +395,7 @@ cdef class SmartObject(Object):
     def __dealloc__(self):
         self._smart_callbacks = None
 
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, **kwargs):
         cdef long addr
         if type(self) is SmartObject:
             raise TypeError("Must not instantiate SmartObject, but subclasses")
@@ -403,7 +403,8 @@ cdef class SmartObject(Object):
             addr = self.__evas_smart_class__
 #             self._add_obj(evas_object_smart_class_get(), self.evas.obj)
             self._set_obj(evas_object_smart_add(canvas.obj, <Evas_Smart*>addr))
-        self._set_common_params(**kargs)
+
+        self._set_properties_from_keyword_args(kwargs)
 
     def member_add(self, Object child):
         """member_add(Object child)
diff --git a/efl/evas/efl.evas_object_table.pxi 
b/efl/evas/efl.evas_object_table.pxi
index 7d4a404..4c270ff 100644
--- a/efl/evas/efl.evas_object_table.pxi
+++ b/efl/evas/efl.evas_object_table.pxi
@@ -34,8 +34,9 @@ from efl.utils.conversions cimport 
eina_list_objects_to_python_list
 
 cdef class Table(Object):
 
-    def __init__(self, Canvas canvas not None):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_table_add(canvas.obj))
+        self._set_properties_from_keyword_args(kwargs)
 
     @classmethod
     def add_to(cls, Object parent):
diff --git a/efl/evas/efl.evas_object_text.pxi 
b/efl/evas/efl.evas_object_text.pxi
index f3acc54..c9b2722 100644
--- a/efl/evas/efl.evas_object_text.pxi
+++ b/efl/evas/efl.evas_object_text.pxi
@@ -53,24 +53,16 @@ cdef class Text(Object):
 
     """
 
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, font=None, shadow_color=None,
+        glow_color=None, glow2_color=None, outline_color=None, **kwargs):
+
         self._set_obj(evas_object_text_add(canvas.obj))
-        self._set_common_params(**kargs)
-
-    def _set_common_params(self, text=None, font=None, font_source=None,
-                           style=None, shadow_color=None, glow_color=None,
-                           glow2_color=None, outline_color=None, **kargs):
-        Object._set_common_params(self, **kargs)
-        if text is not None:
-            self.text_set(text)
-        if font_source:
-            self.font_source_set(font_source)
+        self._set_properties_from_keyword_args(kwargs)
+
         if font:
             if not isinstance(font, (tuple, list)):
                 font = (font,)
             self.font_set(*font)
-        if style is not None:
-            self.style_set(style)
         if shadow_color is not None:
             self.shadow_color_set(*color_parse(shadow_color))
         if glow_color is not None:
diff --git a/efl/evas/efl.evas_object_textblock.pxi 
b/efl/evas/efl.evas_object_textblock.pxi
index 3d933f9..8c53c4c 100644
--- a/efl/evas/efl.evas_object_textblock.pxi
+++ b/efl/evas/efl.evas_object_textblock.pxi
@@ -39,17 +39,9 @@ cdef class Textblock(Object):
 
     """
 
-    def __init__(self, Canvas canvas not None, **kargs):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_textblock_add(canvas.obj))
-        self._set_common_params(**kargs)
-
-    def _set_common_params(self, text_markup=None, style=None, **kargs):
-        Object._set_common_params(self, **kargs)
-
-        if style is not None:
-            self.style_set(style)
-        if text_markup is not None:
-            self.text_markup_set(text_markup)
+        self._set_properties_from_keyword_args(kwargs)
 
     property style:
         """Style
diff --git a/efl/evas/efl.evas_object_textgrid.pxi 
b/efl/evas/efl.evas_object_textgrid.pxi
index 6bf0805..2b744b3 100644
--- a/efl/evas/efl.evas_object_textgrid.pxi
+++ b/efl/evas/efl.evas_object_textgrid.pxi
@@ -212,8 +212,9 @@ cdef class TextgridCell(object):
 
 cdef class Textgrid(Object):
 
-    def __init__(self, Canvas canvas not None):
+    def __init__(self, Canvas canvas not None, **kwargs):
         self._set_obj(evas_object_textgrid_add(canvas.obj))
+        self._set_properties_from_keyword_args(kwargs)
 
     property size:
         """The size of the textgrid object.
diff --git a/include/efl.evas.pxd b/include/efl.evas.pxd
index 9e35991..92e572a 100644
--- a/include/efl.evas.pxd
+++ b/include/efl.evas.pxd
@@ -882,7 +882,7 @@ cdef class Map(object):
 
 cdef class Object(Eo):
     cdef list _event_callbacks
-
+    cdef int _set_properties_from_keyword_args(self, dict) except 0
 
 cdef class Rectangle(Object):
     pass

-- 


Reply via email to