and handle disables for everything else that has disable hooks.
authorCarsten Haitzler <raster@rasterman.com>
Thu, 7 Oct 2010 07:44:50 +0000 (07:44 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 7 Oct 2010 07:44:50 +0000 (07:44 +0000)
SVN revision: 53138

src/lib/elc_fileselector_button.c
src/lib/elc_hoversel.c
src/lib/elc_scrolled_entry.c
src/lib/elm_button.c
src/lib/elm_check.c
src/lib/elm_entry.c
src/lib/elm_radio.c
src/lib/elm_spinner.c
src/lib/elm_toggle.c

index f7764ec..c8866aa 100644 (file)
@@ -125,6 +125,8 @@ _theme_hook(Evas_Object *obj)
    else
      edje_object_signal_emit(wd->btn, "elm,state,icon,hidden", "elm");
    edje_object_part_text_set(wd->btn, "elm.text", wd->btn_label);
+   if (elm_object_disabled_get(obj))
+      edje_object_signal_emit(wd->btn, "elm,state,disabled", "elm");
    edje_object_message_signal_process(wd->btn);
    edje_object_scale_set(wd->btn, 
                         elm_widget_scale_get(obj) * _elm_config->scale);
index 7a32565..1c4141a 100644 (file)
@@ -84,10 +84,11 @@ _theme_hook(Evas_Object *obj)
    if (!wd) return;
    elm_hoversel_hover_end(obj);
    if (wd->horizontal)
-     snprintf(buf, sizeof(buf), "hoversel_horizontal/%s", elm_widget_style_get(obj));
+      snprintf(buf, sizeof(buf), "hoversel_horizontal/%s", elm_widget_style_get(obj));
    else
-     snprintf(buf, sizeof(buf), "hoversel_vertical/%s", elm_widget_style_get(obj));
+      snprintf(buf, sizeof(buf), "hoversel_vertical/%s", elm_widget_style_get(obj));
    elm_object_style_set(wd->btn, buf);
+   elm_object_disabled_set(wd->btn, elm_widget_disabled_get(obj));
 }
 
 static void
@@ -95,10 +96,7 @@ _disable_hook(Evas_Object *obj)
 {
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
-   if (elm_widget_disabled_get(obj))
-     elm_widget_disabled_set(wd->btn, 1);
-   else
-     elm_widget_disabled_set(wd->btn, 0);
+   elm_object_disabled_set(wd->btn, elm_widget_disabled_get(obj));
 }
 
 static void
index 614935c..755a9ad 100644 (file)
@@ -95,6 +95,8 @@ _theme_hook(Evas_Object *obj)
    if (!wd) return;
    elm_object_style_set(wd->entry, elm_widget_style_get(obj));
    elm_object_style_set(wd->scroller, elm_widget_style_get(obj));
+   elm_object_disabled_set(wd->entry, elm_widget_disabled_get(obj));
+   elm_object_disabled_set(wd->scroller, elm_widget_disabled_get(obj));
 }
 
 static void
index 3b2998c..08598e6 100644 (file)
@@ -107,10 +107,10 @@ _theme_hook(Evas_Object *obj)
    else
      edje_object_signal_emit(wd->btn, "elm,state,icon,hidden", "elm");
    edje_object_part_text_set(wd->btn, "elm.text", wd->label);
-   edje_object_message_signal_process(wd->btn);
-   edje_object_scale_set(wd->btn, elm_widget_scale_get(obj) * _elm_config->scale);
    if (elm_object_disabled_get(obj))
      edje_object_signal_emit(wd->btn, "elm,state,disabled", "elm");
+   edje_object_message_signal_process(wd->btn);
+   edje_object_scale_set(wd->btn, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
 }
 
index 712e6a8..bd5473f 100644 (file)
@@ -99,18 +99,20 @@ _theme_hook(Evas_Object *obj)
    if (!wd) return;
    _elm_theme_object_set(obj, wd->chk, "check", "base", elm_widget_style_get(obj));
    if (wd->icon)
-     edje_object_signal_emit(wd->chk, "elm,state,icon,visible", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,icon,visible", "elm");
    else
-     edje_object_signal_emit(wd->chk, "elm,state,icon,hidden", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,icon,hidden", "elm");
    if (wd->state)
-     edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
    else
-     edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
    if (wd->label)
-     edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
    else
-     edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
    edje_object_part_text_set(wd->chk, "elm.text", wd->label);
+   if (elm_widget_disabled_get(obj))
+      edje_object_signal_emit(wd->chk, "elm,state,disabled", "elm");
    edje_object_message_signal_process(wd->chk);
    edje_object_scale_set(wd->chk, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
@@ -122,9 +124,9 @@ _disable_hook(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
    if (elm_widget_disabled_get(obj))
-     edje_object_signal_emit(wd->chk, "elm,state,disabled", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,disabled", "elm");
    else
-     edje_object_signal_emit(wd->chk, "elm,state,enabled", "elm");
+      edje_object_signal_emit(wd->chk, "elm,state,enabled", "elm");
 }
 
 static void
index e9c66a6..ca30fbd 100644 (file)
@@ -268,6 +268,9 @@ _theme_hook(Evas_Object *obj)
    _elm_theme_object_set(obj, wd->ent, "entry", _getbase(obj), elm_widget_style_get(obj));
    elm_entry_entry_set(obj, t);
    eina_stringshare_del(t);
+   if (elm_widget_disabled_get(obj))
+      edje_object_signal_emit(wd->ent, "elm,state,disabled", "elm");
+   edje_object_message_signal_process(wd->ent);
    edje_object_scale_set(wd->ent, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
 }
index 58f2ea5..3061c5d 100644 (file)
@@ -133,6 +133,11 @@ _theme_hook(Evas_Object *obj)
    else
      edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm");
    edje_object_part_text_set(wd->radio, "elm.text", wd->label);
+   if (elm_widget_disabled_get(obj))
+     {
+        edje_object_signal_emit(wd->radio, "elm,state,disabled", "elm");
+        if (wd->state) _state_set(obj, 0);
+     }
    edje_object_message_signal_process(wd->radio);
    edje_object_scale_set(wd->radio, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
index c37894f..8f5d1c1 100644 (file)
@@ -39,9 +39,10 @@ struct _Widget_Data
    Eina_Bool editable : 1;
 };
 
-struct _Elm_Spinner_Special_Value {
-     double value;
-     const char *label;
+struct _Elm_Spinner_Special_Value
+{
+   double value;
+   const char *label;
 };
 
 static const char *widtype = NULL;
@@ -65,11 +66,13 @@ _del_hook(Evas_Object *obj)
    if (wd->delay) ecore_timer_del(wd->delay);
    if (wd->spin) ecore_timer_del(wd->spin);
    if (wd->special_values)
-       EINA_LIST_FREE(wd->special_values, sv)
-       {
-           eina_stringshare_del(sv->label);
-           free(sv);
-       }
+     {
+        EINA_LIST_FREE(wd->special_values, sv)
+          {
+             eina_stringshare_del(sv->label);
+             free(sv);
+          }
+     }
    free(wd);
 }
 
@@ -79,9 +82,9 @@ _disable_hook(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
    if (elm_widget_disabled_get(obj))
-     edje_object_signal_emit(wd->spinner, "elm,state,disabled", "elm");
+      edje_object_signal_emit(wd->spinner, "elm,state,disabled", "elm");
    else
-     edje_object_signal_emit(wd->spinner, "elm,state,enabled", "elm");
+      edje_object_signal_emit(wd->spinner, "elm,state,enabled", "elm");
 }
 
 static void
@@ -98,7 +101,7 @@ _signal_callback_add_hook(Evas_Object *obj, const char *emission, const char *so
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
    edje_object_signal_callback_add(wd->spinner, emission,
-        source, func_cb, data);
+                                   source, func_cb, data);
 }
 
 static void *
@@ -107,7 +110,7 @@ _signal_callback_del_hook(Evas_Object *obj, const char *emission, const char *so
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
    return edje_object_signal_callback_del(wd->spinner, emission, source,
-        func_cb);
+                                          func_cb);
 }
 
 static void
@@ -118,12 +121,14 @@ _theme_hook(Evas_Object *obj)
    _elm_theme_object_set(obj, wd->spinner, "spinner", "base", elm_widget_style_get(obj));
    edje_object_part_swallow(wd->spinner, "elm.swallow.entry", wd->ent);
    _write_label(obj);
-   edje_object_message_signal_process(wd->spinner);
-   edje_object_scale_set(wd->spinner, elm_widget_scale_get(obj) * _elm_config->scale);
    if (elm_widget_focus_get(obj))
-     edje_object_signal_emit(wd->spinner, "elm,action,focus", "elm");
+      edje_object_signal_emit(wd->spinner, "elm,action,focus", "elm");
    else
-     edje_object_signal_emit(wd->spinner, "elm,action,unfocus", "elm");
+      edje_object_signal_emit(wd->spinner, "elm,action,unfocus", "elm");
+   if (elm_widget_disabled_get(obj))
+      edje_object_signal_emit(wd->spinner, "elm,state,disabled", "elm");
+   edje_object_message_signal_process(wd->spinner);
+   edje_object_scale_set(wd->spinner, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);
 }
 
@@ -207,11 +212,13 @@ _write_label(Evas_Object *obj)
    char buf[1024];
    if (!wd) return;
    EINA_LIST_FOREACH(wd->special_values, l, sv)
-      if (sv->value == wd->val)
-       {
-          snprintf(buf, sizeof(buf), "%s", sv->label);
-          goto apply;
-       }
+     {
+        if (sv->value == wd->val)
+          {
+             snprintf(buf, sizeof(buf), "%s", sv->label);
+             goto apply;
+          }
+     }
    if (wd->label)
      snprintf(buf, sizeof(buf), wd->label, wd->val);
    else
index b62be6a..06478e4 100644 (file)
@@ -122,6 +122,8 @@ _theme_hook(Evas_Object *obj)
    edje_object_part_text_set(wd->tgl, "elm.text", wd->label);
    edje_object_part_text_set(wd->tgl, "elm.ontext", wd->ontext);
    edje_object_part_text_set(wd->tgl, "elm.offtext", wd->offtext);
+   if (elm_widget_disabled_get(obj))
+     edje_object_signal_emit(wd->tgl, "elm,state,disabled", "elm");
    edje_object_message_signal_process(wd->tgl);
    edje_object_scale_set(wd->tgl, elm_widget_scale_get(obj) * _elm_config->scale);
    _sizing_eval(obj);