elementary: from Jonas M. Gastal, adds a edje property called disabled to every edje...
authorMichael BOUCHAUD <michael.bouchaud@gmail.com>
Tue, 13 Dec 2011 16:47:23 +0000 (16:47 +0000)
committerMichael BOUCHAUD <michael.bouchaud@gmail.com>
Tue, 13 Dec 2011 16:47:23 +0000 (16:47 +0000)
SVN revision: 66169

src/edje_externals/elm.c
src/edje_externals/private.h

index 185ec3b..75f482c 100644 (file)
@@ -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 *
index 6bf0274..195ef6a 100644 (file)
@@ -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)