summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/efl/interfaces/efl_ui_factory.eo11
-rw-r--r--src/lib/elementary/efl_ui_caching_factory.c3
-rw-r--r--src/lib/elementary/efl_ui_layout_factory.c8
-rw-r--r--src/lib/elementary/efl_ui_layout_factory.eo1
-rw-r--r--src/lib/elementary/efl_ui_widget_factory.c10
-rw-r--r--src/lib/elementary/efl_ui_widget_factory.eo1
6 files changed, 30 insertions, 4 deletions
diff --git a/src/lib/efl/interfaces/efl_ui_factory.eo b/src/lib/efl/interfaces/efl_ui_factory.eo
index 3a531af533..2828ec3b37 100644
--- a/src/lib/efl/interfaces/efl_ui_factory.eo
+++ b/src/lib/efl/interfaces/efl_ui_factory.eo
@@ -27,8 +27,15 @@ interface @beta Efl.Ui.Factory extends Efl.Ui.Property_Bind, Efl.Ui.Factory_Bind
27 } 27 }
28 } 28 }
29 building @const { 29 building @const {
30 [[This function is called during the creation of an UI object between the @Efl.Object.constructor and 30 [[This function is called after the creation of an UI object.
31 @Efl.Object.finalize call. 31
32 Note: if the @Efl.Ui.Factory does keep a cache of object, this won't be called when object are pulled out of the cache.]]
33 params {
34 ui_view: Efl.Gfx.Entity; [[The UI object being created.]]
35 }
36 }
37 constructing @const {
38 [[This function is called during the construction of an UI object between the @Efl.Object.constructor and @Efl.Object.finalize call.
32 39
33 Note: If the @Efl.Ui.Factory does keep a cache of objects, this won't be called when objects are pulled out 40 Note: If the @Efl.Ui.Factory does keep a cache of objects, this won't be called when objects are pulled out
34 of the cache.]] 41 of the cache.]]
diff --git a/src/lib/elementary/efl_ui_caching_factory.c b/src/lib/elementary/efl_ui_caching_factory.c
index 33a44a013d..9a45c3a22d 100644
--- a/src/lib/elementary/efl_ui_caching_factory.c
+++ b/src/lib/elementary/efl_ui_caching_factory.c
@@ -246,8 +246,9 @@ _efl_ui_caching_factory_efl_ui_factory_create(Eo *obj,
246 EINA_ITERATOR_FOREACH(models, model) 246 EINA_ITERATOR_FOREACH(models, model)
247 { 247 {
248 w = efl_add(pd->klass, parent, 248 w = efl_add(pd->klass, parent,
249 efl_ui_factory_building(obj, efl_added), 249 efl_ui_factory_constructing(obj, efl_added),
250 efl_ui_view_model_set(efl_added, model)); 250 efl_ui_view_model_set(efl_added, model));
251 efl_ui_factory_building(obj, w);
251 eina_value_array_append(&gr->done, w); 252 eina_value_array_append(&gr->done, w);
252 } 253 }
253 254
diff --git a/src/lib/elementary/efl_ui_layout_factory.c b/src/lib/elementary/efl_ui_layout_factory.c
index 3a0a66d9b2..25ca1b45f8 100644
--- a/src/lib/elementary/efl_ui_layout_factory.c
+++ b/src/lib/elementary/efl_ui_layout_factory.c
@@ -70,6 +70,14 @@ _efl_ui_layout_factory_efl_object_destructor(Eo *obj, Efl_Ui_Layout_Factory_Data
70 efl_destructor(efl_super(obj, MY_CLASS)); 70 efl_destructor(efl_super(obj, MY_CLASS));
71} 71}
72 72
73
74EOLIAN static void
75_efl_ui_layout_factory_efl_ui_factory_constructing(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Factory_Data *pd EINA_UNUSED, Efl_Gfx_Entity *ui_view EINA_UNUSED)
76{
77 /* NOP */
78}
79
80
73static void 81static void
74_efl_ui_layout_factory_efl_ui_factory_building(const Eo *obj, Efl_Ui_Layout_Factory_Data *pd, Efl_Gfx_Entity *ui_view) 82_efl_ui_layout_factory_efl_ui_factory_building(const Eo *obj, Efl_Ui_Layout_Factory_Data *pd, Efl_Gfx_Entity *ui_view)
75{ 83{
diff --git a/src/lib/elementary/efl_ui_layout_factory.eo b/src/lib/elementary/efl_ui_layout_factory.eo
index 0d35d21706..038a33725b 100644
--- a/src/lib/elementary/efl_ui_layout_factory.eo
+++ b/src/lib/elementary/efl_ui_layout_factory.eo
@@ -16,6 +16,7 @@ class @beta Efl.Ui.Layout_Factory extends Efl.Ui.Caching_Factory
16 Efl.Object.constructor; 16 Efl.Object.constructor;
17 Efl.Object.destructor; 17 Efl.Object.destructor;
18 Efl.Ui.Factory.building; 18 Efl.Ui.Factory.building;
19 Efl.Ui.Factory.constructing;
19 Efl.Ui.Property_Bind.property_bind; 20 Efl.Ui.Property_Bind.property_bind;
20 Efl.Ui.Factory_Bind.factory_bind; 21 Efl.Ui.Factory_Bind.factory_bind;
21 } 22 }
diff --git a/src/lib/elementary/efl_ui_widget_factory.c b/src/lib/elementary/efl_ui_widget_factory.c
index b4b4d7a54c..aed2ceb6a6 100644
--- a/src/lib/elementary/efl_ui_widget_factory.c
+++ b/src/lib/elementary/efl_ui_widget_factory.c
@@ -69,6 +69,13 @@ _efl_ui_widget_factory_item_class_get(const Eo *obj EINA_UNUSED,
69} 69}
70 70
71static void 71static void
72_efl_ui_widget_factory_efl_ui_factory_constructing(const Eo *obj EINA_UNUSED, Efl_Ui_Widget_Factory_Data *pd EINA_UNUSED, Efl_Gfx_Entity *ui_view EINA_UNUSED)
73{
74 /* NOP */
75}
76
77
78static void
72_efl_ui_widget_factory_efl_ui_factory_building(const Eo *factory EINA_UNUSED, Efl_Ui_Widget_Factory_Data *pd, Efl_Gfx_Entity *ui_view) 79_efl_ui_widget_factory_efl_ui_factory_building(const Eo *factory EINA_UNUSED, Efl_Ui_Widget_Factory_Data *pd, Efl_Gfx_Entity *ui_view)
73{ 80{
74 const Efl_Model *model; 81 const Efl_Model *model;
@@ -131,7 +138,8 @@ _efl_ui_widget_create(const Efl_Ui_Factory *factory,
131 138
132 w = efl_add(klass, parent, 139 w = efl_add(klass, parent,
133 efl_ui_view_model_set(efl_added, model), 140 efl_ui_view_model_set(efl_added, model),
134 efl_ui_factory_building(factory, efl_added)); 141 efl_ui_factory_constructing(factory, efl_added));
142 efl_ui_factory_building(factory, w);
135 return w; 143 return w;
136} 144}
137 145
diff --git a/src/lib/elementary/efl_ui_widget_factory.eo b/src/lib/elementary/efl_ui_widget_factory.eo
index fdf537c1a7..c1d039f4b9 100644
--- a/src/lib/elementary/efl_ui_widget_factory.eo
+++ b/src/lib/elementary/efl_ui_widget_factory.eo
@@ -21,6 +21,7 @@ class @beta Efl.Ui.Widget_Factory extends Efl.Loop_Consumer implements Efl.Ui.Fa
21 Efl.Ui.Factory.create; 21 Efl.Ui.Factory.create;
22 Efl.Ui.Factory.release; 22 Efl.Ui.Factory.release;
23 Efl.Ui.Factory.building; 23 Efl.Ui.Factory.building;
24 Efl.Ui.Factory.constructing;
24 Efl.Ui.Property_Bind.property_bind; 25 Efl.Ui.Property_Bind.property_bind;
25 Efl.Part.part_get; 26 Efl.Part.part_get;
26 } 27 }