diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-03 14:48:58 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-10 10:07:13 +0200 |
commit | aabcf28a91944c8b8bbe7184cbe417a55845543a (patch) | |
tree | 15257273e49854afce5c8a10bf1873850fab014b /src/lib/elementary | |
parent | 6f4399dbab5cf386d23c16d5f65ccc74590b3f4b (diff) |
efl_ui_factory: split into constructing and building
constructing is called during construction time, building is called
after finalize. This is usefull for theme related properties that can
only be set after the theme is applied, which happens during finalize.
Diffstat (limited to 'src/lib/elementary')
-rw-r--r-- | src/lib/elementary/efl_ui_caching_factory.c | 3 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_layout_factory.c | 8 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_layout_factory.eo | 1 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_widget_factory.c | 10 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_widget_factory.eo | 1 |
5 files changed, 21 insertions, 2 deletions
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 | |||
74 | EOLIAN 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 | |||
73 | static void | 81 | static 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 | ||
71 | static void | 71 | static 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 | |||
78 | static 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 | } |