Add state_get callback for emitting signal when app is browser 00/47700/2
authorHyojung Jo <hj903.jo@samsung.com>
Tue, 8 Sep 2015 06:04:39 +0000 (15:04 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Tue, 8 Sep 2015 09:35:23 +0000 (18:35 +0900)
Change-Id: Id8c0a54f33595983600e6a684bc94847fcb188bf
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
res/widget/gengrid.edc
src/grid/grid.c
src/view/view_action_menu.c
src/view/view_base.c

index 95059cd..b164057 100644 (file)
@@ -41,7 +41,6 @@
 #define PART_TEXT_BG "part.text.bg"
 #define PART_THUMB_TEXT "part.thumb.text"
 #define PART_THUMB_TEXT_BROWSER "part.thumb.text.browser"
-#define PART_INSIDE_LINE "part.inside.line"
 #define PART_TOP_BTN "part.top.button"
 #define PART_FAVORITE "part.favorite"
 #define PART_BUTTON1 "button1"
index 304a1ad..db49b2d 100644 (file)
@@ -19,6 +19,7 @@ group {
        data.item, "focus_highlight" "on";
        data.item, "texts" "part.thumb.text part.thumb.text.browser";
        data.item, "contents" "part.thumb.icon part.thumb.bg part.text.bg";
+       data.item, "states" "is_browser";
        images {
                image, FAVORITE_ICON_PNG COMP;
        }
@@ -113,6 +114,11 @@ group {
                                        perspective, "map";
                                }
                        }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               map.on, 1;
+                       }
                }
 
                part {
@@ -650,9 +656,9 @@ group {
                }
 
                program {
+                       signal, "elm,state,is_browser,active";
+                       source, "elm";
                        name, "visible";
-                       signal, "visible";
-                       source, PART_INSIDE_LINE;
                        action, STATE_SET "visible" 0.0;
                        target, "part.inside.line.up";
                        target, "part.inside.line.left";
@@ -684,6 +690,7 @@ group {
        inherit, "elm/gengrid/item/style.myapp/default";
        data.item, "focus_highlight" "on";
        data.item, "contents" "part.thumb.icon part.thumb.bg part.text.bg";
+       data.item, "states" "is_browser";
        parts {
                part {
                        name, "padding.bottom.right";
index 83c4f56..ea78ef1 100644 (file)
@@ -115,11 +115,33 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
        return NULL;
 }
 
+static Eina_Bool _state_get(void *data, Evas_Object *obj, const char *part)
+{
+       struct app_data *adata;
+       char *id;
+
+       if (!data) {
+               _ERR("Data is NULL.");
+               return EINA_FALSE;
+       }
+
+       adata = data;
+
+       id = get_app_id(adata);
+       if (!id)
+               return EINA_FALSE;
+
+       if (!strcmp(id, APP_ID_BROWSER))
+               return EINA_TRUE;
+
+       return EINA_FALSE;
+}
+
 static struct grid_class _myapp_gclass = {
        .item_style = STYLE_MYAPP,
        .text_get = _text_get,
        .content_get = _content_get,
-       .state_get = NULL,
+       .state_get = _state_get,
        .del = NULL,
 };
 
@@ -127,7 +149,7 @@ static struct grid_class _fav_gclass = {
        .item_style = STYLE_FAVORITE,
        .text_get = _text_get,
        .content_get = _content_get,
-       .state_get = NULL,
+       .state_get = _state_get,
        .del = NULL,
 };
 
index 9d18571..792852b 100644 (file)
@@ -292,21 +292,13 @@ static void _grid_item_selected_cb(void *data, Elm_Object_Item *it,
 static void _grid_realized_cb(int id, void *data, Evas_Object *obj,
                Elm_Object_Item *item)
 {
-       struct app_data *adata;
-
        if (!data || !item) {
                _ERR("Invalid argument.");
                return;
        }
 
-       adata = elm_object_item_data_get(item);
-
        elm_object_item_signal_callback_add(item, SIG_ITEM_SELECTED,
                        SIG_SOURCE_EDC, _grid_item_selected_cb, data);
-
-       if (!strcmp(get_app_id(adata), APP_ID_BROWSER))
-               elm_object_item_signal_emit(item, SIG_VISIBLE,
-                               PART_INSIDE_LINE);
 }
 
 static void _grid_unrealized_cb(int id, void *data, Evas_Object *obj,
index 4639f30..e890411 100644 (file)
@@ -452,10 +452,6 @@ static void _grid_realized_cb(int id, void *data, Evas_Object *obj,
        elm_object_item_signal_callback_add(item, SIG_ITEM_SELECTED,
                        SIG_SOURCE_EDC, _grid_item_selected_cb, data);
 
-       if (!strcmp(get_app_id(adata), APP_ID_BROWSER))
-               elm_object_item_signal_emit(item, SIG_VISIBLE,
-                               PART_INSIDE_LINE);
-
        if (get_app_favorite(adata, &isfavorite) && isfavorite)
                elm_object_item_signal_emit(item, SIG_FAVORITE,
                                SRC_FAVORITE_ICON);