summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Huuhko <kai.huuhko@gmail.com>2013-11-05 03:09:44 +0200
committerKai Huuhko <kai.huuhko@gmail.com>2013-11-05 03:18:36 +0200
commit41f0aeff67afa55d87dd341d8302e8e12669a1f1 (patch)
tree083d05bc376a8569c66d0041be0f0d568442c31d
parent1ff67d2545265bde72fe60c37df18f3e8ff84e28 (diff)
Reduce usage of cpdef.
It was intended to make things easier but created problems with inheritance and Evas SmartObject object customization.
Diffstat (limited to '')
-rw-r--r--efl/edje/efl.edje_object.pxi5
-rw-r--r--efl/elementary/background.pyx17
-rw-r--r--efl/elementary/colorselector.pyx11
-rw-r--r--efl/elementary/entry.pyx77
-rw-r--r--efl/elementary/fileselector.pyx21
-rw-r--r--efl/elementary/fileselector_button.pyx20
-rw-r--r--efl/elementary/fileselector_entry.pyx30
-rw-r--r--efl/elementary/gengrid.pyx42
-rw-r--r--efl/elementary/genlist_item.pxi43
-rw-r--r--efl/elementary/hoversel.pyx30
-rw-r--r--efl/elementary/icon.pyx19
-rw-r--r--efl/elementary/image.pxd3
-rw-r--r--efl/elementary/image.pyx15
-rw-r--r--efl/elementary/index.pyx22
-rw-r--r--efl/elementary/layout_class.pxd5
-rw-r--r--efl/elementary/layout_class.pyx37
-rw-r--r--efl/elementary/mapbuf.pyx12
-rw-r--r--efl/elementary/menu.pyx10
-rw-r--r--efl/elementary/multibuttonentry.pyx12
-rw-r--r--efl/elementary/naviframe.pyx10
-rw-r--r--efl/elementary/notify.pyx12
-rw-r--r--efl/elementary/object.pxd17
-rw-r--r--efl/elementary/object.pyx78
-rw-r--r--efl/elementary/object_item.pxd11
-rw-r--r--efl/elementary/object_item.pyx52
-rw-r--r--efl/elementary/photo.pyx15
-rw-r--r--efl/elementary/progressbar.pyx10
-rw-r--r--efl/elementary/slider.pyx20
-rw-r--r--efl/elementary/spinner.pyx10
-rw-r--r--efl/elementary/store.pyx83
-rw-r--r--efl/elementary/toolbar.pyx55
-rw-r--r--efl/elementary/transit.pyx24
-rw-r--r--efl/elementary/video.pyx7
-rw-r--r--efl/elementary/window.pyx69
-rw-r--r--efl/evas/efl.evas_object.pxi148
-rw-r--r--efl/evas/efl.evas_object_box.pxi26
-rw-r--r--efl/evas/efl.evas_object_grid.pxi32
-rw-r--r--efl/evas/efl.evas_object_image.pxi273
-rw-r--r--efl/evas/efl.evas_object_table.pxi51
-rw-r--r--include/efl.evas.pxd83
40 files changed, 839 insertions, 678 deletions
diff --git a/efl/edje/efl.edje_object.pxi b/efl/edje/efl.edje_object.pxi
index 953f750..05a7936 100644
--- a/efl/edje/efl.edje_object.pxi
+++ b/efl/edje/efl.edje_object.pxi
@@ -15,6 +15,7 @@
15# You should have received a copy of the GNU Lesser General Public License 15# You should have received a copy of the GNU Lesser General Public License
16# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>. 16# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
17 17
18from efl.evas cimport Object
18 19
19cdef void text_change_cb(void *data, 20cdef void text_change_cb(void *data,
20 Evas_Object *obj, 21 Evas_Object *obj,
@@ -368,9 +369,9 @@ cdef class Edje(Object):
368 def __get__(self): 369 def __get__(self):
369 return edje_object_scale_get(self.obj) 370 return edje_object_scale_get(self.obj)
370 371
371 cpdef scale_set(self, double scale): 372 def scale_set(self, double scale):
372 edje_object_scale_set(self.obj, scale) 373 edje_object_scale_set(self.obj, scale)
373 cpdef scale_get(self): 374 def scale_get(self):
374 return edje_object_scale_get(self.obj) 375 return edje_object_scale_get(self.obj)
375 376
376 property mirrored: 377 property mirrored:
diff --git a/efl/elementary/background.pyx b/efl/elementary/background.pyx
index bffe776..ca43033 100644
--- a/efl/elementary/background.pyx
+++ b/efl/elementary/background.pyx
@@ -109,7 +109,9 @@ cdef class Background(LayoutClass):
109 109
110 """ 110 """
111 def __get__(self): 111 def __get__(self):
112 return self.file_get() 112 cdef const_char *filename, *group
113 elm_bg_file_get(self.obj, &filename, &group)
114 return (_ctouni(filename), _ctouni(group))
113 115
114 def __set__(self, value): 116 def __set__(self, value):
115 cdef int ret 117 cdef int ret
@@ -118,16 +120,21 @@ cdef class Background(LayoutClass):
118 else: 120 else:
119 filename = value 121 filename = value
120 group = "" 122 group = ""
121 self.file_set(filename, group) 123 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
122 124 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
123 cpdef file_set(self, filename, group = None): 125 if not elm_bg_file_set(self.obj,
126 <const_char *>filename if filename is not None else NULL,
127 <const_char *>group if group is not None else NULL):
128 raise RuntimeError("Could not set background file.")
129
130 def file_set(self, filename, group = None):
124 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 131 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
125 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 132 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
126 if not elm_bg_file_set(self.obj, 133 if not elm_bg_file_set(self.obj,
127 <const_char *>filename if filename is not None else NULL, 134 <const_char *>filename if filename is not None else NULL,
128 <const_char *>group if group is not None else NULL): 135 <const_char *>group if group is not None else NULL):
129 raise RuntimeError("Could not set background file.") 136 raise RuntimeError("Could not set background file.")
130 cpdef file_get(self): 137 def file_get(self):
131 cdef const_char *filename, *group 138 cdef const_char *filename, *group
132 elm_bg_file_get(self.obj, &filename, &group) 139 elm_bg_file_get(self.obj, &filename, &group)
133 return (_ctouni(filename), _ctouni(group)) 140 return (_ctouni(filename), _ctouni(group))
diff --git a/efl/elementary/colorselector.pyx b/efl/elementary/colorselector.pyx
index 6bf4677..61573d9 100644
--- a/efl/elementary/colorselector.pyx
+++ b/efl/elementary/colorselector.pyx
@@ -201,16 +201,19 @@ cdef class Colorselector(LayoutClass):
201 201
202 """ 202 """
203 def __get__(self): 203 def __get__(self):
204 return self.palette_name_get() 204 return _ctouni(elm_colorselector_palette_name_get(self.obj))
205 def __set__(self, palette_name): 205 def __set__(self, palette_name):
206 self.palette_name_set(palette_name) 206 s = palette_name
207 if isinstance(s, unicode): s = PyUnicode_AsUTF8String(s)
208 elm_colorselector_palette_name_set(self.obj,
209 <const_char *>s if s is not None else NULL)
207 210
208 cpdef palette_name_set(self, palette_name): 211 def palette_name_set(self, palette_name):
209 s = palette_name 212 s = palette_name
210 if isinstance(s, unicode): s = PyUnicode_AsUTF8String(s) 213 if isinstance(s, unicode): s = PyUnicode_AsUTF8String(s)
211 elm_colorselector_palette_name_set(self.obj, 214 elm_colorselector_palette_name_set(self.obj,
212 <const_char *>s if s is not None else NULL) 215 <const_char *>s if s is not None else NULL)
213 cpdef palette_name_get(self): 216 def palette_name_get(self):
214 return _ctouni(elm_colorselector_palette_name_get(self.obj)) 217 return _ctouni(elm_colorselector_palette_name_get(self.obj))
215 218
216 def callback_changed_add(self, func, *args, **kwargs): 219 def callback_changed_add(self, func, *args, **kwargs):
diff --git a/efl/elementary/entry.pyx b/efl/elementary/entry.pyx
index 001823b..00bd2d3 100644
--- a/efl/elementary/entry.pyx
+++ b/efl/elementary/entry.pyx
@@ -872,16 +872,18 @@ cdef class Entry(Object):
872 872
873 """ 873 """
874 def __get__(self): 874 def __get__(self):
875 return self.entry_get() 875 return _ctouni(elm_entry_entry_get(self.obj))
876 876
877 def __set__(self, entry): 877 def __set__(self, entry):
878 self.entry_set(entry) 878 if isinstance(entry, unicode): entry = PyUnicode_AsUTF8String(entry)
879 elm_entry_entry_set(self.obj,
880 <const_char *>entry if entry is not None else NULL)
879 881
880 cpdef entry_set(self, entry): 882 def entry_set(self, entry):
881 if isinstance(entry, unicode): entry = PyUnicode_AsUTF8String(entry) 883 if isinstance(entry, unicode): entry = PyUnicode_AsUTF8String(entry)
882 elm_entry_entry_set(self.obj, 884 elm_entry_entry_set(self.obj,
883 <const_char *>entry if entry is not None else NULL) 885 <const_char *>entry if entry is not None else NULL)
884 cpdef entry_get(self): 886 def entry_get(self):
885 return _ctouni(elm_entry_entry_get(self.obj)) 887 return _ctouni(elm_entry_entry_get(self.obj))
886 888
887 def entry_append(self, text): 889 def entry_append(self, text):
@@ -1435,13 +1437,22 @@ cdef class Entry(Object):
1435 1437
1436 """ 1438 """
1437 def __get__(self): 1439 def __get__(self):
1438 return self.file_get() 1440 cdef const_char *file
1441 cdef Elm_Text_Format format
1442 elm_entry_file_get(self.obj, &file, &format)
1443 return (_ctouni(file), format)
1439 1444
1440 def __set__(self, value): 1445 def __set__(self, value):
1441 file, format = value 1446 file_name, file_format = value
1442 self.file_set(file, format) 1447 a1 = file_name
1443 1448 a2 = file_format
1444 cpdef file_set(self, file_name, file_format): 1449 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1)
1450 if not elm_entry_file_set(self.obj,
1451 <const_char *>a1 if a1 is not None else NULL,
1452 a2 if a2 is not None else enums.ELM_TEXT_FORMAT_PLAIN_UTF8):
1453 raise RuntimeError("Could not set file")
1454
1455 def file_set(self, file_name, file_format):
1445 a1 = file_name 1456 a1 = file_name
1446 a2 = file_format 1457 a2 = file_format
1447 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1) 1458 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1)
@@ -1449,7 +1460,7 @@ cdef class Entry(Object):
1449 <const_char *>a1 if a1 is not None else NULL, 1460 <const_char *>a1 if a1 is not None else NULL,
1450 a2 if a2 is not None else enums.ELM_TEXT_FORMAT_PLAIN_UTF8): 1461 a2 if a2 is not None else enums.ELM_TEXT_FORMAT_PLAIN_UTF8):
1451 raise RuntimeError("Could not set file") 1462 raise RuntimeError("Could not set file")
1452 cpdef file_get(self): 1463 def file_get(self):
1453 cdef const_char *file 1464 cdef const_char *file
1454 cdef Elm_Text_Format format 1465 cdef Elm_Text_Format format
1455 elm_entry_file_get(self.obj, &file, &format) 1466 elm_entry_file_get(self.obj, &file, &format)
@@ -1507,10 +1518,10 @@ cdef class Entry(Object):
1507 :type: bool 1518 :type: bool
1508 1519
1509 """ 1520 """
1510 def __set__(self, value): 1521 def __set__(self, bint visible):
1511 self.icon_visible_set(value) 1522 elm_entry_icon_visible_set(self.obj, visible)
1512 1523
1513 cpdef icon_visible_set(self, visible): 1524 def icon_visible_set(self, bint visible):
1514 elm_entry_icon_visible_set(self.obj, visible) 1525 elm_entry_icon_visible_set(self.obj, visible)
1515 1526
1516 property end_visible: 1527 property end_visible:
@@ -1520,10 +1531,10 @@ cdef class Entry(Object):
1520 :type: bool 1531 :type: bool
1521 1532
1522 """ 1533 """
1523 def __set__(self, value): 1534 def __set__(self, bint setting):
1524 self.end_visible_set(value) 1535 elm_entry_end_visible_set(self.obj, setting)
1525 1536
1526 cpdef end_visible_set(self, setting): 1537 def end_visible_set(self, bint setting):
1527 elm_entry_end_visible_set(self.obj, setting) 1538 elm_entry_end_visible_set(self.obj, setting)
1528 1539
1529 property input_panel_layout: 1540 property input_panel_layout:
@@ -1551,16 +1562,16 @@ cdef class Entry(Object):
1551 :since: 1.8 1562 :since: 1.8
1552 1563
1553 """ 1564 """
1554 def __set__(self, value): 1565 def __set__(self, int variation):
1555 self.input_panel_layout_variation_set(value) 1566 elm_entry_input_panel_layout_variation_set(self.obj, variation)
1556 1567
1557 def __get__(self): 1568 def __get__(self):
1558 return self.input_panel_layout_variation_get() 1569 return elm_entry_input_panel_layout_variation_get(self.obj)
1559 1570
1560 cpdef input_panel_layout_variation_set(self, int variation): 1571 def input_panel_layout_variation_set(self, int variation):
1561 elm_entry_input_panel_layout_variation_set(self.obj, variation) 1572 elm_entry_input_panel_layout_variation_set(self.obj, variation)
1562 1573
1563 cpdef input_panel_layout_variation_get(self): 1574 def input_panel_layout_variation_get(self):
1564 return elm_entry_input_panel_layout_variation_get(self.obj) 1575 return elm_entry_input_panel_layout_variation_get(self.obj)
1565 1576
1566 property autocapital_type: 1577 property autocapital_type:
@@ -1569,16 +1580,16 @@ cdef class Entry(Object):
1569 :type: :ref:`Elm_Autocapital_Type` 1580 :type: :ref:`Elm_Autocapital_Type`
1570 1581
1571 """ 1582 """
1572 def __set__(self, value): 1583 def __set__(self, Elm_Autocapital_Type autocapital_type):
1573 self.autocapital_type_set(value) 1584 elm_entry_autocapital_type_set(self.obj, autocapital_type)
1574 1585
1575 def __get__(self): 1586 def __get__(self):
1576 return self.autocapital_type_get() 1587 return elm_entry_autocapital_type_get(self.obj)
1577 1588
1578 cpdef autocapital_type_set(self, Elm_Autocapital_Type autocapital_type): 1589 def autocapital_type_set(self, Elm_Autocapital_Type autocapital_type):
1579 elm_entry_autocapital_type_set(self.obj, autocapital_type) 1590 elm_entry_autocapital_type_set(self.obj, autocapital_type)
1580 1591
1581 cpdef autocapital_type_get(self): 1592 def autocapital_type_get(self):
1582 return elm_entry_autocapital_type_get(self.obj) 1593 return elm_entry_autocapital_type_get(self.obj)
1583 1594
1584 property input_panel_enabled: 1595 property input_panel_enabled:
@@ -1816,9 +1827,9 @@ cdef class Entry(Object):
1816 1827
1817 # """ 1828 # """
1818 # def __get__(self): 1829 # def __get__(self):
1819 # return self.imf_context_get() 1830 # void *elm_entry_imf_context_get(self.obj)
1820 1831
1821 # cpdef imf_context_get(self): 1832 # def imf_context_get(self):
1822 # void *elm_entry_imf_context_get(self.obj) 1833 # void *elm_entry_imf_context_get(self.obj)
1823 1834
1824 property cnp_mode: 1835 property cnp_mode:
@@ -1884,16 +1895,18 @@ cdef class Entry(Object):
1884 1895
1885 """ 1896 """
1886 def __get__(self): 1897 def __get__(self):
1887 return self.anchor_hover_style_get() 1898 return _ctouni(elm_entry_anchor_hover_style_get(self.obj))
1888 1899
1889 def __set__(self, style): 1900 def __set__(self, style):
1890 self.anchor_hover_style_set(style) 1901 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1902 elm_entry_anchor_hover_style_set(self.obj,
1903 <const_char *>style if style is not None else NULL)
1891 1904
1892 cpdef anchor_hover_style_set(self, style): 1905 def anchor_hover_style_set(self, style):
1893 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 1906 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1894 elm_entry_anchor_hover_style_set(self.obj, 1907 elm_entry_anchor_hover_style_set(self.obj,
1895 <const_char *>style if style is not None else NULL) 1908 <const_char *>style if style is not None else NULL)
1896 cpdef anchor_hover_style_get(self): 1909 def anchor_hover_style_get(self):
1897 return _ctouni(elm_entry_anchor_hover_style_get(self.obj)) 1910 return _ctouni(elm_entry_anchor_hover_style_get(self.obj))
1898 1911
1899 def anchor_hover_end(self): 1912 def anchor_hover_end(self):
diff --git a/efl/elementary/fileselector.pyx b/efl/elementary/fileselector.pyx
index d6c6905..9ee6a45 100644
--- a/efl/elementary/fileselector.pyx
+++ b/efl/elementary/fileselector.pyx
@@ -200,16 +200,18 @@ cdef class Fileselector(LayoutClass):
200 200
201 """ 201 """
202 def __get__(self): 202 def __get__(self):
203 return self.path_get() 203 return _ctouni(elm_fileselector_path_get(self.obj))
204 204
205 def __set__(self, path): 205 def __set__(self, path):
206 self.path_set(path) 206 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
207 elm_fileselector_path_set(self.obj,
208 <const_char *>path if path is not None else NULL)
207 209
208 cpdef path_set(self, path): 210 def path_set(self, path):
209 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path) 211 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
210 elm_fileselector_path_set(self.obj, 212 elm_fileselector_path_set(self.obj,
211 <const_char *>path if path is not None else NULL) 213 <const_char *>path if path is not None else NULL)
212 cpdef path_get(self): 214 def path_get(self):
213 return _ctouni(elm_fileselector_path_get(self.obj)) 215 return _ctouni(elm_fileselector_path_get(self.obj))
214 216
215 property selected: 217 property selected:
@@ -221,17 +223,20 @@ cdef class Fileselector(LayoutClass):
221 223
222 """ 224 """
223 def __get__(self): 225 def __get__(self):
224 return self.selected_get() 226 return _ctouni(elm_fileselector_selected_get(self.obj))
225 227
226 def __set__(self, path): 228 def __set__(self, path):
227 self.selected_set(path) 229 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
230 if not elm_fileselector_selected_set(self.obj,
231 <const_char *>path if path is not None else NULL):
232 raise RuntimeError("Setting the selected path failed")
228 233
229 cpdef selected_set(self, path): 234 def selected_set(self, path):
230 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path) 235 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
231 if not elm_fileselector_selected_set(self.obj, 236 if not elm_fileselector_selected_set(self.obj,
232 <const_char *>path if path is not None else NULL): 237 <const_char *>path if path is not None else NULL):
233 raise RuntimeError("Setting the selected path failed") 238 raise RuntimeError("Setting the selected path failed")
234 cpdef selected_get(self): 239 def selected_get(self):
235 return _ctouni(elm_fileselector_selected_get(self.obj)) 240 return _ctouni(elm_fileselector_selected_get(self.obj))
236 241
237 property mode: 242 property mode:
diff --git a/efl/elementary/fileselector_button.pyx b/efl/elementary/fileselector_button.pyx
index 2e1067a..aaa2f11 100644
--- a/efl/elementary/fileselector_button.pyx
+++ b/efl/elementary/fileselector_button.pyx
@@ -112,16 +112,18 @@ cdef class FileselectorButton(Button):
112 112
113 """ 113 """
114 def __get__(self): 114 def __get__(self):
115 return self.window_title_get() 115 return _ctouni(elm_fileselector_button_window_title_get(self.obj))
116 116
117 def __set__(self, title): 117 def __set__(self, title):
118 self.window_title_set(title) 118 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
119 elm_fileselector_button_window_title_set(self.obj,
120 <const_char *>title if title is not None else NULL)
119 121
120 cpdef window_title_set(self, title): 122 def window_title_set(self, title):
121 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title) 123 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
122 elm_fileselector_button_window_title_set(self.obj, 124 elm_fileselector_button_window_title_set(self.obj,
123 <const_char *>title if title is not None else NULL) 125 <const_char *>title if title is not None else NULL)
124 cpdef window_title_get(self): 126 def window_title_get(self):
125 return _ctouni(elm_fileselector_button_window_title_get(self.obj)) 127 return _ctouni(elm_fileselector_button_window_title_get(self.obj))
126 128
127 property window_size: 129 property window_size:
@@ -164,16 +166,18 @@ cdef class FileselectorButton(Button):
164 166
165 """ 167 """
166 def __get__(self): 168 def __get__(self):
167 return self.path_get() 169 return _ctouni(elm_fileselector_button_path_get(self.obj))
168 170
169 def __set__(self, path): 171 def __set__(self, path):
170 self.path_set(path) 172 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
173 elm_fileselector_button_path_set(self.obj,
174 <const_char *>path if path is not None else NULL)
171 175
172 cpdef path_set(self, path): 176 def path_set(self, path):
173 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path) 177 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
174 elm_fileselector_button_path_set(self.obj, 178 elm_fileselector_button_path_set(self.obj,
175 <const_char *>path if path is not None else NULL) 179 <const_char *>path if path is not None else NULL)
176 cpdef path_get(self): 180 def path_get(self):
177 return _ctouni(elm_fileselector_button_path_get(self.obj)) 181 return _ctouni(elm_fileselector_button_path_get(self.obj))
178 182
179 property expandable: 183 property expandable:
diff --git a/efl/elementary/fileselector_entry.pyx b/efl/elementary/fileselector_entry.pyx
index 45f1a59..612ee3e 100644
--- a/efl/elementary/fileselector_entry.pyx
+++ b/efl/elementary/fileselector_entry.pyx
@@ -127,16 +127,18 @@ cdef class FileselectorEntry(Object):
127 127
128 """ 128 """
129 def __get__(self): 129 def __get__(self):
130 return self.window_title_get() 130 return _ctouni(elm_fileselector_entry_window_title_get(self.obj))
131 131
132 def __set__(self, title): 132 def __set__(self, title):
133 self.window_title_set(title) 133 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
134 elm_fileselector_entry_window_title_set(self.obj,
135 <const_char *>title if title is not None else NULL)
134 136
135 cpdef window_title_set(self, title): 137 def window_title_set(self, title):
136 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title) 138 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
137 elm_fileselector_entry_window_title_set(self.obj, 139 elm_fileselector_entry_window_title_set(self.obj,
138 <const_char *>title if title is not None else NULL) 140 <const_char *>title if title is not None else NULL)
139 cpdef window_title_get(self): 141 def window_title_get(self):
140 return _ctouni(elm_fileselector_entry_window_title_get(self.obj)) 142 return _ctouni(elm_fileselector_entry_window_title_get(self.obj))
141 143
142 property window_size: 144 property window_size:
@@ -179,16 +181,18 @@ cdef class FileselectorEntry(Object):
179 181
180 """ 182 """
181 def __get__(self): 183 def __get__(self):
182 return self.path_get() 184 return _ctouni(elm_fileselector_entry_path_get(self.obj))
183 185
184 def __set__(self, path): 186 def __set__(self, path):
185 self.path_set(path) 187 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
188 elm_fileselector_entry_path_set(self.obj,
189 <const_char *>path if path is not None else NULL)
186 190
187 cpdef path_set(self, path): 191 def path_set(self, path):
188 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path) 192 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
189 elm_fileselector_entry_path_set(self.obj, 193 elm_fileselector_entry_path_set(self.obj,
190 <const_char *>path if path is not None else NULL) 194 <const_char *>path if path is not None else NULL)
191 cpdef path_get(self): 195 def path_get(self):
192 return _ctouni(elm_fileselector_entry_path_get(self.obj)) 196 return _ctouni(elm_fileselector_entry_path_get(self.obj))
193 197
194 property expandable: 198 property expandable:
@@ -297,16 +301,18 @@ cdef class FileselectorEntry(Object):
297 301
298 """ 302 """
299 def __get__(self): 303 def __get__(self):
300 return self.selected_get() 304 return _ctouni(elm_fileselector_entry_selected_get(self.obj))
301 305
302 def __set__(self, path): 306 def __set__(self, path):
303 self.selected_set(path) 307 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
308 elm_fileselector_entry_selected_set(self.obj,
309 <const_char *>path if path is not None else NULL)
304 310
305 cpdef selected_set(self, path): 311 def selected_set(self, path):
306 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path) 312 if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
307 elm_fileselector_entry_selected_set(self.obj, 313 elm_fileselector_entry_selected_set(self.obj,
308 <const_char *>path if path is not None else NULL) 314 <const_char *>path if path is not None else NULL)
309 cpdef selected_get(self): 315 def selected_get(self):
310 return _ctouni(elm_fileselector_entry_selected_get(self.obj)) 316 return _ctouni(elm_fileselector_entry_selected_get(self.obj))
311 317
312 def callback_changed_add(self, func, *args, **kwargs): 318 def callback_changed_add(self, func, *args, **kwargs):
diff --git a/efl/elementary/gengrid.pyx b/efl/elementary/gengrid.pyx
index b8b0185..16fe207 100644
--- a/efl/elementary/gengrid.pyx
+++ b/efl/elementary/gengrid.pyx
@@ -915,10 +915,12 @@ cdef class GengridItem(ObjectItem):
915 Internally, this method calls :py:func:`tooltip_content_cb_set` 915 Internally, this method calls :py:func:`tooltip_content_cb_set`
916 916
917 """ 917 """
918 def __set__(self, value): 918 def __set__(self, text):
919 self.tooltip_text_set(value) 919 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
920 elm_gengrid_item_tooltip_text_set(self.item,
921 <const_char *>text if text is not None else NULL)
920 922
921 cpdef tooltip_text_set(self, text): 923 def tooltip_text_set(self, text):
922 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text) 924 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
923 elm_gengrid_item_tooltip_text_set(self.item, 925 elm_gengrid_item_tooltip_text_set(self.item,
924 <const_char *>text if text is not None else NULL) 926 <const_char *>text if text is not None else NULL)
@@ -973,16 +975,18 @@ cdef class GengridItem(ObjectItem):
973 975
974 """ 976 """
975 def __get__(self): 977 def __get__(self):
976 return self.tooltip_style_get() 978 return _ctouni(elm_gengrid_item_tooltip_style_get(self.item))
977 979
978 def __set__(self, style): 980 def __set__(self, style):
979 self.tooltip_style_set(style) 981 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
982 elm_gengrid_item_tooltip_style_set(self.item,
983 <const_char *>style if style is not None else NULL)
980 984
981 cpdef tooltip_style_set(self, style=None): 985 def tooltip_style_set(self, style=None):
982 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 986 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
983 elm_gengrid_item_tooltip_style_set(self.item, 987 elm_gengrid_item_tooltip_style_set(self.item,
984 <const_char *>style if style is not None else NULL) 988 <const_char *>style if style is not None else NULL)
985 cpdef tooltip_style_get(self): 989 def tooltip_style_get(self):
986 return _ctouni(elm_gengrid_item_tooltip_style_get(self.item)) 990 return _ctouni(elm_gengrid_item_tooltip_style_get(self.item))
987 991
988 property tooltip_window_mode: 992 property tooltip_window_mode:
@@ -1005,36 +1009,40 @@ cdef class GengridItem(ObjectItem):
1005 1009
1006 """ 1010 """
1007 def __get__(self): 1011 def __get__(self):
1008 return self.cursor_get() 1012 return _ctouni(elm_gengrid_item_cursor_get(self.item))
1009 1013
1010 def __set__(self, cursor): 1014 def __set__(self, cursor):
1011 self.cursor_set(cursor) 1015 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
1016 elm_gengrid_item_cursor_set(self.item,
1017 <const_char *>cursor if cursor is not None else NULL)
1012 1018
1013 def __del__(self): 1019 def __del__(self):
1014 self.cursor_unset() 1020 elm_gengrid_item_cursor_unset(self.item)
1015 1021
1016 cpdef cursor_set(self, cursor): 1022 def cursor_set(self, cursor):
1017 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor) 1023 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
1018 elm_gengrid_item_cursor_set(self.item, 1024 elm_gengrid_item_cursor_set(self.item,
1019 <const_char *>cursor if cursor is not None else NULL) 1025 <const_char *>cursor if cursor is not None else NULL)
1020 cpdef cursor_get(self): 1026 def cursor_get(self):
1021 return _ctouni(elm_gengrid_item_cursor_get(self.item)) 1027 return _ctouni(elm_gengrid_item_cursor_get(self.item))
1022 cpdef cursor_unset(self): 1028 def cursor_unset(self):
1023 elm_gengrid_item_cursor_unset(self.item) 1029 elm_gengrid_item_cursor_unset(self.item)
1024 1030
1025 property cursor_style: 1031 property cursor_style:
1026 # TODO: document this 1032 # TODO: document this
1027 def __get__(self): 1033 def __get__(self):
1028 return self.cursor_style_get() 1034 return _ctouni(elm_gengrid_item_cursor_style_get(self.item))
1029 1035
1030 def __set__(self, style): 1036 def __set__(self, style):
1031 self.cursor_style_set(style) 1037 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1038 elm_gengrid_item_cursor_style_set(self.item,
1039 <const_char *>style if style is not None else NULL)
1032 1040
1033 cpdef cursor_style_set(self, style=None): 1041 def cursor_style_set(self, style=None):
1034 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 1042 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1035 elm_gengrid_item_cursor_style_set(self.item, 1043 elm_gengrid_item_cursor_style_set(self.item,
1036 <const_char *>style if style is not None else NULL) 1044 <const_char *>style if style is not None else NULL)
1037 cpdef cursor_style_get(self): 1045 def cursor_style_get(self):
1038 return _ctouni(elm_gengrid_item_cursor_style_get(self.item)) 1046 return _ctouni(elm_gengrid_item_cursor_style_get(self.item))
1039 1047
1040 property cursor_engine_only: 1048 property cursor_engine_only:
diff --git a/efl/elementary/genlist_item.pxi b/efl/elementary/genlist_item.pxi
index 65fc259..040f1b8 100644
--- a/efl/elementary/genlist_item.pxi
+++ b/efl/elementary/genlist_item.pxi
@@ -464,16 +464,18 @@ cdef class GenlistItem(ObjectItem):
464 464
465 """ 465 """
466 def __set__(self, style): 466 def __set__(self, style):
467 self.tooltip_style_set(style) 467 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
468 elm_genlist_item_tooltip_style_set(self.item,
469 <const_char *>style if style is not None else NULL)
468 470
469 def __get__(self): 471 def __get__(self):
470 return self.tooltip_style_get() 472 return _ctouni(elm_genlist_item_tooltip_style_get(self.item))
471 473
472 cpdef tooltip_style_set(self, style=None): 474 def tooltip_style_set(self, style=None):
473 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 475 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
474 elm_genlist_item_tooltip_style_set(self.item, 476 elm_genlist_item_tooltip_style_set(self.item,
475 <const_char *>style if style is not None else NULL) 477 <const_char *>style if style is not None else NULL)
476 cpdef tooltip_style_get(self): 478 def tooltip_style_get(self):
477 return _ctouni(elm_genlist_item_tooltip_style_get(self.item)) 479 return _ctouni(elm_genlist_item_tooltip_style_get(self.item))
478 480
479 property tooltip_window_mode: 481 property tooltip_window_mode:
@@ -485,15 +487,16 @@ cdef class GenlistItem(ObjectItem):
485 487
486 """ 488 """
487 def __set__(self, disable): 489 def __set__(self, disable):
488 self.tooltip_window_mode_set(disable) 490 if not elm_genlist_item_tooltip_window_mode_set(self.item, disable):
491 raise RuntimeError("Setting tooltip_window_mode failed")
489 492
490 def __get__(self): 493 def __get__(self):
491 return self.tooltip_window_mode_get() 494 return bool(elm_genlist_item_tooltip_window_mode_get(self.item))
492 495
493 cpdef tooltip_window_mode_set(self, disable): 496 def tooltip_window_mode_set(self, disable):
494 if not elm_genlist_item_tooltip_window_mode_set(self.item, disable): 497 if not elm_genlist_item_tooltip_window_mode_set(self.item, disable):
495 raise RuntimeError("Setting tooltip_window_mode failed") 498 raise RuntimeError("Setting tooltip_window_mode failed")
496 cpdef tooltip_window_mode_get(self): 499 def tooltip_window_mode_get(self):
497 return bool(elm_genlist_item_tooltip_window_mode_get(self.item)) 500 return bool(elm_genlist_item_tooltip_window_mode_get(self.item))
498 501
499 property cursor: 502 property cursor:
@@ -506,21 +509,23 @@ cdef class GenlistItem(ObjectItem):
506 509
507 """ 510 """
508 def __set__(self, cursor): 511 def __set__(self, cursor):
509 self.cursor_set(cursor) 512 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
513 elm_genlist_item_cursor_set(self.item,
514 <const_char *>cursor if cursor is not None else NULL)
510 515
511 def __get__(self): 516 def __get__(self):
512 return self.cursor_get() 517 return _ctouni(elm_genlist_item_cursor_get(self.item))
513 518
514 def __del__(self): 519 def __del__(self):
515 self.cursor_unset() 520 elm_genlist_item_cursor_unset(self.item)
516 521
517 cpdef cursor_set(self, cursor): 522 def cursor_set(self, cursor):
518 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor) 523 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
519 elm_genlist_item_cursor_set(self.item, 524 elm_genlist_item_cursor_set(self.item,
520 <const_char *>cursor if cursor is not None else NULL) 525 <const_char *>cursor if cursor is not None else NULL)
521 cpdef cursor_get(self): 526 def cursor_get(self):
522 return _ctouni(elm_genlist_item_cursor_get(self.item)) 527 return _ctouni(elm_genlist_item_cursor_get(self.item))
523 cpdef cursor_unset(self): 528 def cursor_unset(self):
524 elm_genlist_item_cursor_unset(self.item) 529 elm_genlist_item_cursor_unset(self.item)
525 530
526 property cursor_style: 531 property cursor_style:
@@ -533,16 +538,18 @@ cdef class GenlistItem(ObjectItem):
533 538
534 """ 539 """
535 def __set__(self, style): 540 def __set__(self, style):
536 self.cursor_style_set(style) 541 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
542 elm_genlist_item_cursor_style_set(self.item,
543 <const_char *>style if style is not None else NULL)
537 544
538 def __get__(self): 545 def __get__(self):
539 return self.cursor_style_get() 546 return _ctouni(elm_genlist_item_cursor_style_get(self.item))
540 547
541 cpdef cursor_style_set(self, style=None): 548 def cursor_style_set(self, style=None):
542 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 549 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
543 elm_genlist_item_cursor_style_set(self.item, 550 elm_genlist_item_cursor_style_set(self.item,
544 <const_char *>style if style is not None else NULL) 551 <const_char *>style if style is not None else NULL)
545 cpdef cursor_style_get(self): 552 def cursor_style_get(self):
546 return _ctouni(elm_genlist_item_cursor_style_get(self.item)) 553 return _ctouni(elm_genlist_item_cursor_style_get(self.item))
547 554
548 property cursor_engine_only: 555 property cursor_engine_only:
diff --git a/efl/elementary/hoversel.pyx b/efl/elementary/hoversel.pyx
index 2a47b2f..fe9c206 100644
--- a/efl/elementary/hoversel.pyx
+++ b/efl/elementary/hoversel.pyx
@@ -171,12 +171,32 @@ cdef class HoverselItem(ObjectItem):
171 """ 171 """
172 def __set__(self, value): 172 def __set__(self, value):
173 icon_file, icon_group, icon_type = value 173 icon_file, icon_group, icon_type = value
174 self.icon_set(icon_file, icon_group, icon_type) 174 a1, a2, a3 = icon_file, icon_group, icon_type
175 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1)
176 if isinstance(a2, unicode): a2 = PyUnicode_AsUTF8String(a2)
177 if self.item == NULL:
178 self.icon_file = a1
179 self.icon_group = a2
180 self.icon_type = a3
181 else:
182 elm_hoversel_item_icon_set(self.item,
183 <const_char *>a1 if a1 is not None else NULL,
184 <const_char *>a2 if a2 is not None else NULL,
185 a3)
175 186
176 def __get__(self): 187 def __get__(self):
177 return self.icon_get() 188 cdef const_char *icon_file, *icon_group
178 189 cdef Elm_Icon_Type icon_type
179 cpdef icon_set(self, icon_file, icon_group, icon_type): 190 if self.item == NULL:
191 a1 = self.icon_file.decode("UTF-8")
192 a2 = self.icon_group.decode("UTF-8")
193 a3 = self.icon_type
194 return (a1, a2, a3)
195 else:
196 elm_hoversel_item_icon_get(self.item, &icon_file, &icon_group, &icon_type)
197 return (_ctouni(icon_file), _ctouni(icon_group), icon_type)
198
199 def icon_set(self, icon_file, icon_group, icon_type):
180 a1, a2, a3 = icon_file, icon_group, icon_type 200 a1, a2, a3 = icon_file, icon_group, icon_type
181 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1) 201 if isinstance(a1, unicode): a1 = PyUnicode_AsUTF8String(a1)
182 if isinstance(a2, unicode): a2 = PyUnicode_AsUTF8String(a2) 202 if isinstance(a2, unicode): a2 = PyUnicode_AsUTF8String(a2)
@@ -189,7 +209,7 @@ cdef class HoverselItem(ObjectItem):
189 <const_char *>a1 if a1 is not None else NULL, 209 <const_char *>a1 if a1 is not None else NULL,
190 <const_char *>a2 if a2 is not None else NULL, 210 <const_char *>a2 if a2 is not None else NULL,
191 a3) 211 a3)
192 cpdef icon_get(self): 212 def icon_get(self):
193 cdef const_char *icon_file, *icon_group 213 cdef const_char *icon_file, *icon_group
194 cdef Elm_Icon_Type icon_type 214 cdef Elm_Icon_Type icon_type
195 if self.item == NULL: 215 if self.item == NULL:
diff --git a/efl/elementary/icon.pyx b/efl/elementary/icon.pyx
index 8eb7af5..26c4f36 100644
--- a/efl/elementary/icon.pyx
+++ b/efl/elementary/icon.pyx
@@ -187,9 +187,13 @@ cdef class Icon(Image):
187 else: 187 else:
188 filename = value 188 filename = value
189 group = None 189 group = None
190 self.thumb_set(filename, group) 190 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
191 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
192 elm_icon_thumb_set(self.obj,
193 <const_char *>filename if filename is not None else NULL,
194 <const_char *>group if group is not None else NULL)
191 195
192 cpdef thumb_set(self, filename, group = None): 196 def thumb_set(self, filename, group = None):
193 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 197 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
194 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 198 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
195 elm_icon_thumb_set(self.obj, 199 elm_icon_thumb_set(self.obj,
@@ -218,16 +222,19 @@ cdef class Icon(Image):
218 222
219 """ 223 """
220 def __get__(self): 224 def __get__(self):
221 return self.standard_get() 225 return _ctouni(elm_icon_standard_get(self.obj))
222 def __set__(self, name): 226 def __set__(self, name):
223 self.standard_set(name) 227 if isinstance(name, unicode): name = PyUnicode_AsUTF8String(name)
228 if not elm_icon_standard_set(self.obj,
229 <const_char *>name if name is not None else NULL):
230 raise RuntimeError("Setting standard icon failed")
224 231
225 cpdef standard_set(self, name): 232 def standard_set(self, name):
226 if isinstance(name, unicode): name = PyUnicode_AsUTF8String(name) 233 if isinstance(name, unicode): name = PyUnicode_AsUTF8String(name)
227 if not elm_icon_standard_set(self.obj, 234 if not elm_icon_standard_set(self.obj,
228 <const_char *>name if name is not None else NULL): 235 <const_char *>name if name is not None else NULL):
229 raise RuntimeError("Setting standard icon failed") 236 raise RuntimeError("Setting standard icon failed")
230 cpdef standard_get(self): 237 def standard_get(self):
231 return _ctouni(elm_icon_standard_get(self.obj)) 238 return _ctouni(elm_icon_standard_get(self.obj))
232 239
233 property order_lookup: 240 property order_lookup:
diff --git a/efl/elementary/image.pxd b/efl/elementary/image.pxd
index aa64293..267983f 100644
--- a/efl/elementary/image.pxd
+++ b/efl/elementary/image.pxd
@@ -45,5 +45,4 @@ cdef extern from "Elementary.h":
45 Eina_Bool elm_image_animated_play_get(Evas_Object *obj) 45 Eina_Bool elm_image_animated_play_get(Evas_Object *obj)
46 46
47cdef class Image(Object): 47cdef class Image(Object):
48 cpdef file_set(self, filename, group = *) 48 pass
49 cpdef file_get(self)
diff --git a/efl/elementary/image.pyx b/efl/elementary/image.pyx
index 115da13..ff04475 100644
--- a/efl/elementary/image.pyx
+++ b/efl/elementary/image.pyx
@@ -188,19 +188,26 @@ cdef class Image(Object):
188 else: 188 else:
189 filename = value 189 filename = value
190 group = None 190 group = None
191 self.file_set(filename, group) 191 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
192 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
193 if not elm_image_file_set(self.obj,
194 <const_char *>filename if filename is not None else NULL,
195 <const_char *>group if group is not None else NULL):
196 raise RuntimeError("Could not set file.")
192 197
193 def __get__(self): 198 def __get__(self):
194 return self.file_get() 199 cdef const_char *filename, *group
200 elm_image_file_get(self.obj, &filename, &group)
201 return (_ctouni(filename), _ctouni(group))
195 202
196 cpdef file_set(self, filename, group = None): 203 def file_set(self, filename, group = None):
197 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 204 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
198 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 205 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
199 if not elm_image_file_set(self.obj, 206 if not elm_image_file_set(self.obj,
200 <const_char *>filename if filename is not None else NULL, 207 <const_char *>filename if filename is not None else NULL,
201 <const_char *>group if group is not None else NULL): 208 <const_char *>group if group is not None else NULL):
202 raise RuntimeError("Could not set file.") 209 raise RuntimeError("Could not set file.")
203 cpdef file_get(self): 210 def file_get(self):
204 cdef const_char *filename, *group 211 cdef const_char *filename, *group
205 elm_image_file_get(self.obj, &filename, &group) 212 elm_image_file_get(self.obj, &filename, &group)
206 return (_ctouni(filename), _ctouni(group)) 213 return (_ctouni(filename), _ctouni(group))
diff --git a/efl/elementary/index.pyx b/efl/elementary/index.pyx
index 5db62c4..e89905d 100644
--- a/efl/elementary/index.pyx
+++ b/efl/elementary/index.pyx
@@ -539,16 +539,16 @@ cdef class Index(LayoutClass):
539 .. note:: Delay time is 0.2 sec by default. 539 .. note:: Delay time is 0.2 sec by default.
540 540
541 """ 541 """
542 def __set__(self, value): 542 def __set__(self, double delay_change_time):
543 self.delay_change_time_set(value) 543 elm_index_delay_change_time_set(self.obj, delay_change_time)
544 544
545 def __get__(self): 545 def __get__(self):
546 return self.delay_change_time_get() 546 return elm_index_delay_change_time_get(self.obj)
547 547
548 cpdef delay_change_time_set(self, double delay_change_time): 548 def delay_change_time_set(self, double delay_change_time):
549 elm_index_delay_change_time_set(self.obj, delay_change_time) 549 elm_index_delay_change_time_set(self.obj, delay_change_time)
550 550
551 cpdef delay_change_time_get(self): 551 def delay_change_time_get(self):
552 return elm_index_delay_change_time_get(self.obj) 552 return elm_index_delay_change_time_get(self.obj)
553 553
554 property omit_enabled: 554 property omit_enabled:
@@ -557,17 +557,17 @@ cdef class Index(LayoutClass):
557 :type: bool 557 :type: bool
558 558
559 """ 559 """
560 def __set__(self, value): 560 def __set__(self, bint enabled):
561 self.omit_enabled_set(value) 561 elm_index_omit_enabled_set(self.obj, enabled)
562 562
563 def __get__(self): 563 def __get__(self):
564 return self.omit_enabled_get() 564 return bool(elm_index_omit_enabled_get(self.obj))
565 565
566 cpdef omit_enabled_set(self, bint enabled): 566 def omit_enabled_set(self, bint enabled):
567 elm_index_omit_enabled_set(self.obj, enabled) 567 elm_index_omit_enabled_set(self.obj, enabled)
568 568
569 cpdef bint omit_enabled_get(self): 569 def omit_enabled_get(self):
570 return elm_index_omit_enabled_get(self.obj) 570 return bool(elm_index_omit_enabled_get(self.obj))
571 571
572 def callback_changed_add(self, func, *args, **kwargs): 572 def callback_changed_add(self, func, *args, **kwargs):
573 """When the selected index item changes. ``event_info`` is the selected 573 """When the selected index item changes. ``event_info`` is the selected
diff --git a/efl/elementary/layout_class.pxd b/efl/elementary/layout_class.pxd
index c78314c..9f76d32 100644
--- a/efl/elementary/layout_class.pxd
+++ b/efl/elementary/layout_class.pxd
@@ -59,8 +59,3 @@ cdef extern from "Elementary.h":
59 59
60cdef class LayoutClass(Object): 60cdef class LayoutClass(Object):
61 cdef object _elm_layout_signal_cbs 61 cdef object _elm_layout_signal_cbs
62
63 cpdef file_set(self, filename, group = *)
64 cpdef theme_set(self, clas, group, style)
65 cpdef edje_object_can_access_set(self, bint can_access)
66 cpdef bint edje_object_can_access_get(self)
diff --git a/efl/elementary/layout_class.pyx b/efl/elementary/layout_class.pyx
index 055ac19..3155074 100644
--- a/efl/elementary/layout_class.pyx
+++ b/efl/elementary/layout_class.pyx
@@ -75,9 +75,14 @@ cdef class LayoutClass(Object):
75 """ 75 """
76 def __set__(self, value): 76 def __set__(self, value):
77 filename, group = value 77 filename, group = value
78 self.file_set(filename, group) 78 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
79 79 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
80 cpdef file_set(self, filename, group = None): 80 if not elm_layout_file_set(self.obj,
81 <const_char *>filename if filename is not None else NULL,
82 <const_char *>group if group is not None else NULL):
83 raise RuntimeError("Could not set file.")
84
85 def file_set(self, filename, group = None):
81 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 86 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
82 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 87 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
83 if not elm_layout_file_set(self.obj, 88 if not elm_layout_file_set(self.obj,
@@ -127,9 +132,16 @@ cdef class LayoutClass(Object):
127 """ 132 """
128 def __set__(self, theme): 133 def __set__(self, theme):
129 clas, group, style = theme 134 clas, group, style = theme
130 self.theme_set(clas, group, style) 135 if isinstance(clas, unicode): clas = PyUnicode_AsUTF8String(clas)
131 136 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
132 cpdef theme_set(self, clas, group, style): 137 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
138 if not elm_layout_theme_set(self.obj,
139 <const_char *>clas if clas is not None else NULL,
140 <const_char *>group if group is not None else NULL,
141 <const_char *>style if style is not None else NULL):
142 raise RuntimeError("Could not set theme.")
143
144 def theme_set(self, clas, group, style):
133 if isinstance(clas, unicode): clas = PyUnicode_AsUTF8String(clas) 145 if isinstance(clas, unicode): clas = PyUnicode_AsUTF8String(clas)
134 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 146 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
135 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 147 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
@@ -747,18 +759,19 @@ cdef class LayoutClass(Object):
747 :raise RuntimeError: if accessibility cannot be set. 759 :raise RuntimeError: if accessibility cannot be set.
748 760
749 """ 761 """
750 def __set__(self, value): 762 def __set__(self, can_access):
751 self.edje_object_can_access_set(value) 763 if not elm_layout_edje_object_can_access_set(self.obj, can_access):
764 raise RuntimeError("Could not set accessibility to layout textblock parts.")
752 765
753 def __get__(self): 766 def __get__(self):
754 return self.edje_object_can_access_get() 767 return elm_layout_edje_object_can_access_get(self.obj)
755 768
756 cpdef edje_object_can_access_set(self, bint can_access): 769 def edje_object_can_access_set(self, bint can_access):
757 if not elm_layout_edje_object_can_access_set(self.obj, can_access): 770 if not elm_layout_edje_object_can_access_set(self.obj, can_access):
758 raise RuntimeError("Could not set accessibility to layout textblock parts.") 771 raise RuntimeError("Could not set accessibility to layout textblock parts.")
759 772
760 cpdef bint edje_object_can_access_get(self): 773 def edje_object_can_access_get(self):
761 return elm_layout_edje_object_can_access_get(self.obj) 774 return bool(elm_layout_edje_object_can_access_get(self.obj))
762 775
763 property icon: 776 property icon:
764 """The icon object in a layout that follows the Elementary naming 777 """The icon object in a layout that follows the Elementary naming
diff --git a/efl/elementary/mapbuf.pyx b/efl/elementary/mapbuf.pyx
index fef6a06..1505c4e 100644
--- a/efl/elementary/mapbuf.pyx
+++ b/efl/elementary/mapbuf.pyx
@@ -115,17 +115,17 @@ cdef class Mapbuf(Object):
115 :type: bool 115 :type: bool
116 116
117 """ 117 """
118 def __set__(self, value): 118 def __set__(self, bint on):
119 self.auto_set(value) 119 elm_mapbuf_auto_set(self.obj, on)
120 120
121 def __get__(self): 121 def __get__(self):
122 return self.auto_get() 122 return bool(elm_mapbuf_auto_get(self.obj))
123 123
124 cpdef auto_set(self, bint on): 124 def auto_set(self, bint on):
125 elm_mapbuf_auto_set(self.obj, on) 125 elm_mapbuf_auto_set(self.obj, on)
126 126
127 cpdef bint auto_get(self): 127 def auto_get(self):
128 return elm_mapbuf_auto_get(self.obj) 128 return bool(elm_mapbuf_auto_get(self.obj))
129 129
130 130
131_object_mapping_register("elm_mapbuf", Mapbuf) 131_object_mapping_register("elm_mapbuf", Mapbuf)
diff --git a/efl/elementary/menu.pyx b/efl/elementary/menu.pyx
index a4ac97b..d7bbd79 100644
--- a/efl/elementary/menu.pyx
+++ b/efl/elementary/menu.pyx
@@ -119,16 +119,18 @@ cdef class MenuItem(ObjectItem):
119 119
120 """ 120 """
121 def __get__(self): 121 def __get__(self):
122 return self.icon_name_get() 122 return _ctouni(elm_menu_item_icon_name_get(self.item))
123 123
124 def __set__(self, icon): 124 def __set__(self, icon):
125 self.icon_name_set(icon) 125 if isinstance(icon, unicode): icon = PyUnicode_AsUTF8String(icon)
126 elm_menu_item_icon_name_set(self.item,
127 <const_char *>icon if icon is not None else NULL)
126 128
127 cpdef icon_name_set(self, icon): 129 def icon_name_set(self, icon):
128 if isinstance(icon, unicode): icon = PyUnicode_AsUTF8String(icon) 130 if isinstance(icon, unicode): icon = PyUnicode_AsUTF8String(icon)
129 elm_menu_item_icon_name_set(self.item, 131 elm_menu_item_icon_name_set(self.item,
130 <const_char *>icon if icon is not None else NULL) 132 <const_char *>icon if icon is not None else NULL)
131 cpdef icon_name_get(self): 133 def icon_name_get(self):
132 return _ctouni(elm_menu_item_icon_name_get(self.item)) 134 return _ctouni(elm_menu_item_icon_name_get(self.item))
133 135
134 property selected: 136 property selected:
diff --git a/efl/elementary/multibuttonentry.pyx b/efl/elementary/multibuttonentry.pyx
index f5c2ecb..8e66f17 100644
--- a/efl/elementary/multibuttonentry.pyx
+++ b/efl/elementary/multibuttonentry.pyx
@@ -328,17 +328,17 @@ cdef class MultiButtonEntry(Object):
328 :type: bool 328 :type: bool
329 329
330 """ 330 """
331 def __set__(self, value): 331 def __set__(self, bint editable):
332 self.editable_set(value) 332 elm_multibuttonentry_editable_set(self.obj, editable)
333 333
334 def __get__(self): 334 def __get__(self):
335 return self.editable_get() 335 return bool(elm_multibuttonentry_editable_get(self.obj))
336 336
337 cpdef editable_set(self, bint editable): 337 def editable_set(self, bint editable):
338 elm_multibuttonentry_editable_set(self.obj, editable) 338 elm_multibuttonentry_editable_set(self.obj, editable)
339 339
340 cpdef bint editable_get(self): 340 def editable_get(self):
341 return elm_multibuttonentry_editable_get(self.obj) 341 return bool(elm_multibuttonentry_editable_get(self.obj))
342 342
343 def callback_item_selected_add(self, func, *args, **kwargs): 343 def callback_item_selected_add(self, func, *args, **kwargs):
344 self._callback_add("item,selected", func, *args, **kwargs) 344 self._callback_add("item,selected", func, *args, **kwargs)
diff --git a/efl/elementary/naviframe.pyx b/efl/elementary/naviframe.pyx
index 70267f3..5e8bcb8 100644
--- a/efl/elementary/naviframe.pyx
+++ b/efl/elementary/naviframe.pyx
@@ -306,16 +306,18 @@ cdef class NaviframeItem(ObjectItem):
306 306
307 """ 307 """
308 def __get__(self): 308 def __get__(self):
309 return self.style_get() 309 return _ctouni(elm_naviframe_item_style_get(self.item))
310 310
311 def __set__(self, style): 311 def __set__(self, style):
312 self.style_set(style) 312 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
313 elm_naviframe_item_style_set(self.item,
314 <const_char *>style if style is not None else NULL)
313 315
314 cpdef style_set(self, style): 316 def style_set(self, style):
315 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 317 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
316 elm_naviframe_item_style_set(self.item, 318 elm_naviframe_item_style_set(self.item,
317 <const_char *>style if style is not None else NULL) 319 <const_char *>style if style is not None else NULL)
318 cpdef style_get(self): 320 def style_get(self):
319 return _ctouni(elm_naviframe_item_style_get(self.item)) 321 return _ctouni(elm_naviframe_item_style_get(self.item))
320 322
321 property title_visible: 323 property title_visible:
diff --git a/efl/elementary/notify.pyx b/efl/elementary/notify.pyx
index 0605ee7..c766218 100644
--- a/efl/elementary/notify.pyx
+++ b/efl/elementary/notify.pyx
@@ -233,15 +233,19 @@ cdef class Notify(Object):
233 233
234 """ 234 """
235 def __set__(self, value): 235 def __set__(self, value):
236 self.align_set(*value) 236 cdef double horizontal, vertical
237 horizontal, vertical = value
238 elm_notify_align_set(self.obj, horizontal, vertical)
237 239
238 def __get__(self): 240 def __get__(self):
239 return self.align_get() 241 cdef double horizontal, vertical
242 elm_notify_align_get(self.obj, &horizontal, &vertical)
243 return (horizontal, vertical)
240 244
241 cpdef align_set(self, float horizontal, float vertical): 245 def align_set(self, float horizontal, float vertical):
242 elm_notify_align_set(self.obj, horizontal, vertical) 246 elm_notify_align_set(self.obj, horizontal, vertical)
243 247
244 cpdef align_get(self): 248 def align_get(self):
245 cdef double horizontal, vertical 249 cdef double horizontal, vertical
246 elm_notify_align_get(self.obj, &horizontal, &vertical) 250 elm_notify_align_get(self.obj, &horizontal, &vertical)
247 return (horizontal, vertical) 251 return (horizontal, vertical)
diff --git a/efl/elementary/object.pxd b/efl/elementary/object.pxd
index 08cf7b0..47786ec 100644
--- a/efl/elementary/object.pxd
+++ b/efl/elementary/object.pxd
@@ -166,20 +166,3 @@ cdef class Object(evasObject):
166 object _elmcallbacks, _elm_event_cbs, _elm_signal_cbs 166 object _elmcallbacks, _elm_event_cbs, _elm_signal_cbs
167 object cnp_drop_cb, cnp_drop_data 167 object cnp_drop_cb, cnp_drop_data
168 object cnp_selection_loss_cb, cnp_selection_loss_data 168 object cnp_selection_loss_cb, cnp_selection_loss_data
169
170 cpdef text_set(self, text)
171 cpdef text_get(self)
172 cpdef style_set(self, style)
173 cpdef style_get(self)
174 cpdef cursor_set(self, cursor)
175 cpdef cursor_get(self)
176 cpdef cursor_unset(self)
177 cpdef cursor_style_set(self, style=*)
178 cpdef cursor_style_get(self)
179 cpdef tooltip_style_set(self, style=*)
180 cpdef tooltip_style_get(self)
181 cpdef orientation_mode_disabled_set(self, bint disabled)
182 cpdef bint orientation_mode_disabled_get(self)
183 cpdef focused_object_get(self)
184 cpdef int scroll_hold_get(self)
185 cpdef int scroll_freeze_get(self)
diff --git a/efl/elementary/object.pyx b/efl/elementary/object.pyx
index 5a0c7e2..902106d 100644
--- a/efl/elementary/object.pyx
+++ b/efl/elementary/object.pyx
@@ -380,16 +380,18 @@ cdef class Object(evasObject):
380 380
381 """ 381 """
382 def __get__(self): 382 def __get__(self):
383 return self.text_get() 383 return _ctouni(elm_object_text_get(self.obj))
384 384
385 def __set__(self, text): 385 def __set__(self, text):
386 self.text_set(text) 386 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
387 elm_object_text_set(self.obj,
388 <const_char *>text if text is not None else NULL)
387 389
388 cpdef text_set(self, text): 390 def text_set(self, text):
389 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text) 391 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
390 elm_object_text_set(self.obj, 392 elm_object_text_set(self.obj,
391 <const_char *>text if text is not None else NULL) 393 <const_char *>text if text is not None else NULL)
392 cpdef text_get(self): 394 def text_get(self):
393 return _ctouni(elm_object_text_get(self.obj)) 395 return _ctouni(elm_object_text_get(self.obj))
394 396
395 def part_content_set(self, part, evasObject content not None): 397 def part_content_set(self, part, evasObject content not None):
@@ -518,16 +520,18 @@ cdef class Object(evasObject):
518 520
519 """ 521 """
520 def __get__(self): 522 def __get__(self):
521 return self.style_get() 523 return _ctouni(elm_object_style_get(self.obj))
522 524
523 def __set__(self, style): 525 def __set__(self, style):
524 self.style_set(style) 526 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
527 elm_object_style_set(self.obj,
528 <const_char *>style if style is not None else NULL)
525 529
526 cpdef style_set(self, style): 530 def style_set(self, style):
527 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 531 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
528 elm_object_style_set(self.obj, 532 elm_object_style_set(self.obj,
529 <const_char *>style if style is not None else NULL) 533 <const_char *>style if style is not None else NULL)
530 cpdef style_get(self): 534 def style_get(self):
531 return _ctouni(elm_object_style_get(self.obj)) 535 return _ctouni(elm_object_style_get(self.obj))
532 536
533 property disabled: 537 property disabled:
@@ -819,17 +823,17 @@ cdef class Object(evasObject):
819 :since: 1.8 823 :since: 1.8
820 824
821 """ 825 """
822 def __set__(self, value): 826 def __set__(self, bint disabled):
823 self.orientation_mode_disabled_set(value) 827 elm_object_orientation_mode_disabled_set(self.obj, disabled)
824 828
825 def __get__(self): 829 def __get__(self):
826 return self.orientation_mode_disabled_get() 830 return bool(elm_object_orientation_mode_disabled_get(self.obj))
827 831
828 cpdef orientation_mode_disabled_set(self, bint disabled): 832 def orientation_mode_disabled_set(self, bint disabled):
829 elm_object_orientation_mode_disabled_set(self.obj, disabled) 833 elm_object_orientation_mode_disabled_set(self.obj, disabled)
830 834
831 cpdef bint orientation_mode_disabled_get(self): 835 def orientation_mode_disabled_get(self):
832 return elm_object_orientation_mode_disabled_get(self.obj) 836 return bool(elm_object_orientation_mode_disabled_get(self.obj))
833 837
834 # 838 #
835 # Cursors 839 # Cursors
@@ -842,36 +846,40 @@ cdef class Object(evasObject):
842 846
843 """ 847 """
844 def __get__(self): 848 def __get__(self):
845 return self.cursor_get() 849 return _ctouni(elm_object_cursor_get(self.obj))
846 850
847 def __set__(self, cursor): 851 def __set__(self, cursor):
848 self.cursor_set(cursor) 852 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
853 elm_object_cursor_set(self.obj,
854 <const_char *>cursor if cursor is not None else NULL)
849 855
850 def __del__(self): 856 def __del__(self):
851 self.cursor_unset() 857 elm_object_cursor_unset(self.obj)
852 858
853 cpdef cursor_set(self, cursor): 859 def cursor_set(self, cursor):
854 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor) 860 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
855 elm_object_cursor_set(self.obj, 861 elm_object_cursor_set(self.obj,
856 <const_char *>cursor if cursor is not None else NULL) 862 <const_char *>cursor if cursor is not None else NULL)
857 cpdef cursor_get(self): 863 def cursor_get(self):
858 return _ctouni(elm_object_cursor_get(self.obj)) 864 return _ctouni(elm_object_cursor_get(self.obj))
859 cpdef cursor_unset(self): 865 def cursor_unset(self):
860 elm_object_cursor_unset(self.obj) 866 elm_object_cursor_unset(self.obj)
861 867
862 property cursor_style: 868 property cursor_style:
863 """The style for this object cursor.""" 869 """The style for this object cursor."""
864 def __get__(self): 870 def __get__(self):
865 return self.cursor_style_get() 871 return _ctouni(elm_object_cursor_style_get(self.obj))
866 872
867 def __set__(self, style): 873 def __set__(self, style):
868 self.cursor_style_set(style) 874 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
875 elm_object_cursor_style_set(self.obj,
876 <const_char *>style if style is not None else NULL)
869 877
870 cpdef cursor_style_set(self, style=None): 878 def cursor_style_set(self, style=None):
871 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 879 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
872 elm_object_cursor_style_set(self.obj, 880 elm_object_cursor_style_set(self.obj,
873 <const_char *>style if style is not None else NULL) 881 <const_char *>style if style is not None else NULL)
874 cpdef cursor_style_get(self): 882 def cursor_style_get(self):
875 return _ctouni(elm_object_cursor_style_get(self.obj)) 883 return _ctouni(elm_object_cursor_style_get(self.obj))
876 884
877 property cursor_theme_search_enabled: 885 property cursor_theme_search_enabled:
@@ -1072,9 +1080,9 @@ cdef class Object(evasObject):
1072 1080
1073 """ 1081 """
1074 def __get__(self): 1082 def __get__(self):
1075 return self.focused_object_get() 1083 return object_from_instance(elm_object_focused_object_get(self.obj))
1076 1084
1077 cpdef focused_object_get(self): 1085 def focused_object_get(self):
1078 return object_from_instance(elm_object_focused_object_get(self.obj)) 1086 return object_from_instance(elm_object_focused_object_get(self.obj))
1079 1087
1080 1088
@@ -1196,9 +1204,9 @@ cdef class Object(evasObject):
1196 1204
1197 """ 1205 """
1198 def __get__(self): 1206 def __get__(self):
1199 return self.scroll_hold_get() 1207 return elm_object_scroll_hold_get(self.obj)
1200 1208
1201 cpdef int scroll_hold_get(self): 1209 def scroll_hold_get(self):
1202 return elm_object_scroll_hold_get(self.obj) 1210 return elm_object_scroll_hold_get(self.obj)
1203 1211
1204 def scroll_freeze_push(self): 1212 def scroll_freeze_push(self):
@@ -1230,9 +1238,9 @@ cdef class Object(evasObject):
1230 1238
1231 """ 1239 """
1232 def __get__(self): 1240 def __get__(self):
1233 return self.scroll_freeze_get() 1241 return elm_object_scroll_freeze_get(self.obj)
1234 1242
1235 cpdef int scroll_freeze_get(self): 1243 def scroll_freeze_get(self):
1236 return elm_object_scroll_freeze_get(self.obj) 1244 return elm_object_scroll_freeze_get(self.obj)
1237 1245
1238 property scroll_lock_x: 1246 property scroll_lock_x:
@@ -1386,15 +1394,17 @@ cdef class Object(evasObject):
1386 1394
1387 """ 1395 """
1388 def __get__(self): 1396 def __get__(self):
1389 return self.tooltip_style_get() 1397 return _ctouni(elm_object_tooltip_style_get(self.obj))
1390 def __set__(self, style): 1398 def __set__(self, style):
1391 self.tooltip_style_set(style) 1399 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1400 elm_object_tooltip_style_set(self.obj,
1401 <const_char *>style if style is not None else NULL)
1392 1402
1393 cpdef tooltip_style_set(self, style=None): 1403 def tooltip_style_set(self, style=None):
1394 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 1404 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1395 elm_object_tooltip_style_set(self.obj, 1405 elm_object_tooltip_style_set(self.obj,
1396 <const_char *>style if style is not None else NULL) 1406 <const_char *>style if style is not None else NULL)
1397 cpdef tooltip_style_get(self): 1407 def tooltip_style_get(self):
1398 return _ctouni(elm_object_tooltip_style_get(self.obj)) 1408 return _ctouni(elm_object_tooltip_style_get(self.obj))
1399 1409
1400 property tooltip_window_mode: 1410 property tooltip_window_mode:
diff --git a/efl/elementary/object_item.pxd b/efl/elementary/object_item.pxd
index 36f9685..738356d 100644
--- a/efl/elementary/object_item.pxd
+++ b/efl/elementary/object_item.pxd
@@ -71,14 +71,3 @@ cdef class ObjectItem(object):
71 dict kwargs 71 dict kwargs
72 readonly dict data 72 readonly dict data
73 int _set_obj(self, Elm_Object_Item *item) except 0 73 int _set_obj(self, Elm_Object_Item *item) except 0
74
75 cpdef text_set(self, text)
76 cpdef text_get(self)
77 #cpdef access_info_set(self, txt)
78 cpdef tooltip_style_set(self, style=*)
79 cpdef tooltip_style_get(self)
80 cpdef cursor_set(self, cursor)
81 cpdef cursor_get(self)
82 cpdef cursor_unset(self)
83 cpdef cursor_style_set(self, style=*)
84 cpdef cursor_style_get(self)
diff --git a/efl/elementary/object_item.pyx b/efl/elementary/object_item.pyx
index 7761922..51afb69 100644
--- a/efl/elementary/object_item.pyx
+++ b/efl/elementary/object_item.pyx
@@ -359,16 +359,18 @@ cdef class ObjectItem(object):
359 359
360 """ 360 """
361 def __get__(self): 361 def __get__(self):
362 return self.text_get() 362 return _ctouni(elm_object_item_text_get(self.item))
363 363
364 def __set__(self, text): 364 def __set__(self, text):
365 self.text_set(text) 365 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
366 elm_object_item_text_set(self.item,
367 <const_char *>text if text is not None else NULL)
366 368
367 cpdef text_set(self, text): 369 def text_set(self, text):
368 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text) 370 if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
369 elm_object_item_text_set(self.item, 371 elm_object_item_text_set(self.item,
370 <const_char *>text if text is not None else NULL) 372 <const_char *>text if text is not None else NULL)
371 cpdef text_get(self): 373 def text_get(self):
372 return _ctouni(elm_object_item_text_get(self.item)) 374 return _ctouni(elm_object_item_text_get(self.item))
373 375
374 # TODO: 376 # TODO:
@@ -379,9 +381,11 @@ cdef class ObjectItem(object):
379 381
380 # """ 382 # """
381 # def __set__(self, txt): 383 # def __set__(self, txt):
382 # self.access_info_set(txt) 384 # if isinstance(txt, unicode): txt = PyUnicode_AsUTF8String(txt)
385 # elm_object_item_access_info_set(self.item,
386 # <const_char *>txt if txt is not None else NULL)
383 387
384 # cpdef access_info_set(self, txt): 388 # def access_info_set(self, txt):
385 # if isinstance(txt, unicode): txt = PyUnicode_AsUTF8String(txt) 389 # if isinstance(txt, unicode): txt = PyUnicode_AsUTF8String(txt)
386 # elm_object_item_access_info_set(self.item, 390 # elm_object_item_access_info_set(self.item,
387 # <const_char *>txt if txt is not None else NULL) 391 # <const_char *>txt if txt is not None else NULL)
@@ -521,19 +525,21 @@ cdef class ObjectItem(object):
521 525
522 """ 526 """
523 def __set__(self, style): 527 def __set__(self, style):
524 self.tooltip_style_set(style) 528 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
529 elm_object_item_tooltip_style_set(self.item,
530 <const_char *>style if style is not None else NULL)
525 531
526 def __get__(self): 532 def __get__(self):
527 return self.tooltip_style_get() 533 return _ctouni(elm_object_item_tooltip_style_get(self.item))
528 534
529 def __del__(self): 535 def __del__(self):
530 self.tooltip_style_set(None) 536 self.tooltip_style_set(None)
531 537
532 cpdef tooltip_style_set(self, style=None): 538 def tooltip_style_set(self, style=None):
533 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 539 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
534 elm_object_item_tooltip_style_set(self.item, 540 elm_object_item_tooltip_style_set(self.item,
535 <const_char *>style if style is not None else NULL) 541 <const_char *>style if style is not None else NULL)
536 cpdef tooltip_style_get(self): 542 def tooltip_style_get(self):
537 return _ctouni(elm_object_item_tooltip_style_get(self.item)) 543 return _ctouni(elm_object_item_tooltip_style_get(self.item))
538 544
539 property cursor: 545 property cursor:
@@ -543,21 +549,23 @@ cdef class ObjectItem(object):
543 549
544 """ 550 """
545 def __set__(self, cursor): 551 def __set__(self, cursor):
546 self.cursor_set(cursor) 552 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
553 elm_object_item_cursor_set(self.item,
554 <const_char *>cursor if cursor is not None else NULL)
547 555
548 def __get__(self): 556 def __get__(self):
549 return self.cursor_get() 557 return _ctouni(elm_object_item_cursor_get(self.item))
550 558
551 def __del__(self): 559 def __del__(self):
552 self.cursor_unset() 560 elm_object_item_cursor_unset(self.item)
553 561
554 cpdef cursor_set(self, cursor): 562 def cursor_set(self, cursor):
555 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor) 563 if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
556 elm_object_item_cursor_set(self.item, 564 elm_object_item_cursor_set(self.item,
557 <const_char *>cursor if cursor is not None else NULL) 565 <const_char *>cursor if cursor is not None else NULL)
558 cpdef cursor_get(self): 566 def cursor_get(self):
559 return _ctouni(elm_object_item_cursor_get(self.item)) 567 return _ctouni(elm_object_item_cursor_get(self.item))
560 cpdef cursor_unset(self): 568 def cursor_unset(self):
561 elm_object_item_cursor_unset(self.item) 569 elm_object_item_cursor_unset(self.item)
562 570
563 property cursor_style: 571 property cursor_style:
@@ -568,19 +576,21 @@ cdef class ObjectItem(object):
568 576
569 """ 577 """
570 def __set__(self, style): 578 def __set__(self, style):
571 self.cursor_style_set(style) 579 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
580 elm_object_item_cursor_style_set(self.item,
581 <const_char *>style if style is not None else NULL)
572 582
573 def __get__(self): 583 def __get__(self):
574 return self.cursor_style_get() 584 return _ctouni(elm_object_item_cursor_style_get(self.item))
575 585
576 def __del__(self): 586 def __del__(self):
577 self.cursor_style_set(None) 587 elm_object_item_cursor_style_set(self.item, NULL)
578 588
579 cpdef cursor_style_set(self, style=None): 589 def cursor_style_set(self, style=None):
580 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 590 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
581 elm_object_item_cursor_style_set(self.item, 591 elm_object_item_cursor_style_set(self.item,
582 <const_char *>style if style is not None else NULL) 592 <const_char *>style if style is not None else NULL)
583 cpdef cursor_style_get(self): 593 def cursor_style_get(self):
584 return _ctouni(elm_object_item_cursor_style_get(self.item)) 594 return _ctouni(elm_object_item_cursor_style_get(self.item))
585 595
586 property cursor_engine_only: 596 property cursor_engine_only:
diff --git a/efl/elementary/photo.pyx b/efl/elementary/photo.pyx
index c4fc554..322c216 100644
--- a/efl/elementary/photo.pyx
+++ b/efl/elementary/photo.pyx
@@ -64,9 +64,12 @@ cdef class Photo(Object):
64 64
65 """ 65 """
66 def __set__(self, filename): 66 def __set__(self, filename):
67 self.file_set(filename) 67 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
68 if not elm_photo_file_set(self.obj,
69 <const_char *>filename if filename is not None else NULL):
70 raise RuntimeError("Could not set file.")
68 71
69 cpdef file_set(self, filename): 72 def file_set(self, filename):
70 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 73 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
71 if not elm_photo_file_set(self.obj, 74 if not elm_photo_file_set(self.obj,
72 <const_char *>filename if filename is not None else NULL): 75 <const_char *>filename if filename is not None else NULL):
@@ -84,9 +87,13 @@ cdef class Photo(Object):
84 else: 87 else:
85 filename = value 88 filename = value
86 group = None 89 group = None
87 self.thumb_set(filename, group) 90 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
91 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
92 elm_photo_thumb_set(self.obj,
93 <const_char *>filename if filename is not None else NULL,
94 <const_char *>group if group is not None else NULL)
88 95
89 cpdef thumb_set(self, filename, group = None): 96 def thumb_set(self, filename, group = None):
90 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 97 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
91 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group) 98 if isinstance(group, unicode): group = PyUnicode_AsUTF8String(group)
92 elm_photo_thumb_set(self.obj, 99 elm_photo_thumb_set(self.obj,
diff --git a/efl/elementary/progressbar.pyx b/efl/elementary/progressbar.pyx
index f1d282e..f40df27 100644
--- a/efl/elementary/progressbar.pyx
+++ b/efl/elementary/progressbar.pyx
@@ -218,16 +218,18 @@ cdef class Progressbar(LayoutClass):
218 218
219 """ 219 """
220 def __get__(self): 220 def __get__(self):
221 return self.unit_format_get() 221 return _ctouni(elm_progressbar_unit_format_get(self.obj))
222 222
223 def __set__(self, unit_format): 223 def __set__(self, unit_format):
224 self.unit_format_set(unit_format) 224 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format)
225 elm_progressbar_unit_format_set(self.obj,
226 <const_char *>unit_format if unit_format is not None else NULL)
225 227
226 cpdef unit_format_set(self, unit_format): 228 def unit_format_set(self, unit_format):
227 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format) 229 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format)
228 elm_progressbar_unit_format_set(self.obj, 230 elm_progressbar_unit_format_set(self.obj,
229 <const_char *>unit_format if unit_format is not None else NULL) 231 <const_char *>unit_format if unit_format is not None else NULL)
230 cpdef unit_format_get(self): 232 def unit_format_get(self):
231 return _ctouni(elm_progressbar_unit_format_get(self.obj)) 233 return _ctouni(elm_progressbar_unit_format_get(self.obj))
232 234
233 # property unit_format_function: 235 # property unit_format_function:
diff --git a/efl/elementary/slider.pyx b/efl/elementary/slider.pyx
index 3a9fc71..fa2de7f 100644
--- a/efl/elementary/slider.pyx
+++ b/efl/elementary/slider.pyx
@@ -136,16 +136,18 @@ cdef class Slider(LayoutClass):
136 136
137 """ 137 """
138 def __get__(self): 138 def __get__(self):
139 return self.unit_format_get() 139 return _ctouni(elm_slider_unit_format_get(self.obj))
140 140
141 def __set__(self, unit_format): 141 def __set__(self, unit_format):
142 self.unit_format_set(unit_format) 142 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format)
143 elm_slider_unit_format_set(self.obj,
144 <const_char *>unit_format if unit_format is not None else NULL)
143 145
144 cpdef unit_format_set(self, unit_format): 146 def unit_format_set(self, unit_format):
145 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format) 147 if isinstance(unit_format, unicode): unit_format = PyUnicode_AsUTF8String(unit_format)
146 elm_slider_unit_format_set(self.obj, 148 elm_slider_unit_format_set(self.obj,
147 <const_char *>unit_format if unit_format is not None else NULL) 149 <const_char *>unit_format if unit_format is not None else NULL)
148 cpdef unit_format_get(self): 150 def unit_format_get(self):
149 return _ctouni(elm_slider_unit_format_get(self.obj)) 151 return _ctouni(elm_slider_unit_format_get(self.obj))
150 152
151 property indicator_format: 153 property indicator_format:
@@ -169,16 +171,18 @@ cdef class Slider(LayoutClass):
169 171
170 """ 172 """
171 def __get__(self): 173 def __get__(self):
172 return self.indicator_format_get() 174 return _ctouni(elm_slider_indicator_format_get(self.obj))
173 175
174 def __set__(self, ind_format): 176 def __set__(self, ind_format):
175 self.indicator_format_set(ind_format) 177 if isinstance(ind_format, unicode): ind_format = PyUnicode_AsUTF8String(ind_format)
178 elm_slider_indicator_format_set(self.obj,
179 <const_char *>ind_format if ind_format is not None else NULL)
176 180
177 cpdef indicator_format_set(self, ind_format): 181 def indicator_format_set(self, ind_format):
178 if isinstance(ind_format, unicode): ind_format = PyUnicode_AsUTF8String(ind_format) 182 if isinstance(ind_format, unicode): ind_format = PyUnicode_AsUTF8String(ind_format)
179 elm_slider_indicator_format_set(self.obj, 183 elm_slider_indicator_format_set(self.obj,
180 <const_char *>ind_format if ind_format is not None else NULL) 184 <const_char *>ind_format if ind_format is not None else NULL)
181 cpdef indicator_format_get(self): 185 def indicator_format_get(self):
182 return _ctouni(elm_slider_indicator_format_get(self.obj)) 186 return _ctouni(elm_slider_indicator_format_get(self.obj))
183 187
184 #TODO: def indicator_format_function_set(self, func, free_func) 188 #TODO: def indicator_format_function_set(self, func, free_func)
diff --git a/efl/elementary/spinner.pyx b/efl/elementary/spinner.pyx
index ee198a2..c467e7f 100644
--- a/efl/elementary/spinner.pyx
+++ b/efl/elementary/spinner.pyx
@@ -87,16 +87,18 @@ cdef class Spinner(LayoutClass):
87 87
88 """ 88 """
89 def __get__(self): 89 def __get__(self):
90 return self.label_format_get() 90 return _ctouni(elm_spinner_label_format_get(self.obj))
91 91
92 def __set__(self, label_format): 92 def __set__(self, label_format):
93 self.label_format_set(label_format) 93 if isinstance(label_format, unicode): label_format = PyUnicode_AsUTF8String(label_format)
94 elm_spinner_label_format_set(self.obj,
95 <const_char *>label_format if label_format is not None else NULL)
94 96
95 cpdef label_format_set(self, label_format): 97 def label_format_set(self, label_format):
96 if isinstance(label_format, unicode): label_format = PyUnicode_AsUTF8String(label_format) 98 if isinstance(label_format, unicode): label_format = PyUnicode_AsUTF8String(label_format)
97 elm_spinner_label_format_set(self.obj, 99 elm_spinner_label_format_set(self.obj,
98 <const_char *>label_format if label_format is not None else NULL) 100 <const_char *>label_format if label_format is not None else NULL)
99 cpdef label_format_get(self): 101 def label_format_get(self):
100 return _ctouni(elm_spinner_label_format_get(self.obj)) 102 return _ctouni(elm_spinner_label_format_get(self.obj))
101 103
102 property min_max: 104 property min_max:
diff --git a/efl/elementary/store.pyx b/efl/elementary/store.pyx
index 9626006..7c51c92 100644
--- a/efl/elementary/store.pyx
+++ b/efl/elementary/store.pyx
@@ -312,17 +312,19 @@ cdef class Store(object):
312 312
313 """ 313 """
314 def __set__(self, value): 314 def __set__(self, value):
315 self.filesystem_directory_set(value) 315 if isinstance(directory, unicode): directory = PyUnicode_AsUTF8String(directory)
316 elm_store_filesystem_directory_set(self.st,
317 <const_char *>directory if directory is not None else NULL)
316 318
317 def __get__(self): 319 def __get__(self):
318 return self.filesystem_directory_get() 320 return _ctouni(elm_store_filesystem_directory_get(self.st))
319 321
320 cpdef filesystem_directory_set(self, directory): 322 def filesystem_directory_set(self, directory):
321 if isinstance(directory, unicode): directory = PyUnicode_AsUTF8String(directory) 323 if isinstance(directory, unicode): directory = PyUnicode_AsUTF8String(directory)
322 elm_store_filesystem_directory_set(self.st, 324 elm_store_filesystem_directory_set(self.st,
323 <const_char *>directory if directory is not None else NULL) 325 <const_char *>directory if directory is not None else NULL)
324 326
325 cpdef filesystem_directory_get(self): 327 def filesystem_directory_get(self):
326 return _ctouni(elm_store_filesystem_directory_get(self.st)) 328 return _ctouni(elm_store_filesystem_directory_get(self.st))
327 329
328 property target_genlist: 330 property target_genlist:
@@ -335,10 +337,10 @@ cdef class Store(object):
335 :type: :py:class:`Genlist <efl.elementary.genlist.Genlist>` 337 :type: :py:class:`Genlist <efl.elementary.genlist.Genlist>`
336 338
337 """ 339 """
338 def __set__(self, value): 340 def __set__(self, Genlist target):
339 self.target_genlist_set(value) 341 elm_store_target_genlist_set(self.st, target.obj)
340 342
341 cpdef target_genlist_set(self, Object target): 343 def target_genlist_set(self, Genlist target):
342 elm_store_target_genlist_set(self.st, target.obj) 344 elm_store_target_genlist_set(self.st, target.obj)
343 345
344 property cache_size: 346 property cache_size:
@@ -351,16 +353,16 @@ cdef class Store(object):
351 :param max: The number of items to keep (should be greater than or equal to 0) 353 :param max: The number of items to keep (should be greater than or equal to 0)
352 354
353 """ 355 """
354 def __set__(self, value): 356 def __set__(self, int maximum):
355 self.cache_set(value) 357 elm_store_cache_set(self.st, maximum)
356 358
357 def __get__(self): 359 def __get__(self):
358 return self.cache_get() 360 return elm_store_cache_get(self.st)
359 361
360 cpdef cache_size_set(self, int maximum): 362 def cache_size_set(self, int maximum):
361 elm_store_cache_set(self.st, maximum) 363 elm_store_cache_set(self.st, maximum)
362 364
363 cpdef cache_size_get(self): 365 def cache_size_get(self):
364 return elm_store_cache_get(self.st) 366 return elm_store_cache_get(self.st)
365 367
366 def fs_list_func_set(self, func, *args, **kwargs): 368 def fs_list_func_set(self, func, *args, **kwargs):
@@ -431,17 +433,17 @@ cdef class Store(object):
431 :type: bool 433 :type: bool
432 434
433 """ 435 """
434 def __set__(self, value): 436 def __set__(self, bint use_thread):
435 self.fetch_thread_set(value) 437 elm_store_fetch_thread_set(self.st, use_thread)
436 438
437 def __get__(self): 439 def __get__(self):
438 return self.fetch_thread_get() 440 return bool(elm_store_fetch_thread_get(self.st))
439 441
440 cpdef fetch_thread_set(self, bint use_thread): 442 def fetch_thread_set(self, bint use_thread):
441 elm_store_fetch_thread_set(self.st, use_thread) 443 elm_store_fetch_thread_set(self.st, use_thread)
442 444
443 cpdef bint fetch_thread_get(self): 445 def fetch_thread_get(self):
444 return elm_store_fetch_thread_get(self.st) 446 return bool(elm_store_fetch_thread_get(self.st))
445 447
446 property items_sorted: 448 property items_sorted:
447 """Set if items are to be sorted or not. 449 """Set if items are to be sorted or not.
@@ -455,17 +457,17 @@ cdef class Store(object):
455 :type: bool 457 :type: bool
456 458
457 """ 459 """
458 def __set__(self, value): 460 def __set__(self, bint items_sorted):
459 self.sorted_set(value) 461 elm_store_sorted_set(self.st, items_sorted)
460 462
461 def __get__(self): 463 def __get__(self):
462 return self.sorted_get() 464 return bool(elm_store_sorted_get(self.st))
463 465
464 cpdef sorted_set(self, bint items_sorted): 466 def sorted_set(self, bint items_sorted):
465 elm_store_sorted_set(self.st, items_sorted) 467 elm_store_sorted_set(self.st, items_sorted)
466 468
467 cpdef bint sorted_get(self): 469 def sorted_get(self):
468 return elm_store_sorted_get(self.st) 470 return bool(elm_store_sorted_get(self.st))
469 471
470 472
471cdef class StoreItem(object): 473cdef class StoreItem(object):
@@ -485,9 +487,9 @@ cdef class StoreItem(object):
485 487
486 """ 488 """
487 def __get__(self): 489 def __get__(self):
488 return self.filesystem_path_get() 490 return _ctouni(elm_store_item_filesystem_path_get(self.sti))
489 491
490 cpdef filesystem_path_get(self): 492 def filesystem_path_get(self):
491 return _ctouni(elm_store_item_filesystem_path_get(self.sti)) 493 return _ctouni(elm_store_item_filesystem_path_get(self.sti))
492 494
493 property data: 495 property data:
@@ -502,16 +504,18 @@ cdef class StoreItem(object):
502 :param data: The data pointer to set. 504 :param data: The data pointer to set.
503 505
504 """ 506 """
505 def __set__(self, value): 507 def __set__(self, data):
506 self.data_set(value) 508 elm_store_item_data_set(self.sti, <void *>data)
507 509
508 def __get__(self): 510 def __get__(self):
509 return self.data_get() 511 cdef void *data = elm_store_item_data_get(self.sti)
512 if data == NULL: return None
513 return <object>data
510 514
511 cpdef data_set(self, data): 515 def data_set(self, data):
512 elm_store_item_data_set(self.sti, <void *>data) 516 elm_store_item_data_set(self.sti, <void *>data)
513 517
514 cpdef data_get(self): 518 def data_get(self):
515 cdef void *data = elm_store_item_data_get(self.sti) 519 cdef void *data = elm_store_item_data_get(self.sti)
516 if data == NULL: return None 520 if data == NULL: return None
517 return <object>elm_store_item_data_get(self.sti) 521 return <object>elm_store_item_data_get(self.sti)
@@ -526,9 +530,18 @@ cdef class StoreItem(object):
526 530
527 """ 531 """
528 def __get__(self): 532 def __get__(self):
529 return self.store_get() 533 cdef:
534 Store ret
535 Elm_Store *st = <Elm_Store *>elm_store_item_store_get(self.sti)
536
537 if st == NULL:
538 return None
539
540 ret = Store.__new__()
541 ret.st = st
542 return ret
530 543
531 cpdef store_get(self): 544 def store_get(self):
532 cdef: 545 cdef:
533 Store ret 546 Store ret
534 Elm_Store *st = <Elm_Store *>elm_store_item_store_get(self.sti) 547 Elm_Store *st = <Elm_Store *>elm_store_item_store_get(self.sti)
@@ -548,7 +561,7 @@ cdef class StoreItem(object):
548 561
549 """ 562 """
550 def __get__(self): 563 def __get__(self):
551 return self.genlist_item_get() 564 return _object_item_to_python(<Elm_Object_Item *>elm_store_item_genlist_item_get(self.sti))
552 565
553 cpdef genlist_item_get(self): 566 def genlist_item_get(self):
554 return _object_item_to_python(<Elm_Object_Item *>elm_store_item_genlist_item_get(self.sti)) 567 return _object_item_to_python(<Elm_Object_Item *>elm_store_item_genlist_item_get(self.sti))
diff --git a/efl/elementary/toolbar.pyx b/efl/elementary/toolbar.pyx
index 28ddad7..cab1cb3 100644
--- a/efl/elementary/toolbar.pyx
+++ b/efl/elementary/toolbar.pyx
@@ -530,16 +530,18 @@ cdef class ToolbarItem(ObjectItem):
530 530
531 """ 531 """
532 def __get__(self): 532 def __get__(self):
533 return self.icon_get() 533 return _ctouni(elm_toolbar_item_icon_get(self.item))
534 534
535 def __set__(self, ic): 535 def __set__(self, ic):
536 self.icon_set(ic) 536 if isinstance(ic, unicode): ic = PyUnicode_AsUTF8String(ic)
537 elm_toolbar_item_icon_set(self.item,
538 <const_char *>ic if ic is not None else NULL)
537 539
538 cpdef icon_set(self, ic): 540 def icon_set(self, ic):
539 if isinstance(ic, unicode): ic = PyUnicode_AsUTF8String(ic) 541 if isinstance(ic, unicode): ic = PyUnicode_AsUTF8String(ic)
540 elm_toolbar_item_icon_set(self.item, 542 elm_toolbar_item_icon_set(self.item,
541 <const_char *>ic if ic is not None else NULL) 543 <const_char *>ic if ic is not None else NULL)
542 cpdef icon_get(self): 544 def icon_get(self):
543 return _ctouni(elm_toolbar_item_icon_get(self.item)) 545 return _ctouni(elm_toolbar_item_icon_get(self.item))
544 546
545 property object: 547 property object:
@@ -670,14 +672,14 @@ cdef class ToolbarItem(ObjectItem):
670 672
671 """ 673 """
672 def __get__(self): 674 def __get__(self):
673 return self.menu_get() 675 return object_from_instance(elm_toolbar_item_menu_get(self.item))
674 676
675 def __set__(self, menu): 677 def __set__(self, menu):
676 self.menu_set(menu) 678 elm_toolbar_item_menu_set(self.item, menu)
677 679
678 cpdef menu_set(self, menu): 680 def menu_set(self, menu):
679 elm_toolbar_item_menu_set(self.item, menu) 681 elm_toolbar_item_menu_set(self.item, menu)
680 cpdef menu_get(self): 682 def menu_get(self):
681 return object_from_instance(elm_toolbar_item_menu_get(self.item)) 683 return object_from_instance(elm_toolbar_item_menu_get(self.item))
682 684
683 685
@@ -690,23 +692,26 @@ cdef class ToolbarItem(ObjectItem):
690 692
691 property state: 693 property state:
692 """An item state.""" 694 """An item state."""
693 def __set__(self, value): 695 def __set__(self, ToolbarItemState state):
694 self.state_set(value) 696 if not elm_toolbar_item_state_set(self.item, state.state):
697 raise RuntimeError("Could not set state")
695 698
696 def __del__(self): 699 def __del__(self):
697 self.state_unset() 700 elm_toolbar_item_state_unset(self.item)
698 701
699 def __get__(self): 702 def __get__(self):
700 return self.state_get() 703 cdef ToolbarItemState ret = ToolbarItemState.__new__(ToolbarItemState)
704 ret.state = elm_toolbar_item_state_get(self.item)
705 return ret if ret.state != NULL else None
701 706
702 cpdef state_set(self, ToolbarItemState state): 707 def state_set(self, ToolbarItemState state):
703 if not elm_toolbar_item_state_set(self.item, state.state): 708 if not elm_toolbar_item_state_set(self.item, state.state):
704 raise RuntimeError("Could not set state") 709 raise RuntimeError("Could not set state")
705 710
706 cpdef state_unset(self): 711 def state_unset(self):
707 elm_toolbar_item_state_unset(self.item) 712 elm_toolbar_item_state_unset(self.item)
708 713
709 cpdef state_get(self): 714 def state_get(self):
710 cdef ToolbarItemState ret = ToolbarItemState.__new__(ToolbarItemState) 715 cdef ToolbarItemState ret = ToolbarItemState.__new__(ToolbarItemState)
711 ret.state = elm_toolbar_item_state_get(self.item) 716 ret.state = elm_toolbar_item_state_get(self.item)
712 return ret if ret.state != NULL else None 717 return ret if ret.state != NULL else None
@@ -914,16 +919,16 @@ cdef class Toolbar(Object):
914 length of the item is set according its min value (this property is False). 919 length of the item is set according its min value (this property is False).
915 920
916 """ 921 """
917 def __set__(self, value): 922 def __set__(self, bint transverse_expanded):
918 self.transverse_expanded_set(value) 923 elm_toolbar_transverse_expanded_set(self.obj, transverse_expanded)
919 924
920 def __get__(self): 925 def __get__(self):
921 return self.transverse_expanded_get() 926 return bool(elm_toolbar_transverse_expanded_get(self.obj))
922 927
923 cpdef transverse_expanded_set(self, transverse_expanded): 928 def transverse_expanded_set(self, bint transverse_expanded):
924 elm_toolbar_transverse_expanded_set(self.obj, transverse_expanded) 929 elm_toolbar_transverse_expanded_set(self.obj, transverse_expanded)
925 930
926 cpdef transverse_expanded_get(self): 931 def transverse_expanded_get(self):
927 return bool(elm_toolbar_transverse_expanded_get(self.obj)) 932 return bool(elm_toolbar_transverse_expanded_get(self.obj))
928 933
929 property homogeneous: 934 property homogeneous:
@@ -1063,16 +1068,16 @@ cdef class Toolbar(Object):
1063 :type: bool 1068 :type: bool
1064 1069
1065 """ 1070 """
1066 def __set__(self, value): 1071 def __set__(self, bint reorder_mode):
1067 self.reorder_mode_set(value) 1072 elm_toolbar_reorder_mode_set(self.obj, reorder_mode)
1068 1073
1069 def __get__(self): 1074 def __get__(self):
1070 return self.reorder_mode_get() 1075 return bool(elm_toolbar_reorder_mode_get(self.obj))
1071 1076
1072 cpdef reorder_mode_set(self, reorder_mode): 1077 def reorder_mode_set(self, bint reorder_mode):
1073 elm_toolbar_reorder_mode_set(self.obj, reorder_mode) 1078 elm_toolbar_reorder_mode_set(self.obj, reorder_mode)
1074 1079
1075 cpdef reorder_mode_get(self): 1080 def reorder_mode_get(self):
1076 return bool(elm_toolbar_reorder_mode_get(self.obj)) 1081 return bool(elm_toolbar_reorder_mode_get(self.obj))
1077 1082
1078 def callback_clicked_add(self, func, *args, **kwargs): 1083 def callback_clicked_add(self, func, *args, **kwargs):
diff --git a/efl/elementary/transit.pyx b/efl/elementary/transit.pyx
index fce5e6d..a5d9661 100644
--- a/efl/elementary/transit.pyx
+++ b/efl/elementary/transit.pyx
@@ -537,15 +537,19 @@ cdef class Transit(object):
537 537
538 """ 538 """
539 def __set__(self, value): 539 def __set__(self, value):
540 self.tween_mode_factor_set(*value) 540 cdef float v1, v2
541 v1, v2 = value
542 elm_transit_tween_mode_factor_set(self.obj, v1, v2)
541 543
542 def __get__(self): 544 def __get__(self):
543 return self.tween_mode_factor_get() 545 cdef double v1, v2
546 elm_transit_tween_mode_factor_get(self.obj, &v1, &v2)
547 return (v1, v2)
544 548
545 cpdef tween_mode_factor_set(self, float v1, float v2): 549 def tween_mode_factor_set(self, float v1, float v2):
546 elm_transit_tween_mode_factor_set(self.obj, v1, v2) 550 elm_transit_tween_mode_factor_set(self.obj, v1, v2)
547 551
548 cpdef tween_mode_factor_get(self): 552 def tween_mode_factor_get(self):
549 cdef double v1, v2 553 cdef double v1, v2
550 elm_transit_tween_mode_factor_get(self.obj, &v1, &v2) 554 elm_transit_tween_mode_factor_get(self.obj, &v1, &v2)
551 return (v1, v2) 555 return (v1, v2)
@@ -651,17 +655,17 @@ cdef class Transit(object):
651 :since: 1.8 655 :since: 1.8
652 656
653 """ 657 """
654 def __set__(self, value): 658 def __set__(self, bint smooth):
655 self.smooth_set(value) 659 elm_transit_smooth_set(self.obj, smooth)
656 660
657 def __get__(self): 661 def __get__(self):
658 return self.smooth_get() 662 return bool(elm_transit_smooth_get(self.obj))
659 663
660 cpdef smooth_set(self, bint smooth): 664 def smooth_set(self, bint smooth):
661 elm_transit_smooth_set(self.obj, smooth) 665 elm_transit_smooth_set(self.obj, smooth)
662 666
663 cpdef bint smooth_get(self): 667 def smooth_get(self):
664 return elm_transit_smooth_get(self.obj) 668 return bool(elm_transit_smooth_get(self.obj))
665 669
666 def effect_resizing_add(self, Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h): 670 def effect_resizing_add(self, Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h):
667 """effect_resizing_add(int from_w, int from_h, int to_w, int to_h) 671 """effect_resizing_add(int from_w, int from_h, int to_w, int to_h)
diff --git a/efl/elementary/video.pyx b/efl/elementary/video.pyx
index 414f2d0..6abd16c 100644
--- a/efl/elementary/video.pyx
+++ b/efl/elementary/video.pyx
@@ -66,10 +66,13 @@ cdef class Video(LayoutClass):
66 66
67 """ 67 """
68 def __set__(self, filename): 68 def __set__(self, filename):
69 self.file_set(filename) 69 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
70 if not elm_video_file_set(self.obj,
71 <const_char *>filename if filename is not None else NULL):
72 raise RuntimeError("Could not set file.")
70 73
71 # NOTE: clash with layout.file_set 74 # NOTE: clash with layout.file_set
72 cpdef file_set(self, filename, group = None): 75 def file_set(self, filename, group = None):
73 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 76 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
74 if not elm_video_file_set(self.obj, 77 if not elm_video_file_set(self.obj,
75 <const_char *>filename if filename is not None else NULL): 78 <const_char *>filename if filename is not None else NULL):
diff --git a/efl/elementary/window.pyx b/efl/elementary/window.pyx
index 7b76495..2150a4f 100644
--- a/efl/elementary/window.pyx
+++ b/efl/elementary/window.pyx
@@ -490,15 +490,17 @@ cdef class Window(Object):
490 490
491 """ 491 """
492 def __get__(self): 492 def __get__(self):
493 return self.title_get() 493 return _ctouni(elm_win_title_get(self.obj))
494 def __set__(self, title): 494 def __set__(self, title):
495 self.title_set(title) 495 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
496 elm_win_title_set(self.obj,
497 <const_char *>title if title is not None else NULL)
496 498
497 cpdef title_set(self, title): 499 def title_set(self, title):
498 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title) 500 if isinstance(title, unicode): title = PyUnicode_AsUTF8String(title)
499 elm_win_title_set(self.obj, 501 elm_win_title_set(self.obj,
500 <const_char *>title if title is not None else NULL) 502 <const_char *>title if title is not None else NULL)
501 cpdef title_get(self): 503 def title_get(self):
502 return _ctouni(elm_win_title_get(self.obj)) 504 return _ctouni(elm_win_title_get(self.obj))
503 505
504 property icon_name: 506 property icon_name:
@@ -826,12 +828,29 @@ cdef class Window(Object):
826 828
827 """ 829 """
828 def __set__(self, list profiles): 830 def __set__(self, list profiles):
829 self.available_profiles_set(profiles) 831 cdef:
832 const_char **array
833 unsigned int arr_len = len(profiles)
834 unsigned int i
835
836 try:
837 array = python_list_strings_to_array_of_strings(profiles)
838 elm_win_available_profiles_set(self.obj, array, arr_len)
839 finally:
840 for i in range(arr_len):
841 free(<void *>array[i])
842 free(array)
830 843
831 def __get__(self): 844 def __get__(self):
832 return self.available_profiles_get() 845 cdef:
833 846 char **profiles
834 cpdef available_profiles_set(self, list profiles): 847 unsigned int count
848 ret = elm_win_available_profiles_get(self.obj, &profiles, &count)
849 if ret is 0:
850 raise RuntimeError("No available profiles")
851 return array_of_strings_to_python_list(profiles, count)
852
853 def available_profiles_set(self, list profiles):
835 cdef: 854 cdef:
836 const_char **array 855 const_char **array
837 unsigned int arr_len = len(profiles) 856 unsigned int arr_len = len(profiles)
@@ -845,7 +864,7 @@ cdef class Window(Object):
845 free(<void *>array[i]) 864 free(<void *>array[i])
846 free(array) 865 free(array)
847 866
848 cpdef available_profiles_get(self): 867 def available_profiles_get(self):
849 cdef: 868 cdef:
850 char **profiles 869 char **profiles
851 unsigned int count 870 unsigned int count
@@ -861,16 +880,18 @@ cdef class Window(Object):
861 880
862 """ 881 """
863 def __set__(self, profile): 882 def __set__(self, profile):
864 self.profile_set(profile) 883 if isinstance(profile, unicode): profile = PyUnicode_AsUTF8String(profile)
884 elm_win_profile_set(self.obj,
885 <const_char *>profile if profile is not None else NULL)
865 886
866 def __get__(self): 887 def __get__(self):
867 return self.profile_get() 888 return _ctouni(elm_win_profile_get(self.obj))
868 889
869 cpdef profile_set(self, profile): 890 def profile_set(self, profile):
870 if isinstance(profile, unicode): profile = PyUnicode_AsUTF8String(profile) 891 if isinstance(profile, unicode): profile = PyUnicode_AsUTF8String(profile)
871 elm_win_profile_set(self.obj, 892 elm_win_profile_set(self.obj,
872 <const_char *>profile if profile is not None else NULL) 893 <const_char *>profile if profile is not None else NULL)
873 cpdef profile_get(self): 894 def profile_get(self):
874 return _ctouni(elm_win_profile_get(self.obj)) 895 return _ctouni(elm_win_profile_get(self.obj))
875 896
876 property urgent: 897 property urgent:
@@ -1001,13 +1022,13 @@ cdef class Window(Object):
1001 1022
1002 """ 1023 """
1003 def __get__(self): 1024 def __get__(self):
1004 return self.layer_get() 1025 return elm_win_layer_get(self.obj)
1005 def __set__(self, layer): 1026 def __set__(self, layer):
1006 self.layer_set(layer) 1027 elm_win_layer_set(self.obj, layer)
1007 1028
1008 cpdef layer_set(self, int layer): 1029 def layer_set(self, int layer):
1009 elm_win_layer_set(self.obj, layer) 1030 elm_win_layer_set(self.obj, layer)
1010 cpdef layer_get(self): 1031 def layer_get(self):
1011 return elm_win_layer_get(self.obj) 1032 return elm_win_layer_get(self.obj)
1012 1033
1013 def norender_push(self): 1034 def norender_push(self):
@@ -1292,9 +1313,9 @@ cdef class Window(Object):
1292 1313
1293 """ 1314 """
1294 def __get__(self): 1315 def __get__(self):
1295 return self.focus_get() 1316 return bool(elm_win_focus_get(self.obj))
1296 1317
1297 cpdef focus_get(self): 1318 def focus_get(self):
1298 return bool(elm_win_focus_get(self.obj)) 1319 return bool(elm_win_focus_get(self.obj))
1299 1320
1300 property screen_constrain: 1321 property screen_constrain:
@@ -1378,15 +1399,17 @@ cdef class Window(Object):
1378 1399
1379 """ 1400 """
1380 def __get__(self): 1401 def __get__(self):
1381 return self.focus_highlight_style_get() 1402 return _ctouni(elm_win_focus_highlight_style_get(self.obj))
1382 def __set__(self, style): 1403 def __set__(self, style):
1383 self.focus_highlight_style_set(style) 1404 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1405 elm_win_focus_highlight_style_set(self.obj,
1406 <const_char *>style if style is not None else NULL)
1384 1407
1385 cpdef focus_highlight_style_set(self, style): 1408 def focus_highlight_style_set(self, style):
1386 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style) 1409 if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
1387 elm_win_focus_highlight_style_set(self.obj, 1410 elm_win_focus_highlight_style_set(self.obj,
1388 <const_char *>style if style is not None else NULL) 1411 <const_char *>style if style is not None else NULL)
1389 cpdef focus_highlight_style_get(self): 1412 def focus_highlight_style_get(self):
1390 return _ctouni(elm_win_focus_highlight_style_get(self.obj)) 1413 return _ctouni(elm_win_focus_highlight_style_get(self.obj))
1391 1414
1392 property focus_highlight_animate: 1415 property focus_highlight_animate:
diff --git a/efl/evas/efl.evas_object.pxi b/efl/evas/efl.evas_object.pxi
index 5a34590..0f642c0 100644
--- a/efl/evas/efl.evas_object.pxi
+++ b/efl/evas/efl.evas_object.pxi
@@ -16,6 +16,7 @@
16# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>. 16# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
17 17
18from cpython cimport Py_INCREF, Py_DECREF 18from cpython cimport Py_INCREF, Py_DECREF
19from efl.utils.conversions cimport eina_list_objects_to_python_list
19 20
20 21
21cdef int _object_free_wrapper_resources(Object obj) except 0: 22cdef int _object_free_wrapper_resources(Object obj) except 0:
@@ -266,15 +267,15 @@ cdef class Object(Eo):
266 :type: int 267 :type: int
267 268
268 """ 269 """
269 def __set__(self, int l): 270 def __set__(self, int layer):
270 self.layer_set(l) 271 evas_object_layer_set(self.obj, layer)
271 272
272 def __get__(self): 273 def __get__(self):
273 return self.layer_get() 274 return evas_object_layer_get(self.obj)
274 275
275 cpdef layer_set(self, int layer): 276 def layer_set(self, int layer):
276 evas_object_layer_set(self.obj, layer) 277 evas_object_layer_set(self.obj, layer)
277 cpdef layer_get(self): 278 def layer_get(self):
278 return evas_object_layer_get(self.obj) 279 return evas_object_layer_get(self.obj)
279 280
280 281
@@ -371,18 +372,21 @@ cdef class Object(Eo):
371 372
372 """ 373 """
373 def __get__(self): 374 def __get__(self):
374 return self.geometry_get() 375 cdef int x, y, w, h
376 evas_object_geometry_get(self.obj, &x, &y, &w, &h)
377 return (x, y, w, h)
375 378
376 def __set__(self, spec): 379 def __set__(self, spec):
377 cdef int x, y, w, h 380 cdef int x, y, w, h
378 x, y, w, h = spec 381 x, y, w, h = spec
379 self.geometry_set(x, y, w, h) 382 evas_object_move(self.obj, x, y)
383 evas_object_resize(self.obj, w, h)
380 384
381 cpdef geometry_get(self): 385 def geometry_get(self):
382 cdef int x, y, w, h 386 cdef int x, y, w, h
383 evas_object_geometry_get(self.obj, &x, &y, &w, &h) 387 evas_object_geometry_get(self.obj, &x, &y, &w, &h)
384 return (x, y, w, h) 388 return (x, y, w, h)
385 cpdef geometry_set(self, int x, int y, int w, int h): 389 def geometry_set(self, int x, int y, int w, int h):
386 evas_object_move(self.obj, x, y) 390 evas_object_move(self.obj, x, y)
387 evas_object_resize(self.obj, w, h) 391 evas_object_resize(self.obj, w, h)
388 392
@@ -393,18 +397,20 @@ cdef class Object(Eo):
393 397
394 """ 398 """
395 def __get__(self): 399 def __get__(self):
396 return self.size_get() 400 cdef int w, h
401 evas_object_geometry_get(self.obj, NULL, NULL, &w, &h)
402 return (w, h)
397 403
398 def __set__(self, spec): 404 def __set__(self, spec):
399 cdef int w, h 405 cdef int w, h
400 w, h = spec 406 w, h = spec
401 self.size_set(w, h) 407 evas_object_resize(self.obj, w, h)
402 408
403 cpdef size_get(self): 409 def size_get(self):
404 cdef int w, h 410 cdef int w, h
405 evas_object_geometry_get(self.obj, NULL, NULL, &w, &h) 411 evas_object_geometry_get(self.obj, NULL, NULL, &w, &h)
406 return (w, h) 412 return (w, h)
407 cpdef size_set(self, int w, int h): 413 def size_set(self, int w, int h):
408 evas_object_resize(self.obj, w, h) 414 evas_object_resize(self.obj, w, h)
409 415
410 def resize(self, int w, int h): 416 def resize(self, int w, int h):
@@ -783,15 +789,15 @@ cdef class Object(Eo):
783 789
784 """ 790 """
785 def __get__(self): 791 def __get__(self):
786 return self.size_hint_display_mode_get() 792 return evas_object_size_hint_display_mode_get(self.obj)
787 793
788 def __set__(self, value): 794 def __set__(self, Evas_Display_Mode dispmode):
789 self.size_hint_display_mode_set(value) 795 evas_object_size_hint_display_mode_set(self.obj, dispmode)
790 796
791 cpdef size_hint_display_mode_get(self): 797 def size_hint_display_mode_get(self):
792 return evas_object_size_hint_display_mode_get(self.obj) 798 return evas_object_size_hint_display_mode_get(self.obj)
793 799
794 cpdef size_hint_display_mode_set(self, Evas_Display_Mode dispmode): 800 def size_hint_display_mode_set(self, Evas_Display_Mode dispmode):
795 evas_object_size_hint_display_mode_set(self.obj, dispmode) 801 evas_object_size_hint_display_mode_set(self.obj, dispmode)
796 802
797 property size_hint_request: 803 property size_hint_request:
@@ -1002,14 +1008,17 @@ cdef class Object(Eo):
1002 1008
1003 """ 1009 """
1004 def __get__(self): 1010 def __get__(self):
1005 return self.visible_get() 1011 return bool(evas_object_visible_get(self.obj))
1006 1012
1007 def __set__(self, spec): 1013 def __set__(self, spec):
1008 self.visible_set(spec) 1014 if spec:
1015 self.show()
1016 else:
1017 self.hide()
1009 1018
1010 cpdef visible_get(self): 1019 def visible_get(self):
1011 return bool(evas_object_visible_get(self.obj)) 1020 return bool(evas_object_visible_get(self.obj))
1012 cpdef visible_set(self, spec): 1021 def visible_set(self, spec):
1013 if spec: 1022 if spec:
1014 self.show() 1023 self.show()
1015 else: 1024 else:
@@ -1030,16 +1039,16 @@ cdef class Object(Eo):
1030 making Evas more resource intensive. 1039 making Evas more resource intensive.
1031 1040
1032 """ 1041 """
1033 def __set__(self, value): 1042 def __set__(self, precise):
1034 self.precise_is_inside_set(value) 1043 evas_object_precise_is_inside_set(self.obj, precise)
1035 1044
1036 def __get__(self): 1045 def __get__(self):
1037 return self.precise_is_inside_get() 1046 return bool(evas_object_precise_is_inside_get(self.obj))
1038 1047
1039 cpdef precise_is_inside_set(self, precise): 1048 def precise_is_inside_set(self, precise):
1040 evas_object_precise_is_inside_set(self.obj, precise) 1049 evas_object_precise_is_inside_set(self.obj, precise)
1041 1050
1042 cpdef precise_is_inside_get(self): 1051 def precise_is_inside_get(self):
1043 return bool(evas_object_precise_is_inside_get(self.obj)) 1052 return bool(evas_object_precise_is_inside_get(self.obj))
1044 1053
1045 property static_clip: 1054 property static_clip:
@@ -1109,16 +1118,16 @@ cdef class Object(Eo):
1109 handlers. Other objects won't change visually on this call. 1118 handlers. Other objects won't change visually on this call.
1110 1119
1111 """ 1120 """
1112 def __set__(self, value): 1121 def __set__(self, scale):
1113 self.scale_set(value) 1122 evas_object_scale_set(self.obj, scale)
1114 1123
1115 def __get__(self): 1124 def __get__(self):
1116 return self.scale_get() 1125 return evas_object_scale_get(self.obj)
1117 1126
1118 cpdef scale_set(self, double scale): 1127 def scale_set(self, double scale):
1119 evas_object_scale_set(self.obj, scale) 1128 evas_object_scale_set(self.obj, scale)
1120 1129
1121 cpdef scale_get(self): 1130 def scale_get(self):
1122 return evas_object_scale_get(self.obj) 1131 return evas_object_scale_get(self.obj)
1123 1132
1124 property color: 1133 property color:
@@ -1129,7 +1138,9 @@ cdef class Object(Eo):
1129 """ 1138 """
1130 1139
1131 def __get__(self): 1140 def __get__(self):
1132 return self.color_get() 1141 cdef int r, g, b, a
1142 evas_object_color_get(self.obj, &r, &g, &b, &a)
1143 return (r, g, b, a)
1133 1144
1134 def __set__(self, color): 1145 def __set__(self, color):
1135 cdef int r, g, b, a 1146 cdef int r, g, b, a
@@ -1138,7 +1149,7 @@ cdef class Object(Eo):
1138 1149
1139 def color_set(self, int r, int g, int b, int a): 1150 def color_set(self, int r, int g, int b, int a):
1140 evas_object_color_set(self.obj, r, g, b, a) 1151 evas_object_color_set(self.obj, r, g, b, a)
1141 cpdef color_get(self): 1152 def color_get(self):
1142 cdef int r, g, b, a 1153 cdef int r, g, b, a
1143 evas_object_color_get(self.obj, &r, &g, &b, &a) 1154 evas_object_color_get(self.obj, &r, &g, &b, &a)
1144 return (r, g, b, a) 1155 return (r, g, b, a)
@@ -1150,7 +1161,7 @@ cdef class Object(Eo):
1150 1161
1151 """ 1162 """
1152 def __get__(self): 1163 def __get__(self):
1153 return self.clip_get() 1164 return object_from_instance(evas_object_clip_get(self.obj))
1154 1165
1155 def __set__(self, value): 1166 def __set__(self, value):
1156 cdef Evas_Object *clip 1167 cdef Evas_Object *clip
@@ -1167,7 +1178,7 @@ cdef class Object(Eo):
1167 def __del__(self): 1178 def __del__(self):
1168 evas_object_clip_unset(self.obj) 1179 evas_object_clip_unset(self.obj)
1169 1180
1170 cpdef clip_get(self): 1181 def clip_get(self):
1171 return object_from_instance(evas_object_clip_get(self.obj)) 1182 return object_from_instance(evas_object_clip_get(self.obj))
1172 1183
1173 def clip_set(self, value): 1184 def clip_set(self, value):
@@ -1195,17 +1206,8 @@ cdef class Object(Eo):
1195 def __get__(self): 1206 def __get__(self):
1196 return self.clipees_get() 1207 return self.clipees_get()
1197 1208
1198 cpdef clipees_get(self): 1209 def clipees_get(self):
1199 # TODO: objects to python 1210 return eina_list_objects_to_python_list(evas_object_clipees_get(self.obj))
1200 cdef const_Eina_List *itr
1201 cdef Object o
1202 ret = []
1203 itr = evas_object_clipees_get(self.obj)
1204 while itr:
1205 o = object_from_instance(<Evas_Object*>itr.data)
1206 ret.append(o)
1207 itr = itr.next
1208 return tuple(ret)
1209 1211
1210 property name: 1212 property name:
1211 """Object name or *None*. 1213 """Object name or *None*.
@@ -1214,14 +1216,16 @@ cdef class Object(Eo):
1214 1216
1215 """ 1217 """
1216 def __get__(self): 1218 def __get__(self):
1217 return self.name_get() 1219 return _ctouni(evas_object_name_get(self.obj))
1218 1220
1219 def __set__(self, value): 1221 def __set__(self, value):
1220 self.name_set(value) 1222 if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value)
1223 evas_object_name_set(self.obj,
1224 <const_char *>value if value is not None else NULL)
1221 1225
1222 cpdef name_get(self): 1226 def name_get(self):
1223 return _ctouni(evas_object_name_get(self.obj)) 1227 return _ctouni(evas_object_name_get(self.obj))
1224 cpdef name_set(self, value): 1228 def name_set(self, value):
1225 if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value) 1229 if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value)
1226 evas_object_name_set(self.obj, 1230 evas_object_name_set(self.obj,
1227 <const_char *>value if value is not None else NULL) 1231 <const_char *>value if value is not None else NULL)
@@ -1233,14 +1237,14 @@ cdef class Object(Eo):
1233 1237
1234 """ 1238 """
1235 def __get__(self): 1239 def __get__(self):
1236 return self.focus_get() 1240 return bool(evas_object_focus_get(self.obj))
1237 1241
1238 def __set__(self, value): 1242 def __set__(self, value):
1239 self.focus_set(value) 1243 evas_object_focus_set(self.obj, value)
1240 1244
1241 cpdef focus_get(self): 1245 def focus_get(self):
1242 return bool(evas_object_focus_get(self.obj)) 1246 return bool(evas_object_focus_get(self.obj))
1243 cpdef focus_set(self, value): 1247 def focus_set(self, value):
1244 evas_object_focus_set(self.obj, value) 1248 evas_object_focus_set(self.obj, value)
1245 1249
1246 def event_callback_add(self, Evas_Callback_Type type, func, *args, **kargs): 1250 def event_callback_add(self, Evas_Callback_Type type, func, *args, **kargs):
@@ -1633,16 +1637,16 @@ cdef class Object(Eo):
1633 :py:attr:`propagate_events` 1637 :py:attr:`propagate_events`
1634 1638
1635 """ 1639 """
1636 def __set__(self, value): 1640 def __set__(self, freeze):
1637 self.freeze_events_set(value) 1641 evas_object_freeze_events_set(self.obj, freeze)
1638 1642
1639 def __get__(self): 1643 def __get__(self):
1640 return self.freeze_events_get() 1644 return bool(evas_object_freeze_events_get(self.obj))
1641 1645
1642 cpdef freeze_events_set(self, freeze): 1646 def freeze_events_set(self, freeze):
1643 evas_object_freeze_events_set(self.obj, freeze) 1647 evas_object_freeze_events_set(self.obj, freeze)
1644 1648
1645 cpdef freeze_events_get(self): 1649 def freeze_events_get(self):
1646 return bool(evas_object_freeze_events_get(self.obj)) 1650 return bool(evas_object_freeze_events_get(self.obj))
1647 1651
1648 property pointer_mode: 1652 property pointer_mode:
@@ -1710,14 +1714,16 @@ cdef class Object(Eo):
1710 1714
1711 """ 1715 """
1712 def __get__(self): 1716 def __get__(self):
1713 return self.map_get() 1717 cdef Map ret = Map.__new__(Map)
1714 def __set__(self, map): 1718 ret.map = <Evas_Map *>evas_object_map_get(self.obj)
1715 self.map_set(map) 1719 return ret
1720 def __set__(self, Map m):
1721 evas_object_map_set(self.obj, m.map)
1716 1722
1717 cpdef map_set(self, Map map): 1723 def map_set(self, Map m):
1718 evas_object_map_set(self.obj, map.map) 1724 evas_object_map_set(self.obj, m.map)
1719 1725
1720 cpdef map_get(self): 1726 def map_get(self):
1721 cdef Map ret = Map.__new__(Map) 1727 cdef Map ret = Map.__new__(Map)
1722 ret.map = <Evas_Map *>evas_object_map_get(self.obj) 1728 ret.map = <Evas_Map *>evas_object_map_get(self.obj)
1723 return ret 1729 return ret
@@ -1793,14 +1799,14 @@ cdef class Object(Eo):
1793 1799
1794 property is_frame_object: 1800 property is_frame_object:
1795 """:type: bool""" 1801 """:type: bool"""
1796 def __set__(self, value): 1802 def __set__(self, bint is_frame):
1797 self.is_frame_object_set(value) 1803 evas_object_is_frame_object_set(self.obj, is_frame);
1798 1804
1799 def __get__(self): 1805 def __get__(self):
1800 return self.is_frame_object_get() 1806 return bool(evas_object_is_frame_object_get(self.obj))
1801 1807
1802 cpdef is_frame_object_set(self, bint is_frame): 1808 def is_frame_object_set(self, bint is_frame):
1803 evas_object_is_frame_object_set(self.obj, is_frame); 1809 evas_object_is_frame_object_set(self.obj, is_frame);
1804 1810
1805 cpdef is_frame_object_get(self): 1811 def is_frame_object_get(self):
1806 return bool(evas_object_is_frame_object_get(self.obj)) 1812 return bool(evas_object_is_frame_object_get(self.obj))
diff --git a/efl/evas/efl.evas_object_box.pxi b/efl/evas/efl.evas_object_box.pxi
index 51c610d..85ac3ca 100644
--- a/efl/evas/efl.evas_object_box.pxi
+++ b/efl/evas/efl.evas_object_box.pxi
@@ -62,18 +62,21 @@ cdef class Box(Object):
62 62
63 """ 63 """
64 def __get__(self): 64 def __get__(self):
65 return self.align_get() 65 cdef double horizontal, vertical
66 evas_object_box_align_get(self.obj, &horizontal, &vertical)
67 return (horizontal, vertical)
66 68
67 def __set__(self, v): 69 def __set__(self, v):
68 (horizontal, vertical) = v 70 cdef double horizontal, vertical
69 self.align_set(horizontal, vertical) 71 horizontal, vertical = v
72 evas_object_box_align_set(self.obj, horizontal, vertical)
70 73
71 cpdef align_get(self): 74 def align_get(self):
72 cdef double horizontal, vertical 75 cdef double horizontal, vertical
73 evas_object_box_align_get(self.obj, &horizontal, &vertical) 76 evas_object_box_align_get(self.obj, &horizontal, &vertical)
74 return (horizontal, vertical) 77 return (horizontal, vertical)
75 78
76 cpdef align_set(self, double horizontal, double vertical): 79 def align_set(self, double horizontal, double vertical):
77 evas_object_box_align_set(self.obj, horizontal, vertical) 80 evas_object_box_align_set(self.obj, horizontal, vertical)
78 81
79 property padding: 82 property padding:
@@ -85,18 +88,21 @@ cdef class Box(Object):
85 88
86 """ 89 """
87 def __get__(self): 90 def __get__(self):
88 return self.padding_get() 91 cdef Evas_Coord horizontal, vertical
92 evas_object_box_padding_get(self.obj, &horizontal, &vertical)
93 return (horizontal, vertical)
89 94
90 def __set__(self, v): 95 def __set__(self, v):
91 (horizontal, vertical) = v 96 cdef Evas_Coord horizontal, vertical
92 self.padding_set(horizontal, vertical) 97 horizontal, vertical = v
98 evas_object_box_padding_set(self.obj, horizontal, vertical)
93 99
94 cpdef padding_get(self): 100 def padding_get(self):
95 cdef Evas_Coord horizontal, vertical 101 cdef Evas_Coord horizontal, vertical
96 evas_object_box_padding_get(self.obj, &horizontal, &vertical) 102 evas_object_box_padding_get(self.obj, &horizontal, &vertical)
97 return (horizontal, vertical) 103 return (horizontal, vertical)
98 104
99 cpdef padding_set(self, Evas_Coord horizontal, Evas_Coord vertical): 105 def padding_set(self, Evas_Coord horizontal, Evas_Coord vertical):
100 evas_object_box_padding_set(self.obj, horizontal, vertical) 106 evas_object_box_padding_set(self.obj, horizontal, vertical)
101 107
102 def append(self, Object child): 108 def append(self, Object child):
diff --git a/efl/evas/efl.evas_object_grid.pxi b/efl/evas/efl.evas_object_grid.pxi
index 5f8f4b3..00319e4 100644
--- a/efl/evas/efl.evas_object_grid.pxi
+++ b/efl/evas/efl.evas_object_grid.pxi
@@ -32,11 +32,20 @@ cdef class Grid(Object):
32 :type: (int **w**, int **h**) 32 :type: (int **w**, int **h**)
33 33
34 """ 34 """
35 def __set__(self, value):
36 cdef int w, h
37 w, h = value
38 evas_object_grid_size_set(self.obj, w, h)
35 39
36 cpdef grid_size_set(self, int w, int h): 40 def __get__(self):
41 cdef int w, h
42 evas_object_grid_size_get(self.obj, &w, &h)
43 return (w, h)
44
45 def grid_size_set(self, int w, int h):
37 evas_object_grid_size_set(self.obj, w, h) 46 evas_object_grid_size_set(self.obj, w, h)
38 47
39 cpdef grid_size_get(self): 48 def grid_size_get(self):
40 cdef int w, h 49 cdef int w, h
41 evas_object_grid_size_get(self.obj, &w, &h) 50 evas_object_grid_size_get(self.obj, &w, &h)
42 return (w, h) 51 return (w, h)
@@ -50,11 +59,16 @@ cdef class Grid(Object):
50 :type: bool 59 :type: bool
51 60
52 """ 61 """
62 def __set__(self, bint mirrored):
63 evas_object_grid_mirrored_set(self.obj, mirrored)
64
65 def __get__(self):
66 return bool(evas_object_grid_mirrored_get(self.obj))
53 67
54 cpdef mirrored_set(self, bint mirrored): 68 def mirrored_set(self, bint mirrored):
55 evas_object_grid_mirrored_set(self.obj, mirrored) 69 evas_object_grid_mirrored_set(self.obj, mirrored)
56 70
57 cpdef bint mirrored_get(self): 71 def mirrored_get(self):
58 return bool(evas_object_grid_mirrored_get(self.obj)) 72 return bool(evas_object_grid_mirrored_get(self.obj))
59 73
60 def pack(self, Object child not None, int x, int y, int w, int h): 74 def pack(self, Object child not None, int x, int y, int w, int h):
@@ -126,8 +140,14 @@ cdef class Grid(Object):
126 :type: list 140 :type: list
127 141
128 """ 142 """
129 143 def __get__(self):
130 cpdef children_get(self): 144 cdef:
145 Eina_List *lst = evas_object_grid_children_get(self.obj)
146 list ret = eina_list_objects_to_python_list(lst)
147 eina_list_free(lst)
148 return ret
149
150 def children_get(self):
131 cdef: 151 cdef:
132 Eina_List *lst = evas_object_grid_children_get(self.obj) 152 Eina_List *lst = evas_object_grid_children_get(self.obj)
133 list ret = eina_list_objects_to_python_list(lst) 153 list ret = eina_list_objects_to_python_list(lst)
diff --git a/efl/evas/efl.evas_object_image.pxi b/efl/evas/efl.evas_object_image.pxi
index cd18eba..684a3d0 100644
--- a/efl/evas/efl.evas_object_image.pxi
+++ b/efl/evas/efl.evas_object_image.pxi
@@ -193,14 +193,26 @@ cdef class Image(Object):
193 193
194 """ 194 """
195 def __get__(self): 195 def __get__(self):
196 return self.file_get() 196 cdef const_char *file, *key
197 evas_object_image_file_get(self.obj, &file, &key)
198 return (_ctouni(file), _ctouni(key))
197 199
198 def __set__(self, value): 200 def __set__(self, value):
199 if isinstance(value, str): 201 if isinstance(value, str):
200 value = (value, None) 202 filename, key = value, None
201 self.file_set(*value) 203 else:
202 204 filename, key = value
203 cpdef file_set(self, filename, key=None): 205 cdef int err
206 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
207 if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
208 evas_object_image_file_set(self.obj,
209 <const_char *>filename if filename is not None else NULL,
210 <const_char *>key if key is not None else NULL)
211 err = evas_object_image_load_error_get(self.obj)
212 if err != EVAS_LOAD_ERROR_NONE:
213 raise EvasLoadError(err, filename, key)
214
215 def file_set(self, filename, key=None):
204 cdef int err 216 cdef int err
205 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename) 217 if isinstance(filename, unicode): filename = PyUnicode_AsUTF8String(filename)
206 if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key) 218 if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
@@ -211,7 +223,7 @@ cdef class Image(Object):
211 if err != EVAS_LOAD_ERROR_NONE: 223 if err != EVAS_LOAD_ERROR_NONE:
212 raise EvasLoadError(err, filename, key) 224 raise EvasLoadError(err, filename, key)
213 225
214 cpdef file_get(self): 226 def file_get(self):
215 cdef const_char *file, *key 227 cdef const_char *file, *key
216 evas_object_image_file_get(self.obj, &file, &key) 228 evas_object_image_file_get(self.obj, &file, &key)
217 return (_ctouni(file), _ctouni(key)) 229 return (_ctouni(file), _ctouni(key))
@@ -229,17 +241,21 @@ cdef class Image(Object):
229 241
230 """ 242 """
231 def __get__(self): 243 def __get__(self):
232 return self.border_get() 244 cdef int left, right, top, bottom
245 evas_object_image_border_get(self.obj, &left, &right, &top, &bottom)
246 return (left, right, top, bottom)
233 247
234 def __set__(self, spec): 248 def __set__(self, spec):
235 self.border_set(*spec) 249 cdef int left, right, top, bottom
250 left, right, top, bottom = spec
251 evas_object_image_border_set(self.obj, left, right, top, bottom)
236 252
237 cpdef border_get(self): 253 def border_get(self):
238 cdef int left, right, top, bottom 254 cdef int left, right, top, bottom
239 evas_object_image_border_get(self.obj, &left, &right, &top, &bottom) 255 evas_object_image_border_get(self.obj, &left, &right, &top, &bottom)
240 return (left, right, top, bottom) 256 return (left, right, top, bottom)
241 257
242 cpdef border_set(self, int left, int right, int top, int bottom): 258 def border_set(self, int left, int right, int top, int bottom):
243 evas_object_image_border_set(self.obj, left, right, top, bottom) 259 evas_object_image_border_set(self.obj, left, right, top, bottom)
244 260
245 property border_center_fill: 261 property border_center_fill:
@@ -256,15 +272,15 @@ cdef class Image(Object):
256 272
257 """ 273 """
258 def __get__(self): 274 def __get__(self):
259 return self.border_center_fill_get() 275 return bool(evas_object_image_border_center_fill_get(self.obj))
260 276
261 def __set__(self, int value): 277 def __set__(self, int value):
262 self.border_center_fill_set(value) 278 evas_object_image_border_center_fill_set(self.obj, value)
263 279
264 cpdef border_center_fill_get(self): 280 def border_center_fill_get(self):
265 return bool(evas_object_image_border_center_fill_get(self.obj)) 281 return bool(evas_object_image_border_center_fill_get(self.obj))
266 282
267 cpdef border_center_fill_set(self, int value): 283 def border_center_fill_set(self, int value):
268 evas_object_image_border_center_fill_set(self.obj, value) 284 evas_object_image_border_center_fill_set(self.obj, value)
269 285
270 property filled: 286 property filled:
@@ -281,16 +297,16 @@ cdef class Image(Object):
281 .. seealso:: :py:func:`filled_add` 297 .. seealso:: :py:func:`filled_add`
282 298
283 """ 299 """
284 def __set__(self, value): 300 def __set__(self, setting):
285 self.filled_set(value) 301 evas_object_image_filled_set(self.obj, setting)
286 302
287 def __get__(self): 303 def __get__(self):
288 return self.filled_get() 304 return bool(evas_object_image_filled_get(self.obj))
289 305
290 cpdef filled_set(self, setting): 306 def filled_set(self, setting):
291 evas_object_image_filled_set(self.obj, setting) 307 evas_object_image_filled_set(self.obj, setting)
292 308
293 cpdef filled_get(self): 309 def filled_get(self):
294 return bool(evas_object_image_filled_get(self.obj)) 310 return bool(evas_object_image_filled_get(self.obj))
295 311
296 property border_scale: 312 property border_scale:
@@ -304,16 +320,16 @@ cdef class Image(Object):
304 :see: :py:attr:`border` 320 :see: :py:attr:`border`
305 321
306 """ 322 """
307 def __set__(self, value): 323 def __set__(self, scale):
308 self.border_scale_set(value) 324 evas_object_image_border_scale_set(self.obj, scale)
309 325
310 def __get__(self): 326 def __get__(self):
311 return self.border_scale_get() 327 return evas_object_image_border_scale_get(self.obj)
312 328
313 cpdef border_scale_set(self, scale): 329 def border_scale_set(self, scale):
314 evas_object_image_border_scale_set(self.obj, scale) 330 evas_object_image_border_scale_set(self.obj, scale)
315 331
316 cpdef border_scale_get(self): 332 def border_scale_get(self):
317 return evas_object_image_border_scale_get(self.obj) 333 return evas_object_image_border_scale_get(self.obj)
318 334
319 property fill: 335 property fill:
@@ -331,17 +347,21 @@ cdef class Image(Object):
331 347
332 """ 348 """
333 def __get__(self): 349 def __get__(self):
334 return self.fill_get() 350 cdef int x, y, w, h
351 evas_object_image_fill_get(self.obj, &x, &y, &w, &h)
352 return (x, y, w, h)
335 353
336 def __set__(self, spec): 354 def __set__(self, spec):
337 self.fill_set(*spec) 355 cdef int x, y, w, h
356 x, y, w, h = spec
357 evas_object_image_fill_set(self.obj, x, y, w, h)
338 358
339 cpdef fill_get(self): 359 def fill_get(self):
340 cdef int x, y, w, h 360 cdef int x, y, w, h
341 evas_object_image_fill_get(self.obj, &x, &y, &w, &h) 361 evas_object_image_fill_get(self.obj, &x, &y, &w, &h)
342 return (x, y, w, h) 362 return (x, y, w, h)
343 363
344 cpdef fill_set(self, int x, int y, int w, int h): 364 def fill_set(self, int x, int y, int w, int h):
345 evas_object_image_fill_set(self.obj, x, y, w, h) 365 evas_object_image_fill_set(self.obj, x, y, w, h)
346 366
347 property fill_spread: 367 property fill_spread:
@@ -353,16 +373,16 @@ cdef class Image(Object):
353 :type: Evas_Fill_Spread 373 :type: Evas_Fill_Spread
354 374
355 """ 375 """
356 def __set__(self, value): 376 def __set__(self, Evas_Fill_Spread spread):
357 self.fill_spread_set(value) 377 evas_object_image_fill_spread_set(self.obj, spread)
358 378
359 def __get__(self): 379 def __get__(self):
360 return self.fill_spread_get() 380 return self.fill_spread_get()
361 381
362 cpdef fill_spread_set(self, spread): 382 def fill_spread_set(self, Evas_Fill_Spread spread):
363 evas_object_image_fill_spread_set(self.obj, spread) 383 evas_object_image_fill_spread_set(self.obj, spread)
364 384
365 cpdef fill_spread_get(self): 385 def fill_spread_get(self):
366 return evas_object_image_fill_spread_get(self.obj) 386 return evas_object_image_fill_spread_get(self.obj)
367 387
368 property image_size: 388 property image_size:
@@ -386,17 +406,21 @@ cdef class Image(Object):
386 406
387 """ 407 """
388 def __get__(self): 408 def __get__(self):
389 return self.image_size_get() 409 cdef int w, h
410 evas_object_image_size_get(self.obj, &w, &h)
411 return (w, h)
390 412
391 def __set__(self, spec): 413 def __set__(self, spec):
392 self.image_size_set(*spec) 414 cdef int w, h
415 w, h = spec
416 evas_object_image_size_set(self.obj, w, h)
393 417
394 cpdef image_size_get(self): 418 def image_size_get(self):
395 cdef int w, h 419 cdef int w, h
396 evas_object_image_size_get(self.obj, &w, &h) 420 evas_object_image_size_get(self.obj, &w, &h)
397 return (w, h) 421 return (w, h)
398 422
399 cpdef image_size_set(self, int w, int h): 423 def image_size_set(self, int w, int h):
400 evas_object_image_size_set(self.obj, w, h) 424 evas_object_image_size_set(self.obj, w, h)
401 425
402 property stride: 426 property stride:
@@ -419,9 +443,9 @@ cdef class Image(Object):
419 443
420 """ 444 """
421 def __get__(self): 445 def __get__(self):
422 return self.stride_get() 446 return evas_object_image_stride_get(self.obj)
423 447
424 cpdef stride_get(self): 448 def stride_get(self):
425 return evas_object_image_stride_get(self.obj) 449 return evas_object_image_stride_get(self.obj)
426 450
427 property load_error: 451 property load_error:
@@ -431,9 +455,9 @@ cdef class Image(Object):
431 455
432 """ 456 """
433 def __get__(self): 457 def __get__(self):
434 return self.load_error_get() 458 return evas_object_image_load_error_get(self.obj)
435 459
436 cpdef load_error_get(self): 460 def load_error_get(self):
437 return evas_object_image_load_error_get(self.obj) 461 return evas_object_image_load_error_get(self.obj)
438 462
439 def image_data_set(self, buf): 463 def image_data_set(self, buf):
@@ -539,15 +563,15 @@ cdef class Image(Object):
539 563
540 """ 564 """
541 def __get__(self): 565 def __get__(self):
542 return self.alpha_get() 566 return bool(evas_object_image_alpha_get(self.obj))
543 567
544 def __set__(self, int value): 568 def __set__(self, int value):
545 self.alpha_set(value) 569 evas_object_image_alpha_set(self.obj, value)
546 570
547 cpdef alpha_get(self): 571 def alpha_get(self):
548 return bool(evas_object_image_alpha_get(self.obj)) 572 return bool(evas_object_image_alpha_get(self.obj))
549 573
550 cpdef alpha_set(self, value): 574 def alpha_set(self, value):
551 evas_object_image_alpha_set(self.obj, value) 575 evas_object_image_alpha_set(self.obj, value)
552 576
553 property smooth_scale: 577 property smooth_scale:
@@ -557,15 +581,15 @@ cdef class Image(Object):
557 581
558 """ 582 """
559 def __get__(self): 583 def __get__(self):
560 return self.smooth_scale_get() 584 return bool(evas_object_image_smooth_scale_get(self.obj))
561 585
562 def __set__(self, int value): 586 def __set__(self, int value):
563 self.smooth_scale_set(value) 587 evas_object_image_smooth_scale_set(self.obj, value)
564 588
565 cpdef smooth_scale_get(self): 589 def smooth_scale_get(self):
566 return bool(evas_object_image_smooth_scale_get(self.obj)) 590 return bool(evas_object_image_smooth_scale_get(self.obj))
567 591
568 cpdef smooth_scale_set(self, value): 592 def smooth_scale_set(self, value):
569 evas_object_image_smooth_scale_set(self.obj, value) 593 evas_object_image_smooth_scale_set(self.obj, value)
570 594
571 def preload(self, int cancel=0): 595 def preload(self, int cancel=0):
@@ -657,15 +681,15 @@ cdef class Image(Object):
657 681
658 """ 682 """
659 def __get__(self): 683 def __get__(self):
660 return self.pixels_dirty_get() 684 return bool(evas_object_image_pixels_dirty_get(self.obj))
661 685
662 def __set__(self, int value): 686 def __set__(self, int value):
663 self.pixels_dirty_set(value) 687 evas_object_image_pixels_dirty_set(self.obj, value)
664 688
665 cpdef pixels_dirty_get(self): 689 def pixels_dirty_get(self):
666 return bool(evas_object_image_pixels_dirty_get(self.obj)) 690 return bool(evas_object_image_pixels_dirty_get(self.obj))
667 691
668 cpdef pixels_dirty_set(self, value): 692 def pixels_dirty_set(self, value):
669 evas_object_image_pixels_dirty_set(self.obj, value) 693 evas_object_image_pixels_dirty_set(self.obj, value)
670 694
671 property load_dpi: 695 property load_dpi:
@@ -675,15 +699,15 @@ cdef class Image(Object):
675 699
676 """ 700 """
677 def __get__(self): 701 def __get__(self):
678 return self.load_dpi_get() 702 return evas_object_image_load_dpi_get(self.obj)
679 703
680 def __set__(self, int value): 704 def __set__(self, int value):
681 self.load_dpi_set(value) 705 evas_object_image_load_dpi_set(self.obj, value)
682 706
683 cpdef load_dpi_get(self): 707 def load_dpi_get(self):
684 return evas_object_image_load_dpi_get(self.obj) 708 return evas_object_image_load_dpi_get(self.obj)
685 709
686 cpdef load_dpi_set(self, double value): 710 def load_dpi_set(self, double value):
687 evas_object_image_load_dpi_set(self.obj, value) 711 evas_object_image_load_dpi_set(self.obj, value)
688 712
689 property load_size: 713 property load_size:
@@ -696,17 +720,21 @@ cdef class Image(Object):
696 720
697 """ 721 """
698 def __get__(self): 722 def __get__(self):
699 return self.load_size_get() 723 cdef int w, h
724 evas_object_image_load_size_get(self.obj, &w, &h)
725 return (w, h)
700 726
701 def __set__(self, spec): 727 def __set__(self, spec):
702 self.load_size_set(*spec) 728 cdef int w, h
729 w, h = spec
730 evas_object_image_load_size_set(self.obj, w, h)
703 731
704 cpdef load_size_get(self): 732 def load_size_get(self):
705 cdef int w, h 733 cdef int w, h
706 evas_object_image_load_size_get(self.obj, &w, &h) 734 evas_object_image_load_size_get(self.obj, &w, &h)
707 return (w, h) 735 return (w, h)
708 736
709 cpdef load_size_set(self, int w, int h): 737 def load_size_set(self, int w, int h):
710 evas_object_image_load_size_set(self.obj, w, h) 738 evas_object_image_load_size_set(self.obj, w, h)
711 739
712 property load_scale_down: 740 property load_scale_down:
@@ -716,15 +744,15 @@ cdef class Image(Object):
716 744
717 """ 745 """
718 def __get__(self): 746 def __get__(self):
719 return self.load_scale_down_get() 747 return evas_object_image_load_scale_down_get(self.obj)
720 748
721 def __set__(self, int value): 749 def __set__(self, int value):
722 self.load_scale_down_set(value) 750 evas_object_image_load_scale_down_set(self.obj, value)
723 751
724 cpdef load_scale_down_get(self): 752 def load_scale_down_get(self):
725 return evas_object_image_load_scale_down_get(self.obj) 753 return evas_object_image_load_scale_down_get(self.obj)
726 754
727 cpdef load_scale_down_set(self, int value): 755 def load_scale_down_set(self, int value):
728 evas_object_image_load_scale_down_set(self.obj, value) 756 evas_object_image_load_scale_down_set(self.obj, value)
729 757
730 property load_region: 758 property load_region:
@@ -744,15 +772,19 @@ cdef class Image(Object):
744 772
745 """ 773 """
746 def __set__(self, value): 774 def __set__(self, value):
747 self.load_region_set(*value) 775 cdef int x, y, w, h
776 x, y, w, h = value
777 evas_object_image_load_region_set(self.obj, x, y, w, h)
748 778
749 def __get__(self): 779 def __get__(self):
750 return self.load_region_get() 780 cdef int x, y, w, h
781 evas_object_image_load_region_get(self.obj, &x, &y, &w, &h)
782 return x, y, w, h
751 783
752 cpdef load_region_set(self, int x, int y, int w, int h): 784 def load_region_set(self, int x, int y, int w, int h):
753 evas_object_image_load_region_set(self.obj, x, y, w, h) 785 evas_object_image_load_region_set(self.obj, x, y, w, h)
754 786
755 cpdef load_region_get(self): 787 def load_region_get(self):
756 cdef int x, y, w, h 788 cdef int x, y, w, h
757 evas_object_image_load_region_get(self.obj, &x, &y, &w, &h) 789 evas_object_image_load_region_get(self.obj, &x, &y, &w, &h)
758 return x, y, w, h 790 return x, y, w, h
@@ -763,16 +795,16 @@ cdef class Image(Object):
763 :type: bool 795 :type: bool
764 796
765 """ 797 """
766 def __set__(self, value): 798 def __set__(self, bint enable):
767 self.load_orientation_set(value) 799 evas_object_image_load_orientation_set(self.obj, enable)
768 800
769 def __get__(self): 801 def __get__(self):
770 return self.load_orientation_get() 802 return bool(evas_object_image_load_orientation_get(self.obj))
771 803
772 cpdef load_orientation_set(self, enable): 804 def load_orientation_set(self, bint enable):
773 evas_object_image_load_orientation_set(self.obj, enable) 805 evas_object_image_load_orientation_set(self.obj, enable)
774 806
775 cpdef load_orientation_get(self): 807 def load_orientation_get(self):
776 return bool(evas_object_image_load_orientation_get(self.obj)) 808 return bool(evas_object_image_load_orientation_get(self.obj))
777 809
778 property colorspace: 810 property colorspace:
@@ -795,15 +827,15 @@ cdef class Image(Object):
795 827
796 """ 828 """
797 def __get__(self): 829 def __get__(self):
798 return self.colorspace_get() 830 return evas_object_image_colorspace_get(self.obj)
799 831
800 def __set__(self, int value): 832 def __set__(self, int value):
801 self.colorspace_set(value) 833 evas_object_image_colorspace_set(self.obj, <Evas_Colorspace>value)
802 834
803 cpdef colorspace_get(self): 835 def colorspace_get(self):
804 return evas_object_image_colorspace_get(self.obj) 836 return evas_object_image_colorspace_get(self.obj)
805 837
806 cpdef colorspace_set(self, int value): 838 def colorspace_set(self, int value):
807 evas_object_image_colorspace_set(self.obj, <Evas_Colorspace>value) 839 evas_object_image_colorspace_set(self.obj, <Evas_Colorspace>value)
808 840
809 property region_support: 841 property region_support:
@@ -813,11 +845,12 @@ cdef class Image(Object):
813 845
814 """ 846 """
815 def __get__(self): 847 def __get__(self):
816 return self.region_support_get() 848 return bool(evas_object_image_region_support_get(self.obj))
817 849
818 cpdef region_support_get(self): 850 def region_support_get(self):
819 return bool(evas_object_image_region_support_get(self.obj)) 851 return bool(evas_object_image_region_support_get(self.obj))
820 852
853 # TODO: Pass these out as capsules? Find out where they can be used and how
821 # property native_surface: 854 # property native_surface:
822 # """The native surface of a given image of the canvas 855 # """The native surface of a given image of the canvas
823 856
@@ -864,16 +897,16 @@ cdef class Image(Object):
864 897
865 898
866 """ 899 """
867 def __set__(self, value): 900 def __set__(self, Evas_Image_Scale_Hint hint):
868 self.scale_hint_set(value) 901 evas_object_image_scale_hint_set(self.obj, hint)
869 902
870 def __get__(self): 903 def __get__(self):
871 return self.scale_hint_get() 904 return self.scale_hint_get()
872 905
873 cpdef scale_hint_set(self, Evas_Image_Scale_Hint hint): 906 def scale_hint_set(self, Evas_Image_Scale_Hint hint):
874 evas_object_image_scale_hint_set(self.obj, hint) 907 evas_object_image_scale_hint_set(self.obj, hint)
875 908
876 cpdef scale_hint_get(self): 909 def scale_hint_get(self):
877 return evas_object_image_scale_hint_get(self.obj) 910 return evas_object_image_scale_hint_get(self.obj)
878 911
879 property content_hint: 912 property content_hint:
@@ -887,16 +920,16 @@ cdef class Image(Object):
887 :type: Evas_Image_Content_Hint 920 :type: Evas_Image_Content_Hint
888 921
889 """ 922 """
890 def __set__(self, value): 923 def __set__(self, Evas_Image_Content_Hint hint):
891 self.content_hint_set(value) 924 evas_object_image_content_hint_set(self.obj, hint)
892 925
893 def __get__(self): 926 def __get__(self):
894 return self.content_hint_get() 927 return evas_object_image_content_hint_get(self.obj)
895 928
896 cpdef content_hint_set(self, Evas_Image_Content_Hint hint): 929 def content_hint_set(self, Evas_Image_Content_Hint hint):
897 evas_object_image_content_hint_set(self.obj, hint) 930 evas_object_image_content_hint_set(self.obj, hint)
898 931
899 cpdef content_hint_get(self): 932 def content_hint_get(self):
900 return evas_object_image_content_hint_get(self.obj) 933 return evas_object_image_content_hint_get(self.obj)
901 934
902 property alpha_mask: 935 property alpha_mask:
@@ -913,10 +946,10 @@ cdef class Image(Object):
913 :type: bool 946 :type: bool
914 947
915 """ 948 """
916 def __set__(self, value): 949 def __set__(self, bint ismask):
917 self.alpha_mask_set(value) 950 evas_object_image_alpha_mask_set(self.obj, ismask)
918 951
919 cpdef alpha_mask_set(self, ismask): 952 def alpha_mask_set(self, bint ismask):
920 evas_object_image_alpha_mask_set(self.obj, ismask) 953 evas_object_image_alpha_mask_set(self.obj, ismask)
921 954
922 property image_source: 955 property image_source:
@@ -941,23 +974,25 @@ cdef class Image(Object):
941 .. seealso:: :py:attr:`source_visible` 974 .. seealso:: :py:attr:`source_visible`
942 975
943 """ 976 """
944 def __set__(self, value): 977 def __set__(self, Object src):
945 self.source_set(value) 978 if not evas_object_image_source_set(self.obj, src.obj):
979 raise RuntimeError("Could not set image source.")
946 980
947 def __get__(self): 981 def __get__(self):
948 return self.source_get() 982 return object_from_instance(evas_object_image_source_get(self.obj))
949 983
950 def __del__(self): 984 def __del__(self):
951 self.source_unset() 985 if not evas_object_image_source_unset(self.obj):
986 raise RuntimeError("Could not unset image source.")
952 987
953 cpdef source_set(self, Object src): 988 def source_set(self, Object src):
954 if not evas_object_image_source_set(self.obj, src.obj): 989 if not evas_object_image_source_set(self.obj, src.obj):
955 raise RuntimeError("Could not set image source.") 990 raise RuntimeError("Could not set image source.")