Thanks for your advice.
I added visible: 0/1 to each part and moved text features to visible state.
What do you think about this?
-----Original Message-----
From: Carsten Haitzler (The Rasterman) [mailto:[email protected]]
Sent: Tuesday, December 21, 2010 7:39 PM
To: Sohyun Kim
Cc: [email protected]
Subject: Re: [E-devel] [Patch] elm_bubble theme patch
On Tue, 21 Dec 2010 18:56:40 +0900 Sohyun Kim <[email protected]>
said:
> Dear all,
> 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
>
> If this patch has any issue, please let me know.
hmm - visible for the text parts .. you rely on size 0 - why dont you use
visible: 0/1; ? sur e- size u might want to be 0 (and then make it min: 0 0
in
text{} too when not visible). can you fix that? :)
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) [email protected]
Index: src/lib/elm_bubble.c
===================================================================
--- src/lib/elm_bubble.c (revision 55695)
+++ src/lib/elm_bubble.c (working copy)
@@ -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
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 *
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);
}
Index: data/themes/default.edc
===================================================================
--- data/themes/default.edc (revision 55695)
+++ data/themes/default.edc (working copy)
@@ -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,16 +9420,63 @@ 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,16 +9636,63 @@ 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,16 +9852,63 @@ 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,16 +10068,63 @@ 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";
+ }
}
}
Index: AUTHORS
===================================================================
--- AUTHORS (revision 55695)
+++ AUTHORS (working copy)
@@ -31,3 +31,4 @@ Daniel Juyung Seo (SeoZ) <[email protected]>
Sangho Park <[email protected]> <[email protected]>
Rajeev Ranjan (Rajeev) <[email protected]> <[email protected]>
Seunggyun Kim <[email protected]> <[email protected]>
+Sohyun Kim <[email protected]> <[email protected]>
------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel