yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=11f03d85b1ae38eb2e7757c7d6279360a9a5816f
commit 11f03d85b1ae38eb2e7757c7d6279360a9a5816f Author: Yakov Goldberg <yako...@samsung.com> Date: Sun Nov 15 11:29:50 2015 +0200 Remove unused code: applying default values Now all default values are defined in factory's json --- data/config/func_names.json | 131 ------------------------------ src/lib/database.c | 191 +------------------------------------------- src/lib/database.h | 4 - 3 files changed, 1 insertion(+), 325 deletions(-) diff --git a/data/config/func_names.json b/data/config/func_names.json index c0fec19..a7b3655 100644 --- a/data/config/func_names.json +++ b/data/config/func_names.json @@ -1,135 +1,4 @@ { - "DEFAULTS": - { - "Elm.Win": - { - "Elm.Win.type":["ELM_WIN_BASIC"], - "Efl.Gfx.Base.size":[150, 100] - }, - "Elm.Button": - { - "Elm.Widget.part_text":[null, "Button"], - "Efl.Gfx.Base.size":[73, 30] - }, - "Elm.Box": - { - "Evas.Object.size_hint_align":[-1.0, -1.0] - }, - "Elm.Label": - { - "Elm.Widget.part_text":[null, "Label"], - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Check": - { - "Elm.Widget.part_text":[null, "Check"], - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Radio": - { - "Elm.Widget.part_text":[null, "Radio"], - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Icon": - { - }, - "Elm.Image": - { - "Efl.Gfx.Base.size":[40, 40] - }, - "Elm.Actionslider": - { - "Elm.Widget.part_text":[null, "ActionSlider"], - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Clock": - { - "Efl.Gfx.Base.size":[40, 40] - }, - "Elm.Dayselector": - { - "Efl.Gfx.Base.size":[60, 45] - }, - "Elm.Calendar": - { - "Efl.Gfx.Base.size":[60, 45] - }, - "Elm.Bubble": - { - "Efl.Gfx.Base.size":[60, 45] - }, - "Elm.Colorselector": - { - "Efl.Gfx.Base.size":[60, 45] - }, - "Elm.Entry": - { - "Elm.Widget.part_text":[null, "Entry"], - "Elm.Entry.scrollable":[true], - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Flip": - { - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Genlist": - { - "Efl.Gfx.Base.size":[70, 60] - }, - "Elm.Gengrid": - { - "Efl.Gfx.Base.size":[70, 60] - }, - "Elm.Table": - { - "Efl.Gfx.Base.size":[70, 60] - }, - "Elm.Menu": - { - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Diskselector": - { - "Efl.Gfx.Base.size":[60, 50] - }, - "Elm.Ctxpopup": - { - "Efl.Gfx.Base.size":[60, 40] - }, - "Elm.Toolbar": - { - "Efl.Gfx.Base.size":[60, 30] - }, - "Elm.Naviframe": - { - "Efl.Gfx.Base.size":[70, 60] - }, - "Elm.Frame": - { - "Efl.Gfx.Base.size":[70, 60] - }, - "Evas.Object": - { - "Evas.Object.size_hint_weight":[1.0, 1.0], - "Efl.Gfx.Base.visible":[true] - }, - "Evas.Image": - { - "Efl.Gfx.Base.size":[40, 40] - }, - "Elm.Fileselector": - { - "Efl.Gfx.Base.size":[200, 200] - }, - "Elm.Fileselector_Entry": - { - "Efl.Gfx.Base.size":[100, 22] - }, - "Elm.Separator": - { - "Efl.Gfx.Base.size":[4, 100] - } - }, "OPERATIONS" : [ { diff --git a/src/lib/database.c b/src/lib/database.c index 6dee252..6e8b80e 100644 --- a/src/lib/database.c +++ b/src/lib/database.c @@ -96,7 +96,6 @@ static Eina_Hash *cl_table = NULL; /* ["elm_win"] -> [Class_Prop] */ static Eina_Hash *enum_table = NULL; /* ["ENUM_NAME"]->[{1}] */ static Eina_Hash *enum_types_table = NULL; /* ["Elm_Win_Type"]->[ELM_WIN_BASIC, ELM_WIN_DIALOG_BASIC, ..] */ static Eina_Hash *container_table = NULL; /* Hash ["Elm_Box"]-> struct describing container */ -static Eina_Hash *def_props_table = NULL; /* Holds lists of default props values per class */ static char *gui_type_names[] = { @@ -606,93 +605,6 @@ _cl_table_init() eina_iterator_free(all_classes_list); } -static void -_json_arr_to_def_prop_values(Eina_Json_Value *jv, Gui_Widget_Property *prop) -{ - Eina_Json_Type type; - Eina_Json_Value *v; - Eina_Iterator *it = NULL; - - if (eina_json_type_get(jv) != EINA_JSON_TYPE_ARRAY) - ERR("Json Value is not array"); - - it = eina_json_array_iterator_new(jv); - - int i = 0; - EINA_ITERATOR_FOREACH(it, v) - { - Gui_Value *g_val = prop_value_nth_get(prop, i); - Gui_Type g_type; - - type = eina_json_type_get(v); - if (!g_val) - { - ERR("Cannot create gui_value. Terminating..."); - exit(1); - } - g_type = gui_value_type_get(g_val); - switch (type) - { - case EINA_JSON_TYPE_NUMBER: - { - double d = eina_json_number_get(v); - if (g_type == GUI_TYPE_SINT) - { - gui_value_int_set(g_val, (int) d); - } - else if (g_type == GUI_TYPE_DOUBLE) - { - gui_value_double_set(g_val, d); - } - break; - } - case EINA_JSON_TYPE_STRING: - { - const char *str = eina_json_string_get(v); - if (g_type == GUI_TYPE_STRING) - { - gui_value_string_set(g_val, str); - } - else if (g_type == GUI_TYPE_ENUM) - { - gui_value_enum_set(g_val, str); - } - break; - } - case EINA_JSON_TYPE_BOOLEAN: - { - Eina_Bool b = eina_json_boolean_get(v); - if (g_type == GUI_TYPE_BOOL) - { - gui_value_bool_set(g_val, b); - } - break; - } - case EINA_JSON_TYPE_NULL: - { - gui_value_int_set(g_val, 0); - gui_value_type_set(g_val, g_type); - break; - } - default: - { - ERR("default case"); - } - } - i++; - } - eina_iterator_free(it); -} - -static void -_def_props_del(void *data) -{ - Eina_List *l = data; - Gui_Widget_Property *prop; - EINA_LIST_FREE(l, prop) - prop_unref(prop); -} - /* Helper for db_init() * takes data as char*, * return Eina_Json_Value* @@ -910,98 +822,6 @@ _op_settings_shutdown() } } -static Eina_Bool -_default_settings_init(const char *db_path) -{ - Eina_Json_Value *jv, *tmp = NULL; - - /* Get JSON object from DB by path. */ - jv = _db_json_object_get(db_path); - if (!jv) return EINA_FALSE; - - tmp = EINA_JSON_OBJECT_VALUE_GET(jv, "DEFAULTS"); - if (!tmp || (eina_json_type_get(tmp) != EINA_JSON_TYPE_OBJECT)) - { - ERR("\"DEFAULTS\" section is absent or is not a json object!"); - return EINA_FALSE; - } - - def_props_table = eina_hash_string_superfast_new(_def_props_del); - - Eina_Json_Value *defwdg = NULL; - - Eina_Iterator *it = eina_json_object_iterator_new(tmp); - EINA_ITERATOR_FOREACH(it, defwdg) - { - const char *wdgname = eina_json_pair_name_get(defwdg); - Eina_Json_Value *defprops = eina_json_pair_value_get(defwdg); - Eina_Iterator *props = eina_json_object_iterator_new(defprops); - Eina_Json_Value *jprop = NULL; - Eina_List *proplist = NULL; - EINA_ITERATOR_FOREACH(props, jprop) - { - const char *prop_name = eina_json_pair_name_get(jprop); - Eina_Json_Value *propvals = eina_json_pair_value_get(jprop); - - const char *prop_class_name = NULL; - char *prop_name_tmp = strdup(prop_name); - - char *pchr = strrchr(prop_name_tmp, '.'); - - if (pchr) - { - *pchr = '\0'; - prop_name = pchr + 1; - prop_class_name = prop_name_tmp; - } - else - { - prop_name = prop_name_tmp; - } - - Op_Desc *op = db_mro_op_desc_get(wdgname, prop_class_name, prop_name); - if (!op) - { - ERR("Cannot find op description: \"%s\" for class: \"%s\"\n" - "Setting default property will not take effect.", prop_name, wdgname); - goto cont; - } - - unsigned int db_param_count = 0, json_arr_param_count = 0; - db_param_count = db_op_desc_param_number_get(op); - json_arr_param_count = eina_json_array_count_get(propvals); - if (db_param_count != json_arr_param_count) - { - ERR("Setting default property value error!\ - Widget: \"%s\", property: \"%s\". Param count: %d, should be: %d.", - wdgname, prop_name, json_arr_param_count, db_param_count); - goto cont; - } - - Gui_Widget_Property *defprop = prop_create_for_op(op); - _json_arr_to_def_prop_values(propvals, defprop); - prop_ref(defprop); - proplist = eina_list_append(proplist, defprop); - -cont: - free(prop_name_tmp); - } - eina_hash_set(def_props_table, wdgname, proplist); - - eina_iterator_free(props); - } - eina_iterator_free(it); - - eina_json_value_free(jv); - return EINA_TRUE; -} - -static void -_default_settings_shutdown() -{ - eina_hash_free(def_props_table); -} - typedef struct { Eina_Stringshare *cl_name; @@ -1383,18 +1203,10 @@ db_init(const char *db_path, const char *all_eo_path, const char *black_list) eina_iterator_free(all_classes_list); eina_hash_free(typedef_table); - /* Init default settings */ - if (!_default_settings_init(db_path)) return EINA_FALSE; return EINA_TRUE; } -const Eina_List* -db_default_prop_values_get(const char* wdgname) -{ - return eina_hash_find(def_props_table, wdgname); -} - Eina_Bool db_shutdown() { @@ -1410,12 +1222,11 @@ db_shutdown() op_id_op_desc_table = NULL; #endif eina_hash_free(container_table); - _default_settings_shutdown(); _black_list_shutdown(); _op_settings_shutdown(); - cl_table = enum_table = enum_types_table = container_table = def_props_table = NULL; + cl_table = enum_table = enum_types_table = container_table = NULL; eina_log_domain_unregister(_db_log_dom); _db_log_dom = -1; diff --git a/src/lib/database.h b/src/lib/database.h index 74e45d9..88baebc 100644 --- a/src/lib/database.h +++ b/src/lib/database.h @@ -286,10 +286,6 @@ db_container_desc_get(const char *class_name); const Op_Desc* db_container_desc_op_desc_get(const Container_Desc *container_desc, Container_Behavior_Type op_behavior); -/* Get default properties for a class */ -const Eina_List* -db_default_prop_values_get(const char* wdgname); - Eolian_Function_Type db_op_desc_type_get(const Op_Desc *op_desc); --