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

Reply via email to