From df451960a2d9fdaa9c9e54fd661af263a1ace99e Mon Sep 17 00:00:00 2001 From: yoz Date: Tue, 13 Dec 2011 16:47:23 +0000 Subject: [PATCH] elementary: from Jonas M. Gastal, adds a edje property called disabled to every edje external widgets. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@66169 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/edje_externals/elm.c | 24 ++++++++++++++++++++++-- src/edje_externals/private.h | 5 ++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/edje_externals/elm.c b/src/edje_externals/elm.c index 185ec3b..75f482c 100644 --- a/src/edje_externals/elm.c +++ b/src/edje_externals/elm.c @@ -112,6 +112,14 @@ external_common_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_Ex return EINA_TRUE; } } + else if (!strcmp(param->name, "disabled")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + param->i = elm_object_disabled_get(obj); + return EINA_TRUE; + } + } return EINA_FALSE; } @@ -126,6 +134,14 @@ external_common_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_Ex return EINA_TRUE; } } + else if (!strcmp(param->name, "disabled")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + elm_object_disabled_set(obj, param->i); + return EINA_TRUE; + } + } return EINA_FALSE; } @@ -180,9 +196,11 @@ external_common_params_parse(void *mem, void *data __UNUSED__, Evas_Object *obj EINA_LIST_FOREACH(params, l, param) { if (!strcmp(param->name, "style")) + p->style = eina_stringshare_add(param->s); + else if (!strcmp(param->name, "disabled")) { - p->style = eina_stringshare_add(param->s); - break; + p->disabled = param->i; + p->disabled_exists = EINA_TRUE; } } } @@ -197,6 +215,8 @@ external_common_state_set(void *data __UNUSED__, Evas_Object *obj, const void *f if (p->style) elm_object_style_set(obj, p->style); + if (p->disabled_exists) + elm_object_disabled_set(obj, p->disabled); } Evas_Object * diff --git a/src/edje_externals/private.h b/src/edje_externals/private.h index 6bf0274..195ef6a 100644 --- a/src/edje_externals/private.h +++ b/src/edje_externals/private.h @@ -6,6 +6,8 @@ typedef struct { const char *style; + Eina_Bool disabled:1; + Eina_Bool disabled_exists:1; } Elm_Params; void external_elm_init(void); @@ -115,4 +117,5 @@ external_##type_name##_icon_add(void *data __UNUSED__, Evas *e) { \ } #define DEFINE_EXTERNAL_COMMON_PARAMS \ - EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT("style", "default") + EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT("style", "default"), \ + EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT("disabled", EINA_FALSE) -- 2.7.4