jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=a2d1607eb2c6b567ab77908eafd62888927ec5d4
commit a2d1607eb2c6b567ab77908eafd62888927ec5d4 Author: Daniel Zaoui <daniel.za...@samsung.com> Date: Mon Nov 2 13:03:45 2015 +0200 Session: add dummys support flag --- src/bin/gui/dnd.c | 4 ++-- src/bin/gui/editor.c | 2 +- src/bin/gui/egui_logic.c | 2 +- src/lib/generator.c | 2 +- src/lib/gui_widget.c | 10 +++++++++- src/lib/gui_widget.h | 5 ++++- src/lib/json_generator.c | 4 ++-- src/lib/simulator.c | 2 +- 8 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/bin/gui/dnd.c b/src/bin/gui/dnd.c index e650dfc..04d02bb 100644 --- a/src/bin/gui/dnd.c +++ b/src/bin/gui/dnd.c @@ -409,7 +409,7 @@ _drag_factory_real_object_create(void *data, Evas_Object *parent, Evas_Coord *xo if (xoff) *xoff = xc; if (yoff) *yoff = yc; - Gui_Session *tmp_session = session_new(MODE_SIMULATOR); + Gui_Session *tmp_session = session_new(MODE_SIMULATOR, EINA_TRUE); Eo *o = simulator_widget_create(tmp_session, wdg_get(di->wdg_id), parent); eo_do(o, eo_wref_add(&(di->drag_window_obj_wref))); @@ -438,7 +438,7 @@ Eo* dnd_drag_obj_create(const Gui_Widget *dragged_wdg, Eo *parent) { Eo *ret; - Gui_Session *dnd_session = session_new(MODE_SIMULATOR); + Gui_Session *dnd_session = session_new(MODE_SIMULATOR, EINA_TRUE); session_population_zero_cb_set(dnd_session, _dnd_session_population_zero_cb, NULL); ret = _iter_dragged_widget_create(dnd_session, dragged_wdg, parent); return ret; diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 2b68b5f..d4262e4 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -4427,7 +4427,7 @@ _project_new(const char *filename) objtree_context_set(ctx); /* Assign new editor session to context */ - gui_context_editor_session_set(_active_context_get(), session_new(MODE_EDITOR)); + gui_context_editor_session_set(_active_context_get(), session_new(MODE_EDITOR, EINA_TRUE)); _editor_ctx_call(ctx); diff --git a/src/bin/gui/egui_logic.c b/src/bin/gui/egui_logic.c index 12bfa74..7d93968 100644 --- a/src/bin/gui/egui_logic.c +++ b/src/bin/gui/egui_logic.c @@ -937,7 +937,7 @@ egui_start(const char *filename) elm_object_item_disabled_set(g_main_wdgs->main_win->toolbar_graph_it, EINA_TRUE); #endif - _factory_session = session_new(MODE_SIMULATOR); + _factory_session = session_new(MODE_SIMULATOR, EINA_TRUE); #define FACTORY_CREATE(widget, parent, x, y, w, h) \ { \ Eo *eo_parent = g_main_wdgs->main_win->parent; \ diff --git a/src/lib/generator.c b/src/lib/generator.c index bf69803..a3fece3 100644 --- a/src/lib/generator.c +++ b/src/lib/generator.c @@ -1034,7 +1034,7 @@ _ctx_to_file_save(const Gui_Context *ctx, Generator_Export_Format format) gl_gen_ctx.c_buf = eina_strbuf_new(); gl_gen_ctx.h_buf = eina_strbuf_new(); gl_gen_ctx.global_entities = NULL; - gl_gen_ctx.session = session_new(MODE_GENERATOR); + gl_gen_ctx.session = session_new(MODE_GENERATOR, EINA_FALSE); gl_gen_ctx.formatted_project_name = _project_name_format(gui_context_project_name_get(ctx)); gl_gen_ctx.Formatted_Project_Name = strdup(gl_gen_ctx.formatted_project_name); gl_gen_ctx.FORMATTED_PROJECT_NAME = strdup(gl_gen_ctx.formatted_project_name); diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c index 014e80d..890068b 100644 --- a/src/lib/gui_widget.c +++ b/src/lib/gui_widget.c @@ -195,6 +195,7 @@ struct _Gui_Session void *_population_cb_data; Session_Mode mode; + Eina_Bool support_dummys : 1; }; /* @@ -3332,7 +3333,7 @@ action_data_get(Gui_Action *action) /* Session functions. */ Gui_Session * -session_new(Session_Mode mode) +session_new(Session_Mode mode, Eina_Bool support_dummys) { Gui_Session *session = calloc(1, sizeof(*session)); #ifdef __LP64__ @@ -3345,9 +3346,16 @@ session_new(Session_Mode mode) session->item_hash = eina_hash_int32_new(NULL); #endif session->mode = mode; + session->support_dummys = support_dummys; return session; } +Eina_Bool +session_dummy_supported(const Gui_Session *session) +{ + return session ? session->support_dummys : EINA_FALSE; +} + /* Function to assign callback which will be called, when session will be empty. * Session will be empty, when where will not be active objects. */ void diff --git a/src/lib/gui_widget.h b/src/lib/gui_widget.h index bb3ba64..4ad10ed 100644 --- a/src/lib/gui_widget.h +++ b/src/lib/gui_widget.h @@ -832,7 +832,10 @@ action_data_get(Gui_Action *action); /* Session functions */ Gui_Session * -session_new(Session_Mode mode); +session_new(Session_Mode mode, Eina_Bool support_dummys); + +Eina_Bool +session_dummy_supported(const Gui_Session *session); /* Cb adding function. * This callbacke will be called in case, when all simulated objects will be destroyed diff --git a/src/lib/json_generator.c b/src/lib/json_generator.c index 9b13d58..0202ba7 100644 --- a/src/lib/json_generator.c +++ b/src/lib/json_generator.c @@ -625,7 +625,7 @@ _widgets_json_generate(const Gui_Context *ctx) Eina_List *itr; Eid *wdg_id; - Gui_Session *session = session_new(MODE_GENERATOR); + Gui_Session *session = session_new(MODE_GENERATOR, EINA_TRUE); EINA_LIST_FOREACH(gui_context_main_widgets_get(ctx), itr, wdg_id) { Gui_Widget *wdg = wdg_get(wdg_id); @@ -691,7 +691,7 @@ end: char * json_widget_generate(Eid *wdg_id) { - Gui_Session *session = session_new(MODE_GENERATOR); + Gui_Session *session = session_new(MODE_GENERATOR, EINA_TRUE); const Gui_Widget *wdg = wdg_get(wdg_id); Eina_Json_Value *obj = eina_json_object_new(); Eina_Json_Value *root_obj = eina_json_object_new(); diff --git a/src/lib/simulator.c b/src/lib/simulator.c index ef60156..7661ae6 100644 --- a/src/lib/simulator.c +++ b/src/lib/simulator.c @@ -369,7 +369,7 @@ simulator_ctx_call(Gui_Context *ctx, const char *target_name) simulator_init(); target_db_init(); - Gui_Session *session = session_new(MODE_SIMULATOR); + Gui_Session *session = session_new(MODE_SIMULATOR, EINA_FALSE); /* Add session into list of sessions in progress*/ gui_context_simulate_session_add(ctx, session); --