#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"
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;
}
perspective, "map";
}
}
+ description {
+ state, "focused" 0.0;
+ inherit, "default" 0.0;
+ map.on, 1;
+ }
}
part {
}
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";
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";
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,
};
.item_style = STYLE_FAVORITE,
.text_get = _text_get,
.content_get = _content_get,
- .state_get = NULL,
+ .state_get = _state_get,
.del = NULL,
};
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,
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);