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);
 

-- 


Reply via email to