summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWonYoung Choi <wy80.choi@samsung.com>2017-01-11 17:00:48 +0900
committerWonYoung Choi <wy80.choi@samsung.com>2017-01-11 17:00:48 +0900
commit16ef6b0ff704cb1000df62e60dbd34024bd770cb (patch)
tree79798888f5b0cf5e287500269f79fc008b44e70b
parentc1a751974cb44d8ea01f3ce1dd2aaa4c510d3d44 (diff)
downloadelm-sharp-16ef6b0ff704cb1000df62e60dbd34024bd770cb.tar.gz
elm-sharp-16ef6b0ff704cb1000df62e60dbd34024bd770cb.tar.bz2
elm-sharp-16ef6b0ff704cb1000df62e60dbd34024bd770cb.zip
Add theme for common profile
Change-Id: I04f995148e379e54f6669c6123ee77336b4490f6
-rw-r--r--ElmSharp/theme/common/HD-inc.edc77
-rw-r--r--ElmSharp/theme/common/HD/images/Assist_Views/README1
-rw-r--r--ElmSharp/theme/common/HD/images/Navigation_elements/README1
-rwxr-xr-xElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_01.svg8
-rwxr-xr-xElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_02.svg9
-rwxr-xr-xElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_icon.svg7
-rwxr-xr-xElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_stroke.svg8
-rwxr-xr-xElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_white_bg.svg8
-rw-r--r--ElmSharp/theme/common/color_classes.edc101
-rw-r--r--ElmSharp/theme/common/elm-sharp-theme-mobile.edc93
-rw-r--r--ElmSharp/theme/common/widgets/colorselector.edc91
-rw-r--r--ElmSharp/theme/common/widgets/entry.edc1077
-rw-r--r--ElmSharp/theme/common/widgets/label.edc722
-rw-r--r--ElmSharp/theme/common/widgets/layout.edc40
-rw-r--r--ElmSharp/theme/common/widgets/radio.edc559
15 files changed, 2802 insertions, 0 deletions
diff --git a/ElmSharp/theme/common/HD-inc.edc b/ElmSharp/theme/common/HD-inc.edc
new file mode 100644
index 0000000..c3266bd
--- /dev/null
+++ b/ElmSharp/theme/common/HD-inc.edc
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//****************************************************************************//
+// This file defines the width, height (not color!) for each widgets
+// We can define different INC file by Resolution (HD, qHD, WVGA, HVGA)
+//
+// ************* Naming Rule ************ //
+// {WIDGET}_{GROUP}_{PART}_{STATE}_{TYPE}
+// WIDGET: NAVIFRAME, LIST, DATETIME, POPUP, etc.
+// GROUP: INDEX
+// PART: TEXT, ICON, BG, PADDING, DIVIDER, ICON, etc.
+// STATE: LEFT, RIGHT, TOP, BOTTOM, MIN, MAX,
+// TYPE: HEIGHT, WIDTH, SIZE
+// e.g. LIST_PADDING_LEFT_HEIGHT
+//****************************************************************************//
+
+#define BASE_SCALE_INC 2.6
+
+//****************************************************************************//
+// Colorselector
+//****************************************************************************//
+#define COLORSELECTOR_PALETTE_COLORPLANE_HEIGHT_INC 238
+#define COLORSELECTOR_PALETTE_COLORPLANE_WIDTH_INC 678
+#define COLORSELECTOR_PORTRAIT_HOR_PAD_COLORPLANE_INC "8"
+#define COLORSELECTOR_PORTRAIT_VER_PAD_COLORPLANE_INC "8"
+#define COLORSELECTOR_TOPBOTTOM_PAD_COLORPLANE_INC 24
+
+//****************************************************************************//
+// Entry
+//****************************************************************************//
+#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_HIGHLIGHT_BACKGROUND_COLOR_INC "#8bd8ff99"
+#define ENTRY_PREEDIT_TEXT_COLOR_INC "#FAFAFA"
+#define ENTRY_PREEDIT_UNDERLINE_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_SUB1_COLOR_INC "#2EA8E1"
+#define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
+#define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
+#define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
+#define ENTRY_LEFT_RIGHT_MARGIN_INC 5
+#define ENTRY_FONT_SIZE_INC 40
+#define ENTRY_CURSOR_SIZE_INC 3 0
+
+//****************************************************************************//
+// Label
+//****************************************************************************//
+#define LABEL_FONT_SIZE_INC 24
+
+//****************************************************************************//
+// RADIO
+//****************************************************************************//
+#define RADIO_DEFAULT_SIZE_INC 50 50
+#define RADIO_PAD_BEFORE_TEXT_INC 32 0
+
diff --git a/ElmSharp/theme/common/HD/images/Assist_Views/README b/ElmSharp/theme/common/HD/images/Assist_Views/README
new file mode 100644
index 0000000..1746a11
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/Assist_Views/README
@@ -0,0 +1 @@
+This is reserved directory for mobile images. Please delete this file when any file is added.
diff --git a/ElmSharp/theme/common/HD/images/Navigation_elements/README b/ElmSharp/theme/common/HD/images/Navigation_elements/README
new file mode 100644
index 0000000..f267efa
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/Navigation_elements/README
@@ -0,0 +1 @@
+This is reserved space for mobile images. Please erase this file if any image is added.
diff --git a/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_01.svg b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_01.svg
new file mode 100755
index 0000000..a903fc2
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_01.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<path fill="#FFFFFF" d="M25.001,13c-6.617,0-12,5.383-12,12s5.383,12.001,12,12.001C31.617,37,37,31.616,37,24.999
+ S31.617,13,25.001,13z"/>
+</svg>
diff --git a/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_02.svg b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_02.svg
new file mode 100755
index 0000000..4bf9638
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_bg_02.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<path fill="#FFFFFF" d="M25.001,2c-12.703,0-23,10.297-23,22.999c0,12.704,10.297,23.001,23,23.001C37.703,48,48,37.703,48,24.999
+ C48,12.297,37.703,2,25.001,2z M25.001,41c-8.822,0-16-7.178-16-16.001c0-8.822,7.178-16,16-16c8.822,0,15.999,7.178,15.999,16
+ C41,33.822,33.823,41,25.001,41z"/>
+</svg>
diff --git a/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_icon.svg b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_icon.svg
new file mode 100755
index 0000000..3170adc
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_icon.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<circle fill="#FFFFFF" cx="25.001" cy="25" r="23"/>
+</svg>
diff --git a/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_stroke.svg b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_stroke.svg
new file mode 100755
index 0000000..9a8fdab
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_stroke.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<path fill="#FFFFFF" d="M25.001,49c-13.233,0-24-10.767-24-24s10.767-24,24-24s24,10.767,24,24S38.234,49,25.001,49z M25.001,4
+ c-11.58,0-21,9.42-21,21c0,11.579,9.42,21,21,21c11.579,0,21-9.421,21-21C46.001,13.42,36.58,4,25.001,4z"/>
+</svg>
diff --git a/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_white_bg.svg b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_white_bg.svg
new file mode 100755
index 0000000..054a779
--- /dev/null
+++ b/ElmSharp/theme/common/HD/images/User_Input_Elements/core_radio_white_bg.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
+<path fill="#FFFFFF" d="M25.001,49c-13.233,0-24-10.766-24-24.001C1.001,11.767,11.768,1,25.001,1C38.234,1,49,11.767,49,24.999
+ C49,38.234,38.234,49,25.001,49z"/>
+</svg>
diff --git a/ElmSharp/theme/common/color_classes.edc b/ElmSharp/theme/common/color_classes.edc
new file mode 100644
index 0000000..d10c93b
--- /dev/null
+++ b/ElmSharp/theme/common/color_classes.edc
@@ -0,0 +1,101 @@
+color_classes {
+ /*
+ * Layout
+ */
+ color_class {
+ name: "layout/background/bg";
+ color: 0 0 0 0;
+ }
+ /*
+ * Colorselector
+ */
+ color_class {
+ name: "colorselector/default/bg";
+ color: 250 250 250 255;
+ }
+ /*
+ * Entry
+ */
+ color_class { "entry/default/text_edit";
+ color: 0 0 0 255;
+ }
+ color_class { "entry/default/text_edit_focused";
+ color: 0 0 0 255;
+ }
+ color_class { "entry/default/text_edit_disabled";
+ color: 0 0 0 110;
+ }
+ color_class { "entry/default/text_guide";
+ color: 0 0 0 145;
+ }
+ color_class { "entry/default/text_guide_focused";
+ color: 0 0 0 145;
+ }
+ color_class { "entry/default/text_guide_disabled";
+ color: 0 0 0 110;
+ }
+ color_class {
+ name: "entry/default/bg";
+ color: 0 0 0 0;
+ }
+ color_class { "entry/default/cursor";
+ color: 0 184 230 110;
+ }
+ /*
+ * Label
+ */
+ color_class {
+ name: "label/default/bg";
+ color: 0 0 0 0;
+ }
+ color_class {
+ name: "label/slide_long/bg";
+ color: 0 0 0 0;
+ }
+ color_class {
+ name: "label/slide_short/bg";
+ color: 0 0 0 0;
+ }
+ color_class {
+ name: "label/slide_roll/bg";
+ color: 0 0 0 0;
+ }
+ color_class {
+ name: "label/slide_bounce/bg";
+ color: 0 0 0 0;
+ }
+
+ /*
+ * Radio
+ */
+ color_class { "radio/default/icon";
+ color: 61 185 204 255;
+ }
+ color_class { "radio/default/bg";
+ color: 250 250 250 51;
+ }
+ color_class { "radio/default/icon_disabled";
+ color: 61 185 204 77;
+ }
+ color_class { "radio/default/bg_disabled";
+ color: 250 250 250 38;
+ }
+ color_class { "radio/default/bg_border_on";
+ color: 250 250 250 77;
+ }
+ color_class { "radio/default/bg_border_on_disabled";
+ color: 250 250 250 38;
+ }
+ color_class { "radio/default/stroke";
+ color: 61 185 204 255;
+ }
+ color_class { "radio/default/stroke_disabled";
+ color: 61 185 204 77;
+ }
+ color_class { "radio/default/bg_on";
+ color: 250 250 250 255;
+ }
+ color_class { "radio/default/bg_on_disabled";
+ color: 250 250 250 255;
+ }
+}
diff --git a/ElmSharp/theme/common/elm-sharp-theme-mobile.edc b/ElmSharp/theme/common/elm-sharp-theme-mobile.edc
new file mode 100644
index 0000000..d9baad4
--- /dev/null
+++ b/ElmSharp/theme/common/elm-sharp-theme-mobile.edc
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// LICENSE NOTE:
+// This file (and only this one) is licenses under public-domain. The reason
+// is that this is meant to serve as a template for making your own themes and
+// Elementary's LGPL license is not intended to follow. The images used do come
+// under LGPL, but this file specifically for the structure of your theme is
+// public-domain. This means you can take, use, re-license and otherwise
+// have zero restrictions on using this file as a base for your theme.
+
+//****************************************************************************************//
+// This is theme body including all widget bodys
+// Define shared descriptions (e.g. sound samples, color classes, textblock styles) in here
+// Do not define size(width, height) in here!!!!
+//****************************************************************************************//
+
+// Include INC (e.g. HD-inc.edc, HVGA-inc.edc for each resolution) file
+#include "HD-inc.edc"
+
+externals {
+ external: "elm";
+}
+
+// BUILD_FIX: Add version to edc as 110.
+data.item: "version" "110";
+//
+
+collections {
+ base_scale: BASE_SCALE_INC;
+ plugins {
+ plugin {
+ name: "touch_sound";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; // FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TOUCH_TAP
+
+ /* 2014.06.11 updated from libsvi(feedback)
+ Above plugin will run below external function:
+ int feedback_play_type(feedback_type_e type, feedback_pattern_e pattern);
+
+ param1: feedback_type_e
+ FEEDBACK_TYPE_NONE = 0,
+ FEEDBACK_TYPE_SOUND = 1,
+ FEEDBACK_TYPE_VIBRATION,
+ FEEDBACK_TYPE_LED,
+ FEEDBACK_TYPE_END
+
+ * param2 enumeration:
+ FEEDBACK_PATTERN_TAP = 0,
+ FEEDBACK_PATTERN_SIP,
+ FEEDBACK_PATTERN_SIP_BACKSPACE,
+ FEEDBACK_PATTERN_SIP_FUNCTION,
+ FEEDBACK_PATTERN_SIP_FJKEY,
+ ...
+
+ * For more information please refer libsvi.
+ */
+ }
+ }
+
+#include "color_classes.edc"
+
+#include "widgets/colorselector.edc"
+#include "widgets/entry.edc"
+#include "widgets/label.edc"
+#include "widgets/radio.edc"
+#include "widgets/layout.edc"
+
+}
+
diff --git a/ElmSharp/theme/common/widgets/colorselector.edc b/ElmSharp/theme/common/widgets/colorselector.edc
new file mode 100644
index 0000000..4ac5725
--- /dev/null
+++ b/ElmSharp/theme/common/widgets/colorselector.edc
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+group { "elm/colorselector/palette/colorplane";
+ alias: "elm/colorselector/palette/default";
+ data.item: "horizontal_pad" COLORSELECTOR_PORTRAIT_HOR_PAD_COLORPLANE_INC;
+ data.item: "vertical_pad" COLORSELECTOR_PORTRAIT_VER_PAD_COLORPLANE_INC;
+
+ parts {
+ spacer { "base";
+ scale;
+ desc { "default";
+ min: COLORSELECTOR_PALETTE_COLORPLANE_WIDTH_INC COLORSELECTOR_PALETTE_COLORPLANE_HEIGHT_INC;
+ max: -1 -1;
+ }
+ }
+ rect { "bg";
+ nomouse;
+ desc { "default";
+ rel.to: "base";
+ color_class: "colorselector/default/bg";
+ }
+ }
+ spacer { "padding_top";
+ scale;
+ desc { "default";
+ min: 0 COLORSELECTOR_TOPBOTTOM_PAD_COLORPLANE_INC;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ swallow { "palette";
+ scale;
+ mouse;
+ desc { state: "default";
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_y: "padding_top";
+ }
+ rel2.to_y: "padding_top";
+ }
+ }
+ spacer { "padding_palette";
+ scale;
+ desc { "default";
+ min: 0 COLORSELECTOR_TOPBOTTOM_PAD_COLORPLANE_INC;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "palette";
+ }
+ rel2.to: "palette";
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
diff --git a/ElmSharp/theme/common/widgets/entry.edc b/ElmSharp/theme/common/widgets/entry.edc
new file mode 100644
index 0000000..41f240f
--- /dev/null
+++ b/ElmSharp/theme/common/widgets/entry.edc
@@ -0,0 +1,1077 @@
+/*
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define ENTRY_DEFAULT_TAGS \
+ tag: "em" "+ font_style=Oblique"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "link" "+ color=#800 underline=on underline_color=#8008"; \
+ tag: "hilight" "+ font_weight=Bold";
+
+#define ENTRY_SINGLELINE_TAGS \
+ tag: "br" ""; \
+ tag: "em" "+ font_style=Oblique"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "link" "+ color=#800 underline=on underline_color=#8008"; \
+ tag: "hilight" "+ font_weight=Bold";
+
+#define ENTRY_PREEDIT_TAGS \
+ tag: "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC; \
+ tag: "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_TEXT_COLOR_INC; \
+ tag: "preedit_highlight" "+ backing=on backing_color="ENTRY_PREEDIT_HIGHLIGHT_BACKGROUND_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_TEXT_COLOR_INC; \
+ tag: "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC; \
+ tag: "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC; \
+ tag: "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC; \
+ tag: "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+
+styles {
+ style { "entry_textblock_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_edit";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_edit_focused";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_edit_disabled";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_guide_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_guide";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_textblock_guide_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_guide_focused";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_textblock_guide_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=mixed text_class=entry color_class=entry/default/text_guide_disabled";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_textblock_char_wrap_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_edit";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_char_wrap_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_edit_focused";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_char_wrap_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_edit_disabled";
+ ENTRY_DEFAULT_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_textblock_char_wrap_guide_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_guide";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_textblock_char_wrap_guide_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_guide_focused";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_textblock_char_wrap_guide_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=char text_class=entry color_class=entry/default/text_guide_disabled";
+ ENTRY_DEFAULT_TAGS
+ }
+ style { "entry_single_textblock_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_edit";
+ ENTRY_SINGLELINE_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_single_textblock_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_edit_focused";
+ ENTRY_SINGLELINE_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_single_textblock_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_edit_disabled";
+ ENTRY_SINGLELINE_TAGS
+ ENTRY_PREEDIT_TAGS
+ }
+ style { "entry_single_textblock_guide_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_guide";
+ ENTRY_SINGLELINE_TAGS
+ }
+ style { "entry_single_textblock_guide_focused_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_guide_focused";
+ ENTRY_SINGLELINE_TAGS
+ }
+ style { "entry_single_textblock_guide_disabled_style";
+ base: "font=Tizen:weight=Light font_size="ENTRY_FONT_SIZE_INC" color=#fff left_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" right_margin="ENTRY_LEFT_RIGHT_MARGIN_INC" wrap=none text_class=entry color_class=entry/default/text_guide_disabled";
+ ENTRY_SINGLELINE_TAGS
+ }
+}
+
+group { "elm/entry/event/default";
+ inherit_only: 1;
+ parts {
+ rect { "event";
+ mouse;
+ repeat;
+ desc { "default";
+ color: 0 0 0 0;
+ }
+ desc { "disabled";
+ inherit: "default";
+ hid;
+ }
+ }
+ }
+ programs {
+ program { "clicked";
+ signal: "mouse,clicked,1";
+ source: "event";
+ after: "on_clicked";
+ }
+ program { "load";
+ signal: "load";
+ source: "";
+ after: "on_load";
+ }
+ program { "disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled";
+ target: "event";
+ after: "on_disabled";
+ }
+ program { "enabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "default";
+ target: "event";
+ after: "on_enabled";
+ }
+ program { "focus";
+ signal: "elm,action,focus";
+ source: "elm";
+ after: "on_focus";
+ }
+ program { "unfocus";
+ signal: "elm,action,unfocus";
+ source: "elm";
+ after: "on_unfocus";
+ }
+ program { "disabled_guide";
+ signal: "elm,guide,disabled";
+ source: "elm";
+ after: "on_disabled_guide";
+ }
+ program { "enabled_guide";
+ signal: "elm,guide,enabled";
+ source: "elm";
+ after: "on_enabled_guide";
+ }
+ }
+}
+
+group { "elm/entry/base/template";
+ inherit_only: 1;
+ data.item: "default_font_size" ENTRY_FONT_SIZE_INC;
+ data.item: "focus_highlight" "on";
+ data.item: context_menu_orientation "horizontal";
+ parts {
+ rect { "bg";
+ nomouse;
+ desc { "default";
+ color_class: "entry/default/bg";
+ }
+ }
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text.style: "entry_textblock_guide_style";
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: EDITABLE;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text.style: "entry_textblock_style";
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_disabled_style";
+ }
+ }
+ }
+ inherit: "elm/entry/event/default";
+ script {
+ public focused = 0;
+ public disabled = 0;
+ public guide_disabled = 0;
+ }
+ programs {
+ program { "on_load";
+ action: FOCUS_SET;
+ target: "elm.text";
+ }
+ program { "on_clicked";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { "on_focus";
+ script {
+ set_int(focused, 1);
+ if (get_int(disabled) == 0) {
+ set_state(PART:"elm.text", "focused", 0.0);
+ if (get_int(guide_disabled) == 0)
+ set_state(PART:"elm.guide", "focused", 0.0);
+ }
+ }
+ }
+ program { "on_unfocus";
+ script {
+ set_int(focused, 0);
+ if (get_int(disabled) == 0) {
+ set_state(PART:"elm.text", "default", 0.0);
+ if (get_int(guide_disabled) == 0)
+ set_state(PART:"elm.guide", "default", 0.0);
+ }
+ }
+ }
+ program { "on_disabled";
+ script {
+ set_int(disabled, 1);
+ set_state(PART:"elm.text", "disabled", 0.0);
+ if (get_int(guide_disabled) == 0)
+ set_state(PART:"elm.guide", "disabled", 0.0);
+ }
+ }
+ program { "on_enabled";
+ script {
+ set_int(disabled, 0);
+ if (get_int(focused))
+ set_state(PART:"elm.text", "focused", 0.0);
+ else
+ set_state(PART:"elm.text", "default", 0.0);
+ if (get_int(guide_disabled) == 0) {
+ if (get_int(focused))
+ set_state(PART:"elm.guide", "focused", 0.0);
+ else
+ set_state(PART:"elm.guide", "default", 0.0);
+ }
+ }
+ }
+ program { "on_disabled_guide";
+ script {
+ set_int(guide_disabled, 1);
+ set_state(PART:"elm.guide", "hidden", 0.0);
+ }
+ }
+ program { "on_enabled_guide";
+ script {
+ set_int(guide_disabled, 0);
+ if (get_int(disabled))
+ set_state(PART:"elm.guide", "disabled", 0.0);
+ else if (get_int(focused))
+ set_state(PART:"elm.guide", "focused", 0.0);
+ else
+ set_state(PART:"elm.guide", "default", 0.0);
+ }
+ }
+ }
+}
+
+group { "elm/entry/cursor/event/default";
+ inherit_only: 1;
+ programs {
+ program { "selection_start";
+ signal: "selection,start";
+ source: "elm.text";
+ after: "on_selection_start";
+ }
+ program { "selection_cleared";
+ signal: "selection,cleared";
+ source: "elm.text";
+ after: "on_selection_cleared";
+ }
+ program { "focus";
+ signal: "elm,action,focus";
+ source: "elm";
+ after: "on_focus";
+ }
+ program { "unfocus";
+ signal: "elm,action,unfocus";
+ source: "elm";
+ after: "on_unfocus";
+ }
+ program { "show_cursor";
+ signal: "elm,action,show,cursor";
+ source: "elm";
+ after: "on_show_cursor";
+ }
+ }
+}
+
+group { "elm/entry/cursor/template";
+ inherit: "elm/entry/cursor/event/default";
+ inherit_only: 1;
+ parts {
+ rect { "cursor";
+ clip: "clipper";
+ desc { "default";
+ hid;
+ }
+ desc { "visible";
+ inherit: "default";
+ vis;
+ }
+ }
+ rect { "clipper";
+ desc { "default";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ }
+ programs {
+ program { "on_selection_start";
+ action: STATE_SET "hidden";
+ target: "clipper";
+ }
+ program { "on_selection_cleared";
+ action: STATE_SET "default";
+ target: "clipper";
+ }
+ program { "on_focus";
+ action: ACTION_STOP;
+ target: "cursor_visible";
+ target: "cursor_hidden";
+ target: "cursor_visible_timer";
+ target: "cursor_hidden_timer";
+ after: "cursor_visible";
+ }
+ program { "on_unfocus";
+ action: ACTION_STOP;
+ target: "cursor_visible";
+ target: "cursor_hidden";
+ target: "cursor_visible_timer";
+ target: "cursor_hidden_timer";
+ after: "cursor_hidden_stop";
+ }
+ program { "on_show_cursor";
+ action: ACTION_STOP;
+ target: "cursor_visible";
+ target: "cursor_hidden";
+ target: "cursor_visible_timer";
+ target: "cursor_hidden_timer";
+ after: "cursor_visible";
+ }
+ program { "cursor_hidden_stop";
+ action: STATE_SET "default";
+ target: "cursor";
+ }
+ program { "cursor_visible";
+ action: STATE_SET "visible";
+ target: "cursor";
+ after: "cursor_visible_timer";
+ }
+ program { "cursor_hidden";
+ action: STATE_SET "default";
+ target: "cursor";
+ after: "cursor_hidden_timer";
+ }
+ program { "cursor_visible_timer";
+ in: 0.6 0.0;
+ after: "cursor_hidden";
+ }
+ program { "cursor_hidden_timer";
+ in: 0.6 0.0;
+ after: "cursor_visible";
+ }
+ }
+}
+
+group { "elm/entry/cursor/default";
+ inherit: "elm/entry/cursor/template";
+ parts {
+ rect { "cursor";
+ nomouse;
+ scale;
+ clip: "clipper";
+ desc { "default";
+ min: ENTRY_CURSOR_SIZE_INC;
+ color_class: "entry/default/cursor";
+ hid;
+ }
+ desc { "visible";
+ inherit: "default";
+ vis;
+ }
+ }
+ rect { "clipper";
+ desc { "default";
+ rel.to: "cursor";
+ fixed: 1 1;
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ }
+}
+
+group { "elm/entry/base/default";
+ inherit: "elm/entry/base/template";
+ alias: "elm/entry/base-mixedwrap/default";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: EDITABLE;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ fixed: 1 0;
+ text {
+ style: "entry_textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text {
+ style: "entry_textblock_focused_style";
+ min: 0 1;
+ }
+ }
+ desc { "disabled";
+ inherit: "default";
+ text {
+ style: "entry_textblock_disabled_style";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-charwrap/default";
+ alias: "elm/entry/base/char_wrap";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_char_wrap_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: EDITABLE;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ fixed: 1 0;
+ text {
+ style: "entry_textblock_char_wrap_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text {
+ style: "entry_textblock_char_wrap_focused_style";
+ min: 0 1;
+ }
+ }
+ desc { "disabled";
+ inherit: "default";
+ text {
+ style: "entry_textblock_char_wrap_disabled_style";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-nowrap/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: EDITABLE;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text {
+ style: "entry_textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text {
+ style: "entry_textblock_focused_style";
+ min: 1 1;
+ }
+ }
+ desc { "disabled";
+ inherit: "default";
+ text {
+ style: "entry_textblock_disabled_style";
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-single/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ fixed: 1 1;
+ rel.to: "elm.text";
+ text {
+ style: "entry_single_textblock_guide_style";
+ min: 0 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: EDITABLE;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 0;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text {
+ style: "entry_single_textblock_style";
+ min: 1 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-single-noedit/default";
+ inherit: "elm/entry/base/template";
+ alias: "elm/entry/base-single-noedit/vcenter_align";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ fixed: 1 1;
+ rel.to: "elm.text";
+ text {
+ style: "entry_single_textblock_guide_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PLAIN;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 0;
+ source: "elm/entry/selection/default"; // selection under
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text {
+ style: "entry_single_textblock_style";
+ min: 1 1;
+ max: 0 1;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-noedit/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PLAIN;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ fixed: 1 0;
+ text {
+ style: "entry_textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-noedit-charwrap/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_char_wrap_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PLAIN;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ fixed: 1 0;
+ text {
+ style: "entry_textblock_char_wrap_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_char_wrap_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-noedit-mixedwrap/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ part { "elm.guide";
+ type: TEXTBLOCK;
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PLAIN;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ fixed: 1 0;
+ text {
+ style: "entry_textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-nowrap-noedit/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ type: TEXTBLOCK;
+ nomouse;
+ scale;
+ desc { "default";
+ rel.to: "elm.text";
+ text {
+ style: "entry_textblock_guide_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PLAIN;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 1;
+ source: "elm/entry/selection/default"; // selection under
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text {
+ style: "entry_textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/base-password/default";
+ inherit: "elm/entry/base/template";
+ parts {
+ textblock { "elm.guide";
+ nomouse;
+ scale;
+ desc { "default";
+ fixed: 1 1;
+ rel.to: "elm.text";
+ text {
+ style: "entry_single_textblock_guide_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_guide_disabled_style";
+ }
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ mouse;
+ scale;
+ entry_mode: PASSWORD;
+ select_mode: EXPLICIT;
+ cursor_mode: BEFORE;
+ multiline: 0;
+ source: "elm/entry/selection/default"; // selection under
+ source4: "elm/entry/cursor/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ desc { "default";
+ text {
+ style: "entry_single_textblock_style";
+ repch: "•";
+ min: 1 1;
+ max: 0 1;
+ }
+ }
+ desc { "focused";
+ inherit: "default";
+ text.style: "entry_single_textblock_focused_style";
+ }
+ desc { "disabled";
+ inherit: "default";
+ text.style: "entry_single_textblock_disabled_style";
+ }
+ }
+ }
+}
+
+group { "elm/entry/selection/default";
+ parts {
+ rect { "bg";
+ scale;
+ nomouse;
+ desc { "default";
+ color: 0 221 255 153;
+ }
+ }
+ }
+}
+
+group { "elm/entry/anchor/default";
+ parts {
+ spacer { "bg";
+ desc { "default"; }
+ }
+ }
+}
diff --git a/ElmSharp/theme/common/widgets/label.edc b/ElmSharp/theme/common/widgets/label.edc
new file mode 100644
index 0000000..5b11efd
--- /dev/null
+++ b/ElmSharp/theme/common/widgets/label.edc
@@ -0,0 +1,722 @@
+/*
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define SLIDE_SPEED_WEIGHT 0.5
+#define SLIDE_TEXT_GAP 60
+#define SLIDE_TEXT_CHAR_GAP " " //60 (6 spaces)
+#define SLIDE_TEXT_MAX_LENGTH (2*(1024+6))
+
+styles {
+ style { "textblock_style";
+ base: "font=Tizen:weight=Normal font_size="LABEL_FONT_SIZE_INC" color=#FFF color_class=label/default/text text_class=label";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "b" "+ font_weight=Bold";
+ tag: "tab" "\t";
+ }
+ style { "textblock_charwrap_style";
+ base: "font=Tizen:weight=Normal font_size="LABEL_FONT_SIZE_INC" color=#FFF color_class=label/default/text text_class=label";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "b" "+ font_weight=Bold";
+ tag: "tab" "\t";
+ }
+ style { "textblock_style_marker";
+ base: "font=Tizen:weight=Bold font_size=14 align=center color=#FFF wrap=word color_class=label/default/text text_class=tizen";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "b" "+ font_weight=Bold";
+ tag: "tab" "\t";
+ }
+}
+
+group { "elm/label/event/default";
+ inherit_only: 1;
+ programs {
+ program { "start_slide";
+ source: "elm";
+ signal: "elm,state,slide,start";
+ after: "on_start_slide";
+ }
+ program { "stop_slide";
+ source: "elm";
+ signal: "elm,state,slide,stop";
+ after: "on_stop_slide";
+ }
+ }
+}
+
+group { "elm/label/base/template";
+ inherit: "elm/label/event/default";
+ inherit_only: 1;
+ parts {
+ rect { "bg";
+ desc { "default";
+ color_class: "label/default/bg";
+ }
+ }
+ rect { "clipper";
+ desc { "default";
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ clip: "clipper";
+ desc { "default";
+ text.style: "textblock_style";
+ }
+ }
+ }
+ programs {
+ program { "on_start_slide";
+ }
+ program { "on_stop_slide";
+ }
+ }
+}
+
+group { "elm/label/base/default";
+ inherit: "elm/label/base/template";
+ parts {
+ textblock { "elm.text";
+ scale;
+ clip: "clipper";
+ desc { "default";
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+}
+
+/* default label doesn't use it */
+group { "elm/label/base_wrap/default";
+ inherit: "elm/label/base/template";
+ parts {
+ textblock { "elm.text";
+ scale;
+ multiline: 1;
+ desc { "default";
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "charwrap_mode";
+ text {
+ style: "textblock_charwrap_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+ programs {
+ program { "default";
+ signal: "elm,state,default";
+ source: "elm";
+ action: STATE_SET "default";
+ target: "elm.text";
+ }
+ program { "charwrap";
+ signal: "elm,state,charwrap";
+ source: "elm";
+ action: STATE_SET "charwrap_mode";
+ target: "elm.text";
+ }
+ }
+}
+
+/* default label doesn't use it */
+group { "elm/label/base_wrap_ellipsis/default";
+ inherit: "elm/label/base/template";
+ parts {
+ textblock { "elm.text";
+ scale;
+ multiline: 1;
+ desc { "default";
+ fixed: 0 1;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "charwrap_mode";
+ fixed: 0 1;
+ text {
+ style: "textblock_charwrap_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+ programs {
+ program { "default";
+ signal: "elm,state,default";
+ source: "elm";
+ action: STATE_SET "default";
+ target: "elm.text";
+ }
+ program { "charwrap";
+ signal: "elm,state,charwrap";
+ source: "elm";
+ action: STATE_SET "charwrap_mode";
+ target: "elm.text";
+ }
+ }
+}
+
+group { "elm/label/base/slide_long";
+ inherit: "elm/label/base/template";
+ script {
+ public g_duration = 0, g_stopslide, g_timer_id, g_anim_id;
+
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / LABEL_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ id = timer(0.5, "slide_to_begin", 1);
+ set_int(g_timer_id, id);
+ }
+ }
+ public slide_to_end() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_end_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public slide_to_begin() {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ id = timer(0.5, "slide_to_end", 1);
+ set_int(g_timer_id, id);
+ }
+ public start_slide() {
+ set_int(g_stopslide, 0);
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ slide_to_end();
+ }
+ public stop_slide() {
+ new id;
+ set_int(g_stopslide, 1);
+ id = get_int(g_anim_id);
+ cancel_anim(id);
+ id = get_int(g_timer_id);
+ cancel_timer(id);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ parts {
+ rect { "bg";
+ desc { "default";
+ color_class: "label/slide_long/bg";
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ clip: "clipper";
+ desc { "default";
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "slide_end";
+ inherit: "default";
+ rel2.relative: 0.0 1.0;
+ align: 1.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "slide_begin";
+ inherit: "default";
+ rel1.relative: 1.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+ programs {
+ program { "on_start_slide";
+ script {
+ start_slide();
+ }
+ }
+ program { "on_stop_slide";
+ script {
+ stop_slide();
+ }
+ }
+ }
+}
+
+group { "elm/label/base/slide_roll";
+ inherit: "elm/label/base/template";
+ script {
+ public g_duration = 0;
+ public g_stopslide = 0;
+ public g_timer_id = 0;
+ public g_anim_id = 0;
+ public g_tb_w = 0;
+ public g_tb_h = LABEL_FONT_SIZE_INC;
+ public org_text = 0;
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / get_int(g_tb_h) * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public get_tb_width() {
+ new x, y, w, h;
+ set_state(PART:"elm.text", "no_ellipsis", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(g_tb_w, w);
+ set_int(g_tb_h, h);
+ set_state(PART:"clipper_elm.text", "default", 0.0);
+ get_geometry(PART:"clipper_elm.text", x, y, w, h);
+ set_int(org_text, w);
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ if (get_int(g_stopslide)) return;
+ set_tween_state(PART:"elm.text.slide", pos*0.5, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ set_int(g_timer_id, timer(1.5, "start_slide", 0));
+ }
+ }
+ public slide_to_end() {
+ if (get_int(g_stopslide)) return;
+ set_int(g_anim_id, anim(get_float(g_duration), "slide_to_end_anim", 0));
+ }
+ public start_slide(val) {
+ new Float:len;
+ set_int(g_stopslide, 0);
+ get_tb_width();
+ if (!get_float(g_duration)) {
+ len = get_int(g_tb_w);
+ set_float(g_duration, len / get_int(g_tb_h) * SLIDE_SPEED_WEIGHT);
+ }
+ if(get_int(g_tb_w) > get_int(org_text)) {
+ run_program(PROGRAM:"slide_text_set");
+ set_state(PART:"elm.text.slide", "slide_begin", 0.0);
+ set_state(PART:"clipper_elm.text", "hide", 0.0);
+ set_state(PART:"clipper_elm.text.slide", "show", 0.0);
+ slide_to_end();
+ }
+ }
+ public stop_slide() {
+ new slide_start_timer;
+ new slide_anim_id;
+ set_int(g_stopslide, 1);
+ set_float(g_duration, 0);
+ slide_start_timer = get_int(g_timer_id);
+ if (slide_start_timer) {
+ cancel_timer(slide_start_timer);
+ set_int(g_timer_id, 0);
+ }
+ slide_anim_id = get_int(g_anim_id);
+ if (slide_anim_id) {
+ cancel_anim(slide_anim_id);
+ set_int(g_anim_id, 0);
+ }
+ set_text(PART:"elm.text.slide", "");
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text.slide", "default", 0.0);
+ set_state(PART:"clipper_elm.text", "default", 0.0);
+ set_state(PART:"clipper_elm.text.slide", "default", 0.0);
+ }
+ }
+ parts {
+ rect { "bg";
+ desc { "default";
+ color_class: "label/slide_roll/bg";
+ }
+ }
+ rect { "clipper_elm.text";
+ nomouse;
+ clip: "clipper";
+ desc { "default";
+ }
+ desc { "hide";
+ inherit: "default";
+ hid;
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ clip: "clipper_elm.text";
+ desc { "default";
+ align: 0.0 0.5;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ }
+ }
+ desc { "no_ellipsis";
+ inherit: "default";
+ text.min: 1 1;
+ }
+ }
+ rect { "clipper_elm.text.slide";
+ nomouse;
+ clip: "clipper";
+ desc { "default";
+ hid;
+ }
+ desc { "show";
+ inherit: "default";
+ vis;
+ }
+ }
+ spacer { "slide_text_gap";
+ scale;
+ desc { "default";
+ fixed: 1 0;
+ min: SLIDE_TEXT_GAP 0;
+ max: SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ textblock { "elm.text.slide";
+ scale;
+ clip: "clipper_elm.text.slide";
+ desc { "default";
+ align: 0.0 0.5;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ }
+ }
+ desc { "slide_begin";
+ inherit: "default";
+ text.min: 1 1;
+ rel2.relative: 0.0 1.0;
+ }
+ desc { "slide_end";
+ inherit: "default";
+ align: 1.0 0.5;
+ text.min: 1 1;
+ text.align: 1.0 0.5;
+ rel.to: "slide_text_gap";
+ }
+ }
+ }
+ programs {
+ program { "slide_text_set";
+ script {
+ new buf[1024];
+ new buffer[SLIDE_TEXT_MAX_LENGTH];
+ get_text(PART:"elm.text", buf, 1024);
+ snprintf(buffer, SLIDE_TEXT_MAX_LENGTH, "%s", buf);
+ strcat(buffer, SLIDE_TEXT_CHAR_GAP);
+ strcat(buffer, buf);
+ strcat(buffer, SLIDE_TEXT_CHAR_GAP);
+ set_text(PART:"elm.text.slide", buffer);
+ }
+ }
+ program { "on_start_slide";
+ script {
+ run_program(PROGRAM:"stop_slide");
+ set_int(g_timer_id, timer(1.5, "start_slide", 0));
+ }
+ }
+ program { "on_stop_slide";
+ script {
+ stop_slide();
+ }
+ }
+ }
+}
+
+group { "elm/label/base/slide_short";
+ inherit: "elm/label/base/template";
+ script {
+ public g_duration = 0, g_stopslide, g_timer_id, g_anim_id;
+
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / LABEL_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ id = timer(0.5, "slide_to_begin", 1);
+ set_int(g_timer_id, id);
+ }
+ }
+ public slide_to_end() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_end_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public slide_to_begin() {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ id = timer(0.5, "slide_to_end", 1);
+ set_int(g_timer_id, id);
+ }
+ public start_slide() {
+ set_int(g_stopslide, 0);
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ slide_to_end();
+ }
+ public stop_slide() {
+ new id;
+ set_int(g_stopslide, 1);
+ id = get_int(g_anim_id);
+ cancel_anim(id);
+ id = get_int(g_timer_id);
+ cancel_timer(id);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ parts {
+ rect { "bg";
+ desc { "default";
+ color_class: "label/slide_short/bg";
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ clip: "clipper";
+ desc { "default";
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "slide_end";
+ inherit: "default";
+ rel1.relative: 1.0 0.0;
+ align: 1.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "slide_begin";
+ inherit: "default";
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+ programs {
+ program { "on_start_slide";
+ script {
+ start_slide();
+ }
+ }
+ program { "on_stop_slide";
+ script {
+ stop_slide();
+ }
+ }
+ }
+}
+
+group { "elm/label/base/slide_bounce";
+ inherit: "elm/label/base/template";
+ script {
+ public g_duration = 0, g_stopslide, g_timer_id, g_anim_id;
+
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / LABEL_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ id = timer(0.5, "slide_to_begin", 1);
+ set_int(g_timer_id, id);
+ }
+ }
+ public slide_to_end() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_end_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public slide_to_begin_anim(val, Float:pos) {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_tween_state(PART:"elm.text", pos, "slide_end", 0.0, "slide_begin", 0.0);
+ if (pos >= 1.0) {
+ id = timer(0.5, "slide_to_end", 1);
+ set_int(g_timer_id, id);
+ }
+ }
+ public slide_to_begin() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_begin_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public start_slide() {
+ set_int(g_stopslide, 0);
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ slide_to_end();
+ }
+ public stop_slide() {
+ new id;
+ set_int(g_stopslide, 1);
+ id = get_int(g_anim_id);
+ cancel_anim(id);
+ id = get_int(g_timer_id);
+ cancel_timer(id);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ parts {
+ rect { "bg";
+ desc { "default";
+ color_class: "label/slide_bounce/bg";
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ clip: "clipper";
+ desc { "default";
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ desc { "slide_end";
+ inherit: "default";
+ rel1.relative: 1.0 0.0;
+ align: 1.0 0.0;
+ text.min: 1 1;
+ }
+ desc { "slide_begin";
+ inherit: "default";
+ rel2.relative: 0.0 1.0;
+ text.min: 1 1;
+ }
+ }
+ }
+ programs {
+ program { "on_start_slide";
+ script {
+ start_slide();
+ }
+ }
+ program { "on_stop_slide";
+ script {
+ stop_slide();
+ }
+ }
+ }
+}
diff --git a/ElmSharp/theme/common/widgets/layout.edc b/ElmSharp/theme/common/widgets/layout.edc
new file mode 100644
index 0000000..4268a9f
--- /dev/null
+++ b/ElmSharp/theme/common/widgets/layout.edc
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+group { "elm/layout/background/default";
+ parts {
+ rect { "bg";
+ scale;
+ desc { "default";
+ color_class: "layout/background/bg";
+ }
+ }
+ swallow { "elm.swallow.content";
+ scale;
+ desc { "default"; }
+ }
+ }
+}
diff --git a/ElmSharp/theme/common/widgets/radio.edc b/ElmSharp/theme/common/widgets/radio.edc
new file mode 100644
index 0000000..9ddf30f
--- /dev/null
+++ b/ElmSharp/theme/common/widgets/radio.edc
@@ -0,0 +1,559 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#define STYLE_TAGS \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font_weight=Bold";
+
+styles{
+ style { name: "radio_default";
+ base: "color=#000000FF font=Tizen:weight=Light font_size=40 text_class=tizen ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "radio_default_dim";
+ base: "color=#000000A3 font=Tizen:weight=Light font_size=40 text_class=tizen ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "radio_default_press";
+ base: "color=#000000FF font=Tizen:weight=Light font_size=40 text_class=tizen ellipsis=1.0";
+ STYLE_TAGS
+ }
+}
+#undef STYLE_TAGS
+
+group { "elm/radio/event/default";
+ inherit_only: 1;
+ parts {
+ rect { "event";
+ mouse;
+ desc { "default";
+ color: 0 0 0 0 ;
+ rel.to: "base";
+ }
+ desc { "disabled";
+ inherit: "default";
+ hid;
+ }
+ }
+ }
+ programs {
+ program { "clicked";
+ signal: "mouse,clicked,1";
+ source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ after: "on_clicked";
+ }
+ program { "pressed";
+ signal: "mouse,down,1*";
+ source: "event";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "on_pressed";
+ }
+ program { "unpressed";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ after: "on_unpressed";
+ }
+ program { "set_radio";
+ signal: "elm,state,radio,on";
+ source: "elm";
+ after: "on_set_radio";
+ }
+ program { "unset_radio";
+ signal: "elm,state,radio,off";
+ source: "elm";
+ after: "on_unset_radio";
+ }
+ program { "disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ after: "on_disabled";
+ }
+ program { "enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ after: "on_enabled";
+ }
+ program { "enable_event_pass";
+ signal: "elm,event,pass,enabled";
+ source: "elm";
+ script {
+ set_mouse_events(PART:"event", 0);
+ }
+ }
+ program { "disable_event_pass";
+ signal: "elm,event,pass,disabled";
+ source: "elm";
+ script {
+ set_mouse_events(PART:"event", 1);
+ }
+ }
+ program { "enable_event_repeat";
+ signal: "elm,event,repeat,enabled";
+ source: "elm";
+ script {
+ set_repeat_events(PART:"event", 1);
+ }
+ }
+ program { "disable_event_repeat";
+ signal: "elm,event,repeat,disabled";
+ source: "elm";
+ script {
+ set_repeat_events(PART:"event", 0);
+ }
+ }
+ }
+}
+group { "elm/radio/base/template";
+ parts {
+ spacer { "base";
+ desc { "default";
+ }
+ }
+ }
+ inherit: "elm/radio/event/default";
+ programs {
+ program { "on_clicked";
+ }
+ program { "on_pressed";
+ }
+ program { "on_unpressed";
+ }
+ program { "on_disabled";
+ }
+ program { "on_enabled";
+ }
+ program { "on_set_radio";
+ }
+ program { "on_unset_radio";
+ }
+ }
+}
+group { "elm/radio/base/default";
+ images{
+ vector: core_radio_stroke.svg;
+ vector: core_radio_icon.svg;
+ vector: core_radio_bg_01.svg;
+ vector: core_radio_bg_02.svg;
+ vector: core_radio_white_bg.svg;
+ }
+ nomouse;
+ target_group: "vector_group" "clipper_bg_vector" "clipper_icon" "clipper_icon_inner" "clipper_icon_outer" "clipper_icon_stroke";
+ parts {
+ spacer { "base";
+ scale;
+ desc { "default";
+ min: RADIO_DEFAULT_SIZE_INC;
+ }
+ }
+ //bg shape
+ vector { "bg_vector";
+ scale;
+ clip: "clipper_bg_vector";
+ desc { "default";
+ image.normal: "core_radio_white_bg.svg";
+ min: RADIO_DEFAULT_SIZE_INC;
+ rel1.relative: 0 0.5;
+ rel2.relative: 0 0.5;
+ align: 0 0.5;
+ fixed: 1 1;
+ }
+ }
+ rect { "clipper_bg_vector";
+ desc { "default";
+ color_class: "radio/default/bg";
+ }
+ desc { "on";
+ color_class: "radio/default/bg_border_on";
+ }
+ desc { "off";
+ inherit: "default";
+ }
+ desc { "disabled_on";
+ color_class: "radio/default/bg_border_on_disabled";
+ }
+ desc { "disabled_off";
+ color_class: "radio/default/bg_disabled";
+ }
+ }
+ vector { "icon";
+ scale;
+ clip: "clipper_icon";
+ desc { "default";
+ image.normal: "core_radio_icon.svg";
+ rel1.to: "bg_vector";
+ rel2.to: "bg_vector";
+ }
+ }
+ rect { "clipper_icon";
+ desc { "default";
+ color: 250 250 250 0;
+ }
+ desc { "on";
+ color_class: "radio/default/bg_on" ;
+ }
+ desc { "off";
+ inherit: "default";
+ }
+ desc { "disabled_off";
+ inherit: "default";
+ }
+ desc { "disabled_on";
+ color_class: "radio/default/bg_on_disabled" ;
+ }
+ }
+ vector { "icon_inner";
+ scale;
+ clip: "clipper_icon_inner";
+ desc { "default";
+ image.normal: "core_radio_bg_01.svg";
+ rel.to: "bg_vector";
+ }
+ }
+ rect { "clipper_icon_inner";
+ desc { "default";
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ rel.to: "bg_vector";
+ }
+ desc { "on";
+ rel.to: "bg_vector";
+ color_class: "radio/default/icon";
+ }
+ desc { "off";
+ inherit: "default";
+ }
+ desc { "disabled_off";
+ inherit: "default";
+ }
+ desc { "disabled_on";
+ rel.to: "bg_vector";
+ color_class: "radio/default/icon_disabled";
+ }
+ }
+ vector { "icon_outer";
+ scale;
+ clip: "clipper_icon_outer";
+ desc { "default";
+ image.normal: "core_radio_bg_02.svg";
+ rel1.to: "bg_vector";
+ rel2.to: "bg_vector";
+ }
+ }
+ rect { "clipper_icon_outer";
+ desc { "default";
+ color: 61 185 204 0;
+ }
+ desc { "on";
+ color_class: "radio/default/icon";
+ }
+ desc { "off";
+ inherit: "default";
+ }
+ desc { "disabled_off";
+ inherit: "default";
+ }
+ desc { "disabled_on";
+ color_class: "radio/default/icon_disabled";
+ }
+ }
+ vector { "icon_stroke";
+ scale;
+ clip: "clipper_icon_stroke";
+ desc { "default";
+ image.normal: "core_radio_stroke.svg";
+ rel1.to: "bg_vector";
+ rel2.to: "bg_vector";
+ }
+ }
+ rect { "clipper_icon_stroke";
+ desc { "default";
+ color_class: "radio/default/stroke";
+ }
+ desc { "on";
+ color: 61 185 204 0;
+ }
+ desc { "off";
+ inherit: "default";
+ }
+ desc { "disabled_off";
+ color_class: "radio/default/stroke_disabled";
+ }
+ desc { "disabled_on";
+ inherit: "on";
+ }
+ }
+ spacer { "padding_before_text";
+ scale;
+ desc { "default";
+ align: 0.0 0.5;
+ min: 0 0;
+ rel1 {
+ to: "bg_vector";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "bg_vector";
+ relative: 1.0 1.0;
+ }
+ }
+ desc { "visible";
+ inherit: "default" 0.0;
+ min: RADIO_PAD_BEFORE_TEXT_INC;
+ fixed: 1 1;
+ }
+ }
+ textblock { "elm.text";
+ scale;
+ desc { "default";
+ hid;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.5;
+ to_x: "padding_before_text";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ }
+ align: 0.0 0.5;
+ text {
+ style: "radio_default";
+ min: 0 0;
+ }
+ }
+ desc { "visible";
+ inherit: "default" 0.0;
+ vis;
+ text.min: 0 1;
+ }
+ desc { "disabled";
+ inherit: "default" 0.0;
+ vis;
+ text {
+ style: "radio_default_dim";
+ min: 0 1;
+ }
+ }
+ desc { "pressed";
+ inherit: "default" 0.0;
+ vis;
+ text {
+ style: "radio_default_press";
+ min: 0 1;
+ }
+ }
+ }
+ }
+ inherit: "elm/radio/event/default";
+ script {
+ public radio_state;
+ public disabled;
+ public text;
+ public animate = 0;
+ }
+ programs {
+ program { "on_clicked";
+ script {
+ if (get_int(disabled) == 1) return;
+ emit("elm,action,radio,toggle", "");
+ run_program(PROGRAM:"touch_sound");
+ }
+ }
+ program { "on_pressed";
+ script {
+ if (get_int(disabled) == 1) return;
+ if (get_int(text) == 1) {
+ set_state(PART:"elm.text", "pressed", 0.0);
+ }
+ }
+ }
+ program { "on_unpressed";
+ script {
+ if (get_int(disabled) == 1) return;
+ if (get_int(radio_state) == 1) {
+ run_program(PROGRAM:"toggle_on_without_effect");
+ }else {
+ run_program(PROGRAM:"toggle_off_without_effect");
+ }
+ if (get_int(text) == 1) {
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ }
+ program { "on_disabled";
+ script {
+ set_int(disabled, 1);
+ if (get_int(radio_state) == 1) {
+ run_program(PROGRAM:"toggle_disabled_on_without_effect");
+ }else {
+ run_program(PROGRAM:"toggle_disabled_off_without_effect");
+ }
+ if (get_int(text) == 1) {
+ set_state(PART:"elm.text", "disabled", 0.0);
+ }
+ }
+ }
+ program { "on_enabled";
+ script {
+ set_int(disabled, 0);
+ if (get_int(radio_state) == 1) {
+ run_program(PROGRAM:"toggle_on_without_effect");
+ } else {
+ run_program(PROGRAM:"toggle_off_without_effect");
+ }
+ if (get_int(text) == 1) {
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ }
+ program { "on_set_radio";
+ script {
+ if (get_int(disabled) == 1) {
+ if (get_int(animate) == 0) {
+ run_program(PROGRAM:"toggle_disabled_on_without_effect");
+ } else {
+ run_program(PROGRAM:"toggle_disabled_on_with_effect");
+ }
+ }else {
+ if (get_int(animate) == 0) {
+ run_program(PROGRAM:"toggle_on_without_effect");
+ emit("elm,radio,state,toggle", "tizen_vg");
+ } else {
+ run_program(PROGRAM:"toggle_on_with_effect");
+ emit("elm,radio,action,toggle", "tizen_vg");
+ }
+ }
+ set_int(animate, 0);
+ set_int(radio_state, 1);
+ }
+ }
+ program { "on_unset_radio";
+ script {
+ if (get_int(disabled) == 1) {
+ if (get_int(animate) == 0) {
+ run_program(PROGRAM:"toggle_disabled_off_without_effect");
+ } else {
+ run_program(PROGRAM:"toggle_disabled_off_with_effect");
+ }
+ }else {
+ if (get_int(animate) == 0) {
+ run_program(PROGRAM:"toggle_off_without_effect");
+ emit("elm,radio,state,toggle", "tizen_vg");
+ } else {
+ run_program(PROGRAM:"toggle_off_with_effect");
+ emit("elm,radio,action,toggle", "tizen_vg");
+ }
+ }
+ set_int(animate, 0);
+ set_int(radio_state, 0);
+ }
+ }
+ program { "touch_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { "activate_animate_radio";
+ signal: "elm,activate,radio,on";
+ source: "elm";
+ script {
+ set_int(animate, 1);
+ }
+ }
+ program { "deactivate_animate_radio";
+ signal: "elm,activate,radio,off";
+ source: "elm";
+ script {
+ set_int(animate, 1);
+ }
+ }
+ program { "toggle_on_with_effect";
+ action: STATE_SET "on";
+ transition: DECELERATE 0.3;
+ target_groups: "vector_group";
+ after: "finished_animation";
+ }
+ program { "toggle_off_with_effect";
+ action: STATE_SET "default";
+ target_groups: "vector_group";
+ transition: DECELERATE 0.3;
+ after: "finished_animation";
+ }
+ program { "toggle_disabled_on_with_effect";
+ action: STATE_SET "disabled_on";
+ target_groups: "vector_group";
+ transition: DECELERATE 0.3;
+ after: "finished_animation";
+ }
+ program { "toggle_disabled_off_with_effect";
+ action: STATE_SET "disabled_off";
+ target_groups: "vector_group";
+ transition: DECELERATE 0.3;
+ after: "finished_animation";
+ }
+ program { "toggle_on_without_effect";
+ action: STATE_SET "on";
+ target_groups: "vector_group";
+ }
+ program { "toggle_off_without_effect";
+ action: STATE_SET "default";
+ target_groups: "vector_group";
+ }
+ program { "toggle_disabled_on_without_effect";
+ action: STATE_SET "disabled_on";
+ target_groups: "vector_group";
+ }
+ program { "toggle_disabled_off_without_effect";
+ action: STATE_SET "disabled_off";
+ target_groups: "vector_group";
+ }
+ program { "finished_animation";
+ action: SIGNAL_EMIT "animation,finished" "";
+ }
+ program { "visible_text";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ set_int(text, 1);
+ set_state(PART:"padding_before_text", "visible", 0.0);
+ if (get_int(disabled) == 1) {
+ set_state(PART:"elm.text", "disabled", 0.0);
+ }else {
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ }
+ program { "hidden_text";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ set_int(text, 0);
+ set_state(PART:"padding_before_text", "default", 0.0);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ }
+}