[N-Beat-Hd Blue theme] Two new style added for multiline ellipsis support. file name...
authorPrince Kr Dubey <prince.dubey@samsung.com>
Tue, 10 Jan 2012 14:58:01 +0000 (20:28 +0530)
committerPrince Kr Dubey <prince.dubey@samsung.com>
Wed, 11 Jan 2012 05:54:36 +0000 (11:24 +0530)
Change-Id: I244b0ec1cb84ea60285c641e665e0ca44cd37aaa

themes/inc/tizen-black-hd-inc.edc
themes/inc/tizen-black-inc.edc
themes/inc/tizen-hd-inc.edc
themes/inc/tizen-inc.edc
themes/widgets/segmentedcontrol.edc

index fce9a6f..297f648 100644 (file)
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_LEFT_PADDING_COLOR_INC 56 56 56 255
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC 90 90 90 255
 
+#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 26
 #define SEGMENT_CONTROL_TEXT_SIZE_INC 28
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 28
index 4b2927e..6e335b3 100644 (file)
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_LEFT_PADDING_COLOR_INC 56 56 56 255
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC 90 90 90 255
 
+#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 26
 #define SEGMENT_CONTROL_TEXT_SIZE_INC 18
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 18
index 9d15769..6cd260d 100644 (file)
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_LEFT_PADDING_COLOR_INC 203 193 182 255
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC 255 250 239 255
 
+#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 26
 #define SEGMENT_CONTROL_TEXT_SIZE_INC 28
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 28
index db7ae60..44522d1 100644 (file)
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_LEFT_PADDING_COLOR_INC 203 193 182 255
 #define SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC 255 250 239 255
 
+#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 26
 #define SEGMENT_CONTROL_TEXT_SIZE_INC 18
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
 #define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 18
index 2f83442..5426018 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved 
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * PROPRIETARY/CONFIDENTIAL
  *
@@ -105,7 +105,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "default_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_normal_left.png";
                border:  5 2 5 5;
@@ -114,7 +113,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "default_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_normal_right.png";
                border: 2 5 5 5;
@@ -123,8 +121,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "default_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
             normal: "00_winset_btn_sge_normal_centre.png";
             border: 0 0 7 7;
@@ -141,7 +137,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "pressed_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_01.png";
                border:  5 2 5 5;
@@ -150,7 +145,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "pressed_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_03.png";
                border: 2 5 5 5;
@@ -159,8 +153,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "pressed_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_02.png";
                border: 0 0 7 7;
@@ -177,7 +169,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "selected_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_01.png";
                border:  5 2 5 5;
@@ -186,7 +177,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "selected_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_03.png";
                border: 2 5 5 5;
@@ -195,8 +185,6 @@ group { name: "elm/segment_control/item/default";
          description { state: "selected_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_press_02.png";
                border: 0 0 7 7;
@@ -237,10 +225,12 @@ group { name: "elm/segment_control/item/default";
             rel1 {
                to: "base";
                relative: 1.0 0.0;
+               offset: -1 0;
             }
             rel2 {
                to: "base";
                relative: 1.0 1.0;
+               offset: -1 0;
             }
             color: SEGMENT_CONTROL_ITEM_1PX_RIGHT_PADDING_COLOR_INC;
          }
@@ -761,7 +751,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "default_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_normal_left.png";
                border:  5 2 5 5;
@@ -770,7 +759,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "default_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_normal_right.png";
                border: 2 5 5 5;
@@ -779,8 +767,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "default_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
             normal: "00_winset_btn_sge_body_normal_centre.png";
             border: 0 0 5 5;
@@ -797,7 +783,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "pressed_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_left.png";
                border:  5 2 5 5;
@@ -806,7 +791,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "pressed_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_right.png";
                border: 2 5 5 5;
@@ -815,8 +799,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "pressed_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_center.png";
                border: 0 0 7 7;
@@ -833,7 +815,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "selected_left" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_left.png";
                border:  5 2 5 5;
@@ -842,7 +823,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "selected_right" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_right.png";
                border: 2 5 5 5;
@@ -851,8 +831,6 @@ group { name: "elm/segment_control/item/body_style";
          description { state: "selected_middle" 0.0;
             inherit: "default" 0.0;
             visible: 1;
-            rel1.offset: 1 0; // 1 pixel seperator
-            rel2.offset: -1 0; // 1 pixel seperator
             image {
                normal: "00_winset_btn_sge_body_press_center.png";
                border: 0 0 7 7;
@@ -891,12 +869,14 @@ group { name: "elm/segment_control/item/body_style";
             min: 1 0;
             fixed: 1 0;
             rel1 {
-               to: "segment";
+               to: "base";
                relative: 1.0 0.0;
+               offset: -1 0;
             }
             rel2 {
-               to: "segment";
+               to: "base";
                relative: 1.0 1.0;
+               offset: -1 0;
             }
             color: SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC;
          }
@@ -1339,6 +1319,1307 @@ group { name: "elm/segment_control/item/body_style";
          target: "elm.swallow.icon";
       }
    }
+}
+
+group { name: "elm/segment_control/base/multiline";
+   images {
+      image: "00_winset_btn_sge_normal.png" COMP;
+   }
+   parts {
+      part { name: "bg";
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: 100 40;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+               border_scale: 1;
+               middle: 1;
+            }
+         }
+      }
+   }
+}
+
+group { name: "elm/segment_control/item/multiline";
+
+   images {
+      image: "00_winset_btn_sge_normal.png" COMP;
+      image: "00_winset_btn_sge_normal_left.png" COMP;
+      image: "00_winset_btn_sge_normal_centre.png" COMP;
+      image: "00_winset_btn_sge_normal_right.png" COMP;
+      image: "00_winset_btn_sge_press_01.png" COMP;
+      image: "00_winset_btn_sge_press_02.png" COMP;
+      image: "00_winset_btn_sge_press_03.png" COMP;
+   }
+
+   styles{
+      style { name: "segment_control_multiline_style";
+         base: "font=SLP:style=Roman font_size="SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC" align=center color=#ffffff wrap=char ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "hilight" "+ font=SLP:style=Bold";
+         tag:  "b" "+ font=SLP:style=Bold";
+         tag:  "tab" "\t";
+      }
+   }
+   parts {
+      part { name: "base";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "segment";
+         mouse_events: 1;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 1 1;
+            visible: 0;
+            rel1 {
+               to: "base";
+               relative: 0.0 0.0;
+            }
+            rel2 {
+               to: "base";
+               relative: 1.0 1.0;
+            }
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+               border_scale: 1;
+               middle: 1;
+            }
+         }
+         description { state: "default_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "default_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal_left.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "default_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal_right.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "default_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+            normal: "00_winset_btn_sge_normal_centre.png";
+            border: 0 0 5 5;
+            }
+         }
+         description { state: "pressed_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "pressed_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_01.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "pressed_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_03.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "pressed_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_02.png";
+               border: 0 0 7 7;
+            }
+         }
+         description { state: "selected_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "selected_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_01.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "selected_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_03.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "selected_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_press_02.png";
+               border: 0 0 7 7;
+            }
+         }
+      }
+      part { name: "left_1pxl_padding";
+         type: RECT;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 0.0 0.5;
+            min: 1 0;
+            fixed: 1 0;
+            rel1 {
+               to: "base";
+               relative: 0.0 0.11;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "base";
+               relative: 0.0 0.89;
+               offset: 0 0;
+            }
+            color: SEGMENT_CONTROL_ITEM_1PX_LEFT_PADDING_COLOR_INC;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "right_1pxl_padding";
+         type: RECT;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 1.0 0.5;
+            min: 1 0;
+            fixed: 1 0;
+            rel1 {
+               to: "base";
+               relative: 1.0 0.11;
+               offset: -1 0;
+            }
+            rel2 {
+               to: "base";
+               relative: 1.0 0.89;
+               offset: -1 0;
+            }
+            color: SEGMENT_CONTROL_ITEM_1PX_RIGHT_PADDING_COLOR_INC;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "padding_frame";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            /* Add a padding of 2 pxs in all directions */
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+          }
+      }
+      part { name: "icon.bg";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            fixed: 1 0;
+            rel1.to: "elm.swallow.icon";
+            rel2.to: "elm.swallow.icon";
+         }
+      }
+      part { name: "padding_icon_text";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0; //when only icon or no icon is there
+            visible: 0;
+            align: 0.0 0.0;
+            rel1 {
+               to: "icon.bg";
+               relative: 1.0 0.0;
+            }
+            rel2 {
+               to: "icon.bg";
+               relative: 1.0 1.0;
+            }
+         }
+         description { state: "icononly" 0.0;
+            inherit: "default" 0.0;
+         }
+         description { state: "visible" 0.0; //when icon is visible
+            inherit: "default" 0.0;
+            rel2.offset: 2 0;
+         }
+      }
+      part { name: "elm.swallow.icon";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 0.5 0.5;
+            rel1.to: "padding_frame";
+            rel2.to: "padding_frame";
+            rel2.relative: 0.0 0.0;
+            aspect: 1.0 1.0;
+            aspect_preference: BOTH;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            rel2.relative: 0.3 1.0;
+         }
+         description { state: "icononly" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            rel2.relative: 1.0 1.0;
+         }
+      }
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+            fixed: 1 1;
+            max: 9999 84;
+            rel1 {
+               to_x: "padding_icon_text";
+               to_y: "base";
+               relative: 1.0 0.0;
+            }
+            rel2.to_x: "padding_frame";
+            rel2.to_y: "base";
+            color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_NORMAL_INC;
+            text {
+              style: "segment_control_multiline_style";
+              min: 0 1;
+              max: 0 1;
+            }
+         }
+         description { state: "normal" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "pressed" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_PRESSED_INC;
+         }
+         description { state: "selected" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_SELECTED_INC;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_DISABLED_INC;
+         }
+      }
+      part { name: "disabler";
+         repeat_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            fixed: 1 1;
+            min: 1 1;
+            align: 0.0 0.5;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "segment";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to: "segment";
+            }
+            color: 255 255 255 150;
+         }
+         description { state: "disabled_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "disabled_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_left.png";
+               border:  5 2 5 5;
+            }
+         }
+         description { state: "disabled_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_right.png";
+               border: 2 5 5 5;
+            }
+         }
+         description { state: "disabled_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_centre.png";
+               border: 0 0 7 7;
+            }
+         }
+      }
+   }
+   programs {
+      script {
+         public seg_type; // Single, Left, Middle, Right.
+         public seg_state; // Normal/Default, Pressed, Selected.
+         public seg_status;// Enabled/Default, Disabled
+
+         public update_state() {
+            new type, state, disabled;
+            type = get_int(seg_type);
+            state = get_int(seg_state);
+            disabled = get_int(seg_status);
+
+            if(state == SEGMENT_STATE_NORMAL)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "default_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "default_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "default_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "default_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "normal", 0.0);
+              }
+            else if(state == SEGMENT_STATE_PRESSED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "pressed_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "pressed_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "pressed_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "pressed_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "pressed", 0.0);
+              }
+            else if(state == SEGMENT_STATE_SELECTED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "selected_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "selected_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "selected_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "selected_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "selected", 0.0);
+              }
+            if(disabled == SEGMENT_STATUS_DISABLED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                       set_state(PART:"disabler", "disabled_single", 0.0);
+                       set_state(PART:"left_1pxl_padding", "default", 0.0);
+                       set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"disabler", "disabled_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"disabler", "disabled_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"disabler", "disabled_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "disabled", 0.0);
+              }
+            else
+              {
+                 set_state(PART:"disabler", "default", 0.0);
+              }
+         }
+      }
+      program {
+         name: "segment_type_s";
+         signal: "elm,type,segment,single";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_SINGLE);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_l";
+         signal: "elm,type,segment,left";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_LEFT);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_m";
+         signal: "elm,type,segment,middle";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_MIDDLE);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_r";
+         signal: "elm,type,segment,right";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_RIGHT);
+            update_state();
+         }
+      }
+      program {
+         name: "normal_segment";
+         signal: "elm,state,segment,normal";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_NORMAL);
+            update_state();
+         }
+      }
+      program {
+         name: "pressed_segment";
+         signal: "elm,state,segment,pressed";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_PRESSED);
+            update_state();
+         }
+      }
+      program {
+         name: "selected_segment";
+         signal: "elm,state,segment,selected";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_SELECTED);
+            update_state();
+         }
+      }
+      program { name: "disable_segment";
+         signal: "elm,state,disabled";
+         source: "elm";
+         script {
+            set_int(seg_status, SEGMENT_STATUS_DISABLED);
+            update_state();
+         }
+      }
+      program { name: "enable_segment";
+         signal: "elm,state,enabled";
+         source: "elm";
+         script {
+            set_int(seg_status, SEGMENT_STATUS_ENABLED);
+            update_state();
+         }
+      }
+      program { name: "text_show";
+         signal: "elm,state,text,visible";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.swallow.icon", st, 30, vl);
+            if (!strcmp(st, "icononly"))
+              {
+                 set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                 set_state(PART:"padding_icon_text", "visible", 0.0);
+              }
+            get_state(PART:"elm.text", st, 30, vl);
+            if (!strcmp(st, "selected"))
+               set_state(PART:"elm.text", "selected", 0.0);
+            else
+               set_state(PART:"elm.text", "normal", 0.0);
+         }
+      }
+      program { name: "text_hide";
+         signal: "elm,state,text,hidden";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.swallow.icon", st, 30, vl);
+            if (!strcmp(st, "visible"))
+              {
+                 set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                 set_state(PART:"padding_icon_text", "icononly", 0.0);
+              }
+            set_state(PART:"elm.text", "default", 0.0);
+         }
+      }
+      program { name: "icon_show";
+         signal: "elm,state,icon,visible";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if ((!strcmp(st, "normal")) || (!strcmp(st, "selected")))
+              {
+                 set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                 set_state(PART:"padding_icon_text", "visible", 0.0);
+              }
+            else
+              {
+                 set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                 set_state(PART:"padding_icon_text", "icononly", 0.0);
+              }
+         }
+      }
+      program { name: "icon_hide";
+         signal: "elm,state,icon,hidden";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "elm.swallow.icon";
+      }
+   }
+}
+
+
+group { name: "elm/segment_control/base/title_multiline";
+   images {
+      image: "00_winset_btn_sge_body.png" COMP;
+   }
+   parts {
+      part { name: "bg";
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            rel1.offset: 0 0;
+            rel2.offset: 0 1;
+            image {
+               normal: "00_winset_btn_sge_body.png";
+               border: 5 5 5 5;
+               border_scale: 1;
+               middle: 1;
+            }
+         }
+      }
+   }
+}
+
+group { name: "elm/segment_control/item/title_multiline";
+
+   images {
+      image: "00_winset_btn_sge_body.png" COMP;
+      image: "00_winset_btn_sge_body_normal_left.png" COMP;
+      image: "00_winset_btn_sge_body_normal_centre.png" COMP;
+      image: "00_winset_btn_sge_body_normal_right.png" COMP;
+      image: "00_winset_btn_sge_body_press_left.png" COMP;
+      image: "00_winset_btn_sge_body_press_center.png" COMP;
+      image: "00_winset_btn_sge_body_press_right.png" COMP;
+   }
+   parts {
+      part { name: "base";
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "segment";
+         mouse_events: 1;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 1 1;
+            visible: 0;
+            rel1 {
+               to: "base";
+               relative: 0.0 0.0;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "base";
+               relative: 1.0 1.0;
+               offset: 0 0;
+            }
+            image {
+               normal: "00_winset_btn_sge_body.png";
+               border: 5 5 5 5;
+               border_scale: 1;
+               middle: 1;
+            }
+         }
+         description { state: "default_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "default_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_left.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "default_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_right.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "default_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+            normal: "00_winset_btn_sge_body_normal_centre.png";
+            border: 0 0 5 5;
+            }
+         }
+         description { state: "pressed_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "pressed_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_left.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "pressed_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_right.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "pressed_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_center.png";
+               border: 0 0 7 7;
+            }
+         }
+         description { state: "selected_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_normal.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "selected_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_left.png";
+               border:  6 0 5 5;
+            }
+         }
+         description { state: "selected_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_right.png";
+               border: 0 6 5 5;
+            }
+         }
+         description { state: "selected_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_press_center.png";
+               border: 0 0 7 7;
+            }
+         }
+      }
+      part { name: "left_1pxl_padding";
+         type: RECT;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 0.0 0.5;
+            min: 1 0;
+            fixed: 1 0;
+            rel1 {
+               to: "base";
+               relative: 0.0 0.11;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "base";
+               relative: 0.0 0.89;
+               offset: 0 0;
+            }
+            color: SEGMENT_CONTROL_BODY_ITEM_1PX_LEFT_PADDING_COLOR_INC;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "right_1pxl_padding";
+         type: RECT;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 1.0 0.5;
+            min: 1 0;
+            fixed: 1 0;
+            rel1 {
+               to: "base";
+               relative: 1.0 0.11;
+               offset: -1 0;
+            }
+            rel2 {
+               to: "base";
+               relative: 1.0 0.89;
+               offset: 1 0;
+               offset: -1 0;
+            }
+            color: SEGMENT_CONTROL_BODY_ITEM_1PX_RIGHT_PADDING_COLOR_INC;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "padding_frame";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            /* Add a padding of 2 pxs in all directions */
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+          }
+      }
+      part { name: "icon.bg";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            visible: 0;
+            fixed: 1 0;
+            rel1.to: "elm.swallow.icon";
+            rel2.to: "elm.swallow.icon";
+         }
+      }
+      part { name: "padding_icon_text";
+         type: RECT;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0; //when only icon or no icon is there
+            visible: 0;
+            align: 0.0 0.0;
+            rel1 {
+               to: "icon.bg";
+               relative: 1.0 0.0;
+            }
+            rel2 {
+               to: "icon.bg";
+               relative: 1.0 1.0;
+            }
+         }
+         description { state: "icononly" 0.0;
+            inherit: "default" 0.0;
+         }
+         description { state: "visible" 0.0; //when icon is visible
+            inherit: "default" 0.0;
+            rel2.offset: 2 0;
+         }
+      }
+      part { name: "elm.swallow.icon";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 0.5 0.5;
+            rel1.to: "padding_frame";
+            rel2.to: "padding_frame";
+            rel2.relative: 0.0 0.0;
+            aspect: 1.0 1.0;
+            aspect_preference: BOTH;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            rel2.relative: 0.3 1.0;
+         }
+         description { state: "icononly" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            rel2.relative: 1.0 1.0;
+         }
+      }
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+            fixed: 1 1;
+            max: 9999 84;
+            rel1 {
+               to_x: "padding_icon_text";
+               relative: 1.0 0.0;
+            }
+            rel2.to: "padding_frame";
+            color: SEGMENT_CONTROL_BODY_STYLE_ITEM_TITLE_TEXT_COLOR_NORMAL_INC;
+            text {
+              style: "segment_control_multiline_style";
+              min: 0 1;
+              max: 0 1;
+            }
+         }
+         description { state: "normal" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "pressed" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_BODY_STYLE_ITEM_TITLE_TEXT_COLOR_PRESSED_INC;
+         }
+         description { state: "selected" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_BODY_STYLE_ITEM_TITLE_TEXT_COLOR_SELECTED_INC;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: SEGMENT_CONTROL_BODY_STYLE_ITEM_TITLE_TEXT_COLOR_DISABLED_INC;
+         }
+      }
+      part { name: "disabler";
+         repeat_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            fixed: 1 1;
+            min: 1 1;
+            align: 0.0 0.5;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "segment";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to: "segment";
+            }
+            color: 255 255 255 150;
+         }
+         description { state: "disabled_single" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body.png";
+               border: 5 5 5 5;
+            }
+         }
+         description { state: "disabled_left" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_left.png";
+               border:  5 2 5 5;
+            }
+         }
+         description { state: "disabled_right" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_right.png";
+               border: 2 5 5 5;
+            }
+         }
+         description { state: "disabled_middle" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            image {
+               normal: "00_winset_btn_sge_body_normal_centre.png";
+               border: 0 0 7 7;
+            }
+         }
+      }
+   }
+   programs {
+      script {
+         public seg_type; // Single, Left, Middle, Right.
+         public seg_state; // Normal/Default, Pressed, Selected.
+         public seg_status;// Enabled/Default, Disabled
+
+         public update_state() {
+            new type, state, disabled;
+            type = get_int(seg_type);
+            state = get_int(seg_state);
+            disabled = get_int(seg_status);
+
+            if(state == SEGMENT_STATE_NORMAL)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "default_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "default_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "default_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "default_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "normal", 0.0);
+              }
+            else if(state == SEGMENT_STATE_PRESSED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "pressed_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "pressed_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "pressed_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "pressed_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "pressed", 0.0);
+              }
+            else if(state == SEGMENT_STATE_SELECTED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                      set_state(PART:"segment", "selected_single", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"segment", "selected_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"segment", "selected_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"segment", "selected_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "selected", 0.0);
+              }
+            if(disabled == SEGMENT_STATUS_DISABLED)
+              {
+                 if(type == SEGMENT_TYPE_SINGLE)
+                   {
+                       set_state(PART:"disabler", "disabled_single", 0.0);
+                       set_state(PART:"left_1pxl_padding", "default", 0.0);
+                       set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_LEFT)
+                   {
+                      set_state(PART:"disabler", "disabled_left", 0.0);
+                      set_state(PART:"left_1pxl_padding", "default", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_MIDDLE)
+                   {
+                      set_state(PART:"disabler", "disabled_middle", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "visible", 0.0);
+                   }
+                 else if(type == SEGMENT_TYPE_RIGHT)
+                   {
+                      set_state(PART:"disabler", "disabled_right", 0.0);
+                      set_state(PART:"left_1pxl_padding", "visible", 0.0);
+                      set_state(PART:"right_1pxl_padding", "default", 0.0);
+                   }
+                 set_state(PART:"elm.text", "disabled", 0.0);
+              }
+            else
+              {
+                 set_state(PART:"disabler", "default", 0.0);
+              }
+         }
+      }
+      program {
+         name: "segment_type_s";
+         signal: "elm,type,segment,single";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_SINGLE);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_l";
+         signal: "elm,type,segment,left";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_LEFT);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_m";
+         signal: "elm,type,segment,middle";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_MIDDLE);
+            update_state();
+         }
+      }
+      program {
+         name: "segment_type_r";
+         signal: "elm,type,segment,right";
+         source: "elm";
+         script {
+            set_int(seg_type, SEGMENT_TYPE_RIGHT);
+            update_state();
+         }
+      }
+      program {
+         name: "normal_segment";
+         signal: "elm,state,segment,normal";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_NORMAL);
+            update_state();
+         }
+      }
+      program {
+         name: "pressed_segment";
+         signal: "elm,state,segment,pressed";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_PRESSED);
+            update_state();
+         }
+      }
+      program {
+         name: "selected_segment";
+         signal: "elm,state,segment,selected";
+         source: "elm";
+         script {
+            set_int(seg_state, SEGMENT_STATE_SELECTED);
+            update_state();
+         }
+      }
+      program { name: "disable_segment";
+         signal: "elm,state,disabled";
+         source: "elm";
+         script {
+            set_int(seg_status, SEGMENT_STATUS_DISABLED);
+            update_state();
+         }
+      }
+      program { name: "enable_segment";
+         signal: "elm,state,enabled";
+         source: "elm";
+         script {
+            set_int(seg_status, SEGMENT_STATUS_ENABLED);
+            update_state();
+         }
+      }
+      program { name: "text_show";
+         signal: "elm,state,text,visible";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.swallow.icon", st, 30, vl);
+            if (!strcmp(st, "icononly"))
+              {
+                 set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                 set_state(PART:"padding_icon_text", "visible", 0.0);
+              }
+            get_state(PART:"elm.text", st, 30, vl);
+            if (!strcmp(st, "selected"))
+               set_state(PART:"elm.text", "selected", 0.0);
+            else
+               set_state(PART:"elm.text", "normal", 0.0);
+         }
+      }
+      program { name: "text_hide";
+         signal: "elm,state,text,hidden";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.swallow.icon", st, 30, vl);
+            if (!strcmp(st, "visible"))
+              {
+                 set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                 set_state(PART:"padding_icon_text", "icononly", 0.0);
+              }
+            set_state(PART:"elm.text", "default", 0.0);
+         }
+      }
+      program { name: "icon_show";
+         signal: "elm,state,icon,visible";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if ((!strcmp(st, "normal")) || (!strcmp(st, "selected")))
+              {
+                 set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                 set_state(PART:"padding_icon_text", "visible", 0.0);
+              }
+            else
+              {
+                 set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                 set_state(PART:"padding_icon_text", "icononly", 0.0);
+              }
+         }
+      }
+      program { name: "icon_hide";
+         signal: "elm,state,icon,hidden";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "elm.swallow.icon";
+      }
+   }
 #undef SEGMENT_TYPE_SINGLE
 #undef SEGMENT_TYPE_LEFT
 #undef SEGMENT_TYPE_MIDDLE