rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2c38aa4b110fe17fdda11db6474f28115ce1467d
commit 2c38aa4b110fe17fdda11db6474f28115ce1467d Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Fri Jul 10 10:47:57 2015 +0300 Widget nameger: add API wm_style_name_set Change-Id: Idc1c5bd8d2cd7fc837f597f289724cd689bcf784 --- src/bin/project_manager/widget_manager.c | 33 ++++++++++++++++++++++++++++++++ src/bin/project_manager/widget_manager.h | 13 +++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/bin/project_manager/widget_manager.c b/src/bin/project_manager/widget_manager.c index 627edb1..fd51891 100644 --- a/src/bin/project_manager/widget_manager.c +++ b/src/bin/project_manager/widget_manager.c @@ -360,6 +360,39 @@ wm_style_add(const char* style_name, const char* full_group_name, return style_edje; } +const char * +wm_style_name_set(Style *style, const char *name) +{ + Eina_Stringshare *new_name; + + assert(style != NULL); + assert(name != NULL); + + if (style->__type == LAYOUT) + eina_stringshare_replace(&style->full_group_name, name); + if (style->__type == STYLE) + { + arr = eina_str_split(style->full_group_name, "/", 0); + eina_strlcpy(tmp, arr[3], sizeof(tmp)); + for (size = 4; arr[size]; size++) + { + if (strcmp(arr[size], style->parent->name)) + { + eina_strlcat(tmp, "/", PATH_MAX); + eina_strlcat(tmp, arr[size], PATH_MAX); + } + } + new_name = eina_stringshare_printf("elm/%s/%s/%s", arr[1], arr[2], arr[3]); + free(arr[0]); \ + free(arr); + + eina_stringshare_replace(&style->full_group_name, new_name); + eina_stringshare_del(new_name); + } + eina_stringshare_replace(&style->name, name); + return style->name; +} + Eina_Bool wm_style_free(Style *style) { diff --git a/src/bin/project_manager/widget_manager.h b/src/bin/project_manager/widget_manager.h index 714b09f..364cae9 100644 --- a/src/bin/project_manager/widget_manager.h +++ b/src/bin/project_manager/widget_manager.h @@ -320,6 +320,19 @@ wm_style_add(const char* style_name, const char* full_group_name, Type style_type, Class *parent); /** + * Set new name to given Style. + * + * @param style The given style + * @param name The new name for style + * + * @return New style name or NULL + * + * @ingroup WidgetManager + */ +const char * +wm_style_name_set(Style *style, const char *name); + +/** * Free a @Style object. * * @param style A @Style object to free. --