elm_genlist: Emitting signal when content or text is set in genlist item
authorJee-Yong Um <jc9.um@samsung.com>
Thu, 7 May 2015 07:21:57 +0000 (16:21 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 7 May 2015 08:18:45 +0000 (17:18 +0900)
Summary:
There could be a demand for providing subtle different item styles
according to the existence of icon or text swallowed in genlist item.
For example, if icon exists, genlist item shows icon, or show rectangle
where icon should be placed.
One style can have various form with this signal.

Reviewers: Hermet

Subscribers: Hermet

Differential Revision: https://phab.enlightenment.org/D2348

src/lib/elm_genlist.c

index f6e66e0..c41115f 100644 (file)
@@ -307,6 +307,7 @@ _item_text_realize(Elm_Gen_Item *it,
    const Eina_List *l;
    const char *key;
    char *s;
+   char buf[256];
 
    if (!it->itc->func.text_get) return;
 
@@ -323,6 +324,9 @@ _item_text_realize(Elm_Gen_Item *it,
           {
              edje_object_part_text_escaped_set(target, key, s);
              free(s);
+
+             snprintf(buf, sizeof(buf), "elm,state,%s,visible", key);
+             edje_object_signal_emit(target, buf, "elm");
           }
         else
           {
@@ -342,6 +346,7 @@ _item_content_realize(Elm_Gen_Item *it,
 {
    Eina_Bool tmp;
    Evas_Object *content;
+   char buf[256];
 
    if (!parts)
      {
@@ -384,6 +389,9 @@ _item_content_realize(Elm_Gen_Item *it,
              elm_widget_sub_object_add(WIDGET(it), content);
              if (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))
                elm_widget_disabled_set(content, EINA_TRUE);
+
+             snprintf(buf, sizeof(buf), "elm,state,%s,visible", key);
+             edje_object_signal_emit(target, buf, "elm");
           }
      }
 }