From: Sohyun Kim <anna1014.kim@samsung.com>

Subject: [E-devel] [Patch] elm_bubble theme patch

I'm Sohyun Kim. Nice to meet you.

This is a patch for bubble theme.

The bubble has a region for icon, label and info text. 
However, it has the region, if icon, label and info text are not set.
I modified theme and added edje signals.

1. add edje signal for label and info text state
2. remove text size for label and info text default state
   -> set it on "visible" state
3. add base image state for info text only
   


SVN revision: 55839
This commit is contained in:
Sohyun Kim 2011-01-04 08:42:55 +00:00 committed by Carsten Haitzler
parent e9a4ab576a
commit f99cf1fa94
3 changed files with 267 additions and 14 deletions

View File

@ -31,3 +31,4 @@ Daniel Juyung Seo (SeoZ) <juyung.seo@samsung.com> <seojuyung2@gmail.com>
Sangho Park <sangho.g.park@samsung.com> <gouache95@gmail.com>
Rajeev Ranjan (Rajeev) <rajeev.r@samsung.com> <rajeev.jnnce@gmail.com>
Seunggyun Kim <sgyun.kim@samsung.com> <tmdrbs@gmail.com>
Sohyun Kim <anna1014.kim@samsung.com> <sohyun.anna@gmail.com>

View File

@ -9307,6 +9307,7 @@ collections {
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 0 1;
visible: 0;
rel1 {
to_x: "elm.swallow.icon";
relative: 1.0 0.0;
@ -9317,6 +9318,10 @@ collections {
relative: 0.0 0.0;
offset: -5 4;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 255;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9325,7 +9330,7 @@ collections {
max: 0 1;
align: 0.0 0.0;
}
}
}
}
part { name: "elm.info";
type: TEXT;
@ -9334,6 +9339,7 @@ collections {
description { state: "default" 0.0;
align: 1.0 0.0;
fixed: 1 1;
visible: 0;
rel1 {
relative: 1.0 0.0;
offset: -5 4;
@ -9342,6 +9348,10 @@ collections {
relative: 1.0 0.0;
offset: -5 4;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 64;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9350,7 +9360,7 @@ collections {
max: 1 1;
align: 1.0 0.0;
}
}
}
}
part { name: "base0";
mouse_events: 0;
@ -9367,6 +9377,10 @@ collections {
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "infobase" 0.0;
inherit: "default" 0.0;
rel1.to_y: "elm.info";
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
@ -9406,15 +9420,62 @@ collections {
name: "icon_show";
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.icon";
script {
new st[31];
new Float:vl;
get_state(PART:"base0", st, 30, vl);
if (!strcmp(st, "infobase"))
set_state(PART:"base0", "default", 0.0);
set_state(PART:"elm.swallow.icon", "visible", 0.0);
}
}
program {
name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.info", st, 30, vl);
if (!strcmp(st, "visible"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.swallow.icon", "default", 0.0);
}
}
program {
name: "text_show";
signal: "elm,state,text,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.text";
}
program {
name: "text_hide";
signal: "elm,state,text,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.icon";
target: "elm.text";
}
program {
name: "info_show";
signal: "elm,state,info,visible";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.swallow.icon", st, 30, vl);
if (!strcmp(st, "default"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.info", "visible", 0.0);
}
}
program {
name: "info_hide";
signal: "elm,state,info,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.info";
target: "base0";
}
}
}
@ -9462,6 +9523,7 @@ collections {
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 0 1;
visible: 0;
rel1 {
relative: 0.0 0.0;
offset: 4 4;
@ -9471,6 +9533,10 @@ collections {
relative: 0.0 0.0;
offset: -5 4;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 255;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9488,6 +9554,7 @@ collections {
description { state: "default" 0.0;
align: 1.0 0.0;
fixed: 1 1;
visible: 0;
rel1 {
relative: 1.0 0.0;
offset: -5 4;
@ -9497,6 +9564,10 @@ collections {
relative: 0.0 0.0;
offset: -5 4;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 64;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9522,6 +9593,10 @@ collections {
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "infobase" 0.0;
inherit: "default" 0.0;
rel1.to_y: "elm.info";
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
@ -9561,15 +9636,62 @@ collections {
name: "icon_show";
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.icon";
script {
new st[31];
new Float:vl;
get_state(PART:"base0", st, 30, vl);
if (!strcmp(st, "infobase"))
set_state(PART:"base0", "default", 0.0);
set_state(PART:"elm.swallow.icon", "visible", 0.0);
}
}
program {
name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.info", st, 30, vl);
if (!strcmp(st, "visible"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.swallow.icon", "default", 0.0);
}
}
program {
name: "text_show";
signal: "elm,state,text,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.text";
}
program {
name: "text_hide";
signal: "elm,state,text,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.icon";
target: "elm.text";
}
program {
name: "info_show";
signal: "elm,state,info,visible";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.swallow.icon", st, 30, vl);
if (!strcmp(st, "default"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.info", "visible", 0.0);
}
}
program {
name: "info_hide";
signal: "elm,state,info,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.info";
target: "base0";
}
}
}
@ -9617,6 +9739,7 @@ collections {
description { state: "default" 0.0;
align: 0.0 1.0;
fixed: 0 1;
visible: 0;
rel1 {
to_x: "elm.swallow.icon";
relative: 1.0 1.0;
@ -9627,6 +9750,10 @@ collections {
relative: 0.0 1.0;
offset: -5 -5;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 255;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9644,6 +9771,7 @@ collections {
description { state: "default" 0.0;
align: 1.0 1.0;
fixed: 1 1;
visible: 0;
rel1 {
relative: 1.0 1.0;
offset: -5 -5;
@ -9652,6 +9780,10 @@ collections {
relative: 1.0 1.0;
offset: -5 -5;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 64;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9677,6 +9809,10 @@ collections {
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "infobase" 0.0;
inherit: "default" 0.0;
rel2.to_y: "elm.info";
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
@ -9716,15 +9852,62 @@ collections {
name: "icon_show";
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.icon";
script {
new st[31];
new Float:vl;
get_state(PART:"base0", st, 30, vl);
if (!strcmp(st, "infobase"))
set_state(PART:"base0", "default", 0.0);
set_state(PART:"elm.swallow.icon", "visible", 0.0);
}
}
program {
name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.info", st, 30, vl);
if (!strcmp(st, "visible"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.swallow.icon", "default", 0.0);
}
}
program {
name: "text_show";
signal: "elm,state,text,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.text";
}
program {
name: "text_hide";
signal: "elm,state,text,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.icon";
target: "elm.text";
}
program {
name: "info_show";
signal: "elm,state,info,visible";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.swallow.icon", st, 30, vl);
if (!strcmp(st, "default"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.info", "visible", 0.0);
}
}
program {
name: "info_hide";
signal: "elm,state,info,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.info";
target: "base0";
}
}
}
@ -9772,6 +9955,7 @@ collections {
description { state: "default" 0.0;
align: 0.0 1.0;
fixed: 0 1;
visible: 0;
rel1 {
relative: 0.0 1.0;
offset: 4 -5;
@ -9781,6 +9965,10 @@ collections {
relative: 0.0 1.0;
offset: -5 -5;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 255;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9798,6 +9986,7 @@ collections {
description { state: "default" 0.0;
align: 1.0 1.0;
fixed: 1 1;
visible: 0;
rel1 {
relative: 1.0 1.0;
offset: -5 -5;
@ -9807,6 +9996,10 @@ collections {
relative: 0.0 1.0;
offset: -5 -5;
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 0 0 0 64;
text {
font: "Sans:style=Bold,Edje-Vera-Bold";
@ -9832,6 +10025,10 @@ collections {
image.middle: SOLID;
fill.smooth: 0;
}
description { state: "infobase" 0.0;
inherit: "default" 0.0;
rel2.to_y: "elm.info";
}
}
part { name: "elm.swallow.content";
type: SWALLOW;
@ -9871,15 +10068,62 @@ collections {
name: "icon_show";
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.icon";
script {
new st[31];
new Float:vl;
get_state(PART:"base0", st, 30, vl);
if (!strcmp(st, "infobase"))
set_state(PART:"base0", "default", 0.0);
set_state(PART:"elm.swallow.icon", "visible", 0.0);
}
}
program {
name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.info", st, 30, vl);
if (!strcmp(st, "visible"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.swallow.icon", "default", 0.0);
}
}
program {
name: "text_show";
signal: "elm,state,text,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.text";
}
program {
name: "text_hide";
signal: "elm,state,text,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.icon";
target: "elm.text";
}
program {
name: "info_show";
signal: "elm,state,info,visible";
source: "elm";
script {
new st[31];
new Float:vl;
get_state(PART:"elm.swallow.icon", st, 30, vl);
if (!strcmp(st, "default"))
set_state(PART:"base0", "infobase", 0.0);
set_state(PART:"elm.info", "visible", 0.0);
}
}
program {
name: "info_hide";
signal: "elm,state,info,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.info";
target: "base0";
}
}
}

View File

@ -54,7 +54,11 @@ _theme_hook(Evas_Object *obj)
_elm_theme_object_set(obj, wd->bbl, "bubble", wd->corner,
elm_widget_style_get(obj));
edje_object_part_text_set(wd->bbl, "elm.text", wd->label);
if (wd->label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", "elm");
else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm");
edje_object_part_text_set(wd->bbl, "elm.info", wd->info);
if (wd->info) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", "elm");
else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm");
if (wd->content)
{
edje_object_part_swallow(wd->bbl, "elm.swallow.content", wd->content);
@ -197,6 +201,8 @@ elm_bubble_label_set(Evas_Object *obj, const char *label)
if (!wd) return;
eina_stringshare_replace(&wd->label, label);
edje_object_part_text_set(wd->bbl, "elm.text", label);
if (label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", "elm");
else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm");
_sizing_eval(obj);
}
@ -241,6 +247,8 @@ elm_bubble_info_set(Evas_Object *obj, const char *info)
if (!wd) return;
eina_stringshare_replace(&wd->info, info);
edje_object_part_text_set(wd->bbl, "elm.info", info);
if (info) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", "elm");
else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm");
_sizing_eval(obj);
}