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 --