}
part {
- name, "part.inside.line.up";
+ name, "part.part.inside.line.up";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.left";
+ name, "part.part.inside.line.left";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.down";
+ name, "part.part.inside.line.down";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.right";
+ name, "part.part.inside.line.right";
type, RECT;
scale, 1;
description {
set_state(PART:"part.bg", "selected", 0.0);
set_state(PART:"elm.text", "selected", 0.0);
set_state(PART:"part.arrow", "selected", 0.0);
- set_state(PART:"part.inside.line.up", "selected", 0.0);
- set_state(PART:"part.inside.line.down", "selected", 0.0);
- set_state(PART:"part.inside.line.left", "selected", 0.0);
- set_state(PART:"part.inside.line.right", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.up", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.down", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.left", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.right", "selected", 0.0);
} else {
run_program(PROGRAM:"unfocused,anim");
}
target, "part.bg";
target, "elm.text";
target, "part.arrow";
- target, "part.inside.line.up";
- target, "part.inside.line.down";
- target, "part.inside.line.left";
- target, "part.inside.line.right";
+ target, "part.part.inside.line.up";
+ target, "part.part.inside.line.down";
+ target, "part.part.inside.line.left";
+ target, "part.part.inside.line.right";
transition, TRANSITION_FOCUS;
}
target, "part.bg";
target, "elm.text";
target, "part.arrow";
- target, "part.inside.line.up";
- target, "part.inside.line.down";
- target, "part.inside.line.left";
- target, "part.inside.line.right";
+ target, "part.part.inside.line.up";
+ target, "part.part.inside.line.down";
+ target, "part.part.inside.line.left";
+ target, "part.part.inside.line.right";
transition, TRANSITION_FOCUS;
}
set_state(PART:"part.bg", "selected", 0.0);
set_state(PART:"elm.text", "selected", 0.0);
set_state(PART:"part.arrow", "selected", 0.0);
- set_state(PART:"part.inside.line.up", "selected", 0.0);
- set_state(PART:"part.inside.line.down", "selected", 0.0);
- set_state(PART:"part.inside.line.left", "selected", 0.0);
- set_state(PART:"part.inside.line.right", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.up", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.down", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.left", "selected", 0.0);
+ set_state(PART:"part.part.inside.line.right", "selected", 0.0);
}
}
script {
set_state(PART:"elm.text", "disable", 0.0);
set_state(PART:"part.arrow", "disable", 0.0);
- set_state(PART:"part.inside.line.up", "disable", 0.0);
- set_state(PART:"part.inside.line.down", "disable", 0.0);
- set_state(PART:"part.inside.line.left", "disable", 0.0);
- set_state(PART:"part.inside.line.right", "disable", 0.0);
+ set_state(PART:"part.part.inside.line.up", "disable", 0.0);
+ set_state(PART:"part.part.inside.line.down", "disable", 0.0);
+ set_state(PART:"part.part.inside.line.left", "disable", 0.0);
+ set_state(PART:"part.part.inside.line.right", "disable", 0.0);
}
}
}
}
part {
- name, "part.inside.line.up";
+ name, "part.part.inside.line.up";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.left";
+ name, "part.part.inside.line.left";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.down";
+ name, "part.part.inside.line.down";
type, RECT;
scale, 1;
description {
}
part {
- name, "part.inside.line.right";
+ name, "part.part.inside.line.right";
type, RECT;
scale, 1;
description {
}
}
}
+
+group {
+ name, "elm/button/base/style.livetv.button";
+ data.item, "focus_highlight" "on";
+ parts {
+ part {
+ name, "part.bg";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ min, 0 64;
+ }
+ }
+
+ part {
+ name, "padding.text.left";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ min, 20 0;
+ rel1.to, "part.bg";
+ rel2 {
+ to, "part.bg";
+ relative, 0.0 1.0;
+ }
+ align, 0.0 0.5;
+ fixed, 1 0;
+ }
+ }
+
+ part {
+ name, "padding.text.right";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ min, 20 0;
+ rel1 {
+ to, "part.bg";
+ relative, 1.0 0.0;
+ }
+ rel2.to, "part.bg";
+ align, 1.0 0.5;
+ fixed, 1 0;
+ }
+ }
+
+ part {
+ name, "elm.text";
+ type, TEXT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 87 87 87 255;
+ rel1 {
+ to, "padding.text.left";
+ relative, 1.0 0.0;
+ }
+ rel2 {
+ to, "padding.text.right";
+ relative, 0.0 1.0;
+ }
+ text {
+ font, FONT_TIZENSANS_LIGHT;
+ size, 28;
+ align, 0.5 0.5;
+ }
+ }
+ }
+
+ part {
+ name, "part.inside.line.up";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 194 194 194 255;
+ rel1.to, "part.bg";
+ rel2 {
+ to, "part.bg";
+ relative, 1.0 0.0;
+ }
+ min, 0 1;
+ align, 0.5 0.0;
+ fixed, 0 1;
+ }
+ }
+
+ part {
+ name, "part.inside.line.left";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 194 194 194 255;
+ rel1 {
+ to, "part.inside.line.up";
+ relative, 0.0 1.0;
+ }
+ rel2 {
+ to, "part.bg";
+ relative, 0.0 1.0;
+ }
+ min, 1 0;
+ align, 0.0 0.5;
+ fixed, 1 0;
+ }
+ }
+
+ part {
+ name, "part.inside.line.down";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 194 194 194 255;
+ rel1 {
+ to, "part.inside.line.left";
+ relative, 1.0 1.0;
+ }
+ rel2.to, "part.bg";
+ min, 0 1;
+ align, 0.5 1.0;
+ fixed, 0 1;
+ }
+ }
+
+ part {
+ name, "part.inside.line.right";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 194 194 194 255;
+ rel1 {
+ to, "part.inside.line.up";
+ relative, 1.0 1.0;
+ }
+ rel2 {
+ to, "part.inside.line.down";
+ relative, 1.0 0.0;
+ }
+ min, 1 0;
+ align, 1.0 0.5;
+ fixed, 1 0;
+ }
+ }
+ }
+}
+
+group {
+ name, "elm/button/base/style.action.menu.button";
+ data.item, "focus_highlight" "on";
+ parts {
+ part {
+ name, "part.bg";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ min, 125 124;
+ }
+ }
+
+ part {
+ name, "part.divider.right";
+ type, RECT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 224 224 224 255;
+ rel1 {
+ to, "part.bg";
+ relative, 1.0 0.0;
+ }
+ rel2.to, "part.bg";
+ min, 1 0;
+ align, 1.0 0.5;
+ fixed, 1 0;
+ }
+ }
+
+ part {
+ name, "padding.icon1";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ rel1.to, "part.bg";
+ rel2 {
+ to, "part.bg";
+ relative, 1.0 0.0;
+ }
+ min, 0 14;
+ align, 0.5 0.0;
+ fixed, 0 1;
+ }
+ }
+
+ part {
+ name, "padding.icon2";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ rel1 {
+ to, "part.bg";
+ relative, 0.0 1.0;
+ }
+ rel2.to, "part.bg";
+ min, 0 50;
+ align, 0.5 1.0;
+ fixed, 0 1;
+ }
+ }
+
+ part {
+ name, "part.icon.bg";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ rel1 {
+ to, "padding.icon1";
+ relative, 0.0 1.0;
+ }
+ rel2 {
+ to, "padding.icon2";
+ relative, 1.0 0.0;
+ }
+ align, 0.5 0.5;
+ }
+ }
+
+ part {
+ name, "elm.swallow.content";
+ type, SWALLOW;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ rel1 {
+ to, "part.icon.bg";
+ relative, 0.5 0.5;
+ }
+ rel2 {
+ to, "part.icon.bg";
+ relative, 0.5 0.5;
+ }
+ align, 0.5 0.5;
+ fixed, 1 1;
+ min, 60 60;
+ }
+ }
+
+ part {
+ name, "padding.text";
+ type, SPACER;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ rel1 {
+ to, "part.bg";
+ relative, 0.0 1.0;
+ }
+ rel2.to, "part.bg";
+ min, 0 24;
+ align, 0.5 1.0;
+ fixed, 0 1;
+ }
+ }
+
+ part {
+ name, "elm.text";
+ type, TEXT;
+ scale, 1;
+ description {
+ state, "default" 0.0;
+ color, 104 104 104 255;
+ rel1.to, "padding.text";
+ rel2 {
+ to, "padding.text";
+ relative, 1.0 0.0;
+ }
+ min, 0 20;
+ align, 0.5 1.0;
+ fixed, 0 1;
+ text {
+ font, FONT_TIZENSANS_LIGHT;
+ size, 20;
+ align, 0.5 0.5;
+ }
+ }
+ }
+ }
+}
struct _priv {
Evas_Object *win;
Evas_Object *base;
+ Evas_Object *menu_btn[ACTION_MENU_COUNT];
};
+const char *str_action[] = {
+ STR_FAVORITE,
+ STR_LOCK,
+ STR_UNINSTALL,
+ NULL
+};
+
+/* 'Lock' and 'Uninstall' is not supported now, so the disable image is used. */
+const char *str_action_png[] = {
+ ACTION_FAV_NOR_PNG,
+ ACTION_LOCK_DIS_PNG,
+ ACTION_UNINSTALL_DIS_PNG,
+ NULL
+};
+
+static bool _draw_top_area(struct _priv *priv)
+{
+ Evas_Object *btn;
+
+ if (!priv || !priv->base) {
+ _ERR("Invalid argument.");
+ return false;
+ }
+
+ btn = utils_add_button(priv->base,
+ PART_TOP_BTN, STR_LIVETV, STYLE_LIVETV_BTN);
+ if (!btn) {
+ _ERR("Add button failed.");
+ return false;
+ }
+
+ return true;
+}
+
+static bool _draw_menu_area(struct _priv *priv)
+{
+ Evas_Object *box, *btn, *img;
+ int i;
+
+ if (!priv || !priv->base) {
+ _ERR("Invalid argument.");
+ return false;
+ }
+
+ box = utils_add_box(priv->base, PART_MENU, EINA_TRUE, 0, 0);
+ if (!box) {
+ _ERR("Add box failed.");
+ return false;
+ }
+
+ for (i = 0; i < ACTION_MENU_COUNT; i++) {
+ btn = utils_add_button(priv->base, NULL, str_action[i],
+ STYLE_ACTION_MENU_BTN);
+ if (!btn) {
+ _ERR("Add button failed.");
+ evas_object_del(box);
+ return false;
+ }
+
+ img = elm_image_add(btn);
+ if (!img) {
+ _ERR("elm_image_add failed.");
+ evas_object_del(box);
+ return false;
+ }
+
+ elm_image_file_set(img, str_action_png[i], NULL);
+ evas_object_show(img);
+
+ elm_object_part_content_set(btn, NULL, img);
+
+ elm_box_pack_end(box, btn);
+
+ priv->menu_btn[i] = btn;
+ }
+
+ elm_object_focus_next_object_set(priv->menu_btn[0],
+ priv->menu_btn[ACTION_MENU_COUNT - 1], ELM_FOCUS_LEFT);
+ elm_object_focus_next_object_set(priv->menu_btn[ACTION_MENU_COUNT - 1],
+ priv->menu_btn[0], ELM_FOCUS_RIGHT);
+
+ return true;
+}
+
+static bool _draw_bottom_area(struct _priv *priv)
+{
+ if (!priv || !priv->base) {
+ _ERR("Invalid argument.");
+ return false;
+ }
+
+ /* It will be implemented later */
+
+ return true;
+}
+
+static void _draw_view_content(struct _priv *priv)
+{
+ if (!priv) {
+ _ERR("Invalid argument.");
+ return;
+ }
+
+ if (!_draw_top_area(priv)) {
+ _ERR("Draw top area failed.");
+ return;
+ }
+
+ if (!_draw_menu_area(priv)) {
+ _ERR("Draw menu area failed.");
+ return;
+ }
+
+ if (!_draw_bottom_area(priv))
+ _ERR("Draw bottom area failed.");
+}
+
static Evas_Object *_create(Evas_Object *win, void *data)
{
struct _priv *priv;
return NULL;
}
- /* It should be implemented later. */
-
priv->win = win;
priv->base = base;
return NULL;
}
+ _draw_view_content(priv);
+
return base;
}