summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKai Huuhko <kai.huuhko@gmail.com>2015-03-13 19:21:36 +0200
committerKai Huuhko <kai.huuhko@gmail.com>2015-03-13 19:22:01 +0200
commit4ccea0f35d1a920aeb1b30451c58dab53909664b (patch)
treef528b7dbb31b6b8c0694e0f3fe31637a118b3175 /include
parentea2d5bd689226dc2a8c5cb2d0ca28ec0913bffa7 (diff)
Evas.SmartObject: Add smart callback introspection
Diffstat (limited to 'include')
-rw-r--r--include/efl.evas.pxd22
1 files changed, 18 insertions, 4 deletions
diff --git a/include/efl.evas.pxd b/include/efl.evas.pxd
index 1ca573f..15ccc57 100644
--- a/include/efl.evas.pxd
+++ b/include/efl.evas.pxd
@@ -387,7 +387,7 @@ cdef extern from "Evas.h":
387 void (*member_add)(Evas_Object *o, Evas_Object *child) 387 void (*member_add)(Evas_Object *o, Evas_Object *child)
388 void (*member_del)(Evas_Object *o, Evas_Object *child) 388 void (*member_del)(Evas_Object *o, Evas_Object *child)
389 const Evas_Smart_Class *parent 389 const Evas_Smart_Class *parent
390 Evas_Smart_Cb_Description *callbacks 390 const Evas_Smart_Cb_Description *callbacks
391 const Evas_Smart_Interface **interfaces 391 const Evas_Smart_Interface **interfaces
392 const void *data 392 const void *data
393 393
@@ -781,12 +781,14 @@ cdef extern from "Evas.h":
781 781
782 782
783 #################################################################### 783 ####################################################################
784 # Smart Object (py3:TODO) 784 # Smart Object
785 # 785 #
786 void evas_smart_free(Evas_Smart *s) 786 void evas_smart_free(Evas_Smart *s)
787 Evas_Smart *evas_smart_class_new(Evas_Smart_Class *sc) 787 Evas_Smart *evas_smart_class_new(Evas_Smart_Class *sc)
788 Evas_Smart_Class *evas_smart_class_get(Evas_Smart *s) 788 Evas_Smart_Class *evas_smart_class_get(Evas_Smart *s)
789 const Eo_Class *evas_object_smart_class_get() 789 const Eo_Class *evas_object_smart_class_get()
790 const Evas_Smart_Cb_Description **evas_smart_callbacks_descriptions_get(const Evas_Smart *s, unsigned int *count)
791 const Evas_Smart_Cb_Description *evas_smart_callback_description_find(const Evas_Smart *s, const char *name)
790 792
791 void *evas_smart_data_get(Evas_Smart *s) 793 void *evas_smart_data_get(Evas_Smart *s)
792 794
@@ -809,6 +811,9 @@ cdef extern from "Evas.h":
809 void evas_object_smart_move_children_relative(Evas_Object *obj, int dx, int dy) 811 void evas_object_smart_move_children_relative(Evas_Object *obj, int dx, int dy)
810 Eina_Iterator *evas_object_smart_iterator_new(const Evas_Object_Smart *obj) 812 Eina_Iterator *evas_object_smart_iterator_new(const Evas_Object_Smart *obj)
811 void evas_object_smart_clipped_smart_set(Evas_Smart_Class *sc) 813 void evas_object_smart_clipped_smart_set(Evas_Smart_Class *sc)
814 Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object_Smart *obj, const Evas_Smart_Cb_Description *descriptions)
815 void evas_object_smart_callbacks_descriptions_get(const Evas_Object_Smart *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count)
816 void evas_object_smart_callback_description_find(const Evas_Object_Smart *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description)
812 817
813 818
814 #################################################################### 819 ####################################################################
@@ -1210,11 +1215,20 @@ cdef class Textblock(Object):
1210# ctypedef object(*Smart_Conv_Func)(void *) 1215# ctypedef object(*Smart_Conv_Func)(void *)
1211 1216
1212cdef class Smart: 1217cdef class Smart:
1213 cdef Evas_Smart *cls 1218 cdef:
1219 Evas_Smart *cls
1220 const Evas_Smart_Class *cls_def
1221
1222 @staticmethod
1223 cdef inline create(Evas_Smart *cls):
1224 cdef Smart ret = Smart.__new__(Smart)
1225 ret.cls = cls
1226 ret.cls_def = evas_smart_class_get(cls)
1227 return ret
1214 1228
1215cdef class SmartObject(Object): 1229cdef class SmartObject(Object):
1216 cdef: 1230 cdef:
1217 public Smart smart 1231 Smart _smart
1218 dict _smart_callback_specs 1232 dict _smart_callback_specs
1219 int _set_obj(self, cEo *obj) except 0 1233 int _set_obj(self, cEo *obj) except 0
1220 int _callback_add_full(self, event, object(*)(void*), func, tuple args, dict kargs) except 0 1234 int _callback_add_full(self, event, object(*)(void*), func, tuple args, dict kargs) except 0