jpeg pushed a commit to branch feature/eo_theme.

http://git.enlightenment.org/core/efl.git/commit/?id=9be5ffc877ff5cc124b1b886e8bd7ee9b6a52f6b

commit 9be5ffc877ff5cc124b1b886e8bd7ee9b6a52f6b
Author: Sungtaek Hong <sth253.h...@samsung.com>
Date:   Tue Nov 14 19:59:42 2017 +0900

    efl_ui_widget: find new edc resource for efl_ui_widgets
    
    new eo widgets(efl_ui_ prefix) finds new edc group in
    data/elementary/themes/edc/efl/*.edc.
    New group name is "klass/group:style" and "base" group name and
    "default" style name can be omitted.
    
    for now, separator for style is ':' but needs to be decided.
---
 data/elementary/themes/Makefile.am                 |  25 +-
 data/elementary/themes/default.edc                 |  25 +-
 data/elementary/themes/edc/efl/bg.edc              |  11 +
 data/elementary/themes/edc/efl/border.edc          |  21 ++
 data/elementary/themes/edc/efl/button.edc          |   8 +
 data/elementary/themes/edc/efl/calendar.edc        |   3 +
 data/elementary/themes/edc/efl/check.edc           |   7 +
 data/elementary/themes/edc/efl/cursor.edc          |  91 ++++++
 data/elementary/themes/edc/efl/focus.edc           |   7 +
 data/elementary/themes/edc/efl/frame.edc           |   3 +
 .../elementary/themes/edc/efl/multibuttonentry.edc |  19 ++
 data/elementary/themes/edc/{elm => efl}/nstate.edc |   4 +-
 data/elementary/themes/edc/efl/panes.edc           |  44 +++
 data/elementary/themes/edc/efl/photocam.edc        |   3 +
 data/elementary/themes/edc/efl/progress.edc        |  20 ++
 data/elementary/themes/edc/efl/radio.edc           |   3 +
 data/elementary/themes/edc/efl/scroller.edc        |  12 +
 data/elementary/themes/edc/efl/slider.edc          |  73 +++++
 data/elementary/themes/edc/efl/text.edc            | 328 +++++++++++++++++++++
 data/elementary/themes/edc/efl/textpath.edc        |   3 +
 data/elementary/themes/edc/efl/tooltip.edc         |  15 +
 data/elementary/themes/edc/efl/uiclock.edc         | 223 ++++++++++++++
 data/elementary/themes/edc/efl/video.edc           |   3 +
 data/elementary/themes/edc/efl/win.edc             |   3 +
 src/lib/elementary/efl_ui_panes.c                  |  68 ++++-
 src/lib/elementary/efl_ui_slider.c                 |  12 +-
 src/lib/elementary/efl_ui_text.c                   |  79 +++--
 src/lib/elementary/efl_ui_win.c                    |  20 +-
 src/lib/elementary/elm_priv.h                      |   3 +-
 src/lib/elementary/elm_spinner.c                   |   7 +-
 src/lib/elementary/elm_theme.c                     |  26 +-
 src/lib/elementary/elm_widget.c                    |  10 +
 src/lib/elementary/els_cursor.c                    |   6 +-
 src/lib/elementary/elu_ews_wm.c                    |   8 +-
 34 files changed, 1105 insertions(+), 88 deletions(-)

diff --git a/data/elementary/themes/Makefile.am 
b/data/elementary/themes/Makefile.am
index f1ee7b15e8..758f7781c2 100644
--- a/data/elementary/themes/Makefile.am
+++ b/data/elementary/themes/Makefile.am
@@ -130,7 +130,6 @@ elementary/themes/edc/elm/menu.edc \
 elementary/themes/edc/elm/multibuttonentry.edc \
 elementary/themes/edc/elm/naviframe.edc \
 elementary/themes/edc/elm/notify.edc \
-elementary/themes/edc/elm/nstate.edc \
 elementary/themes/edc/elm/panel.edc \
 elementary/themes/edc/elm/panes.edc \
 elementary/themes/edc/elm/photocam.edc \
@@ -1016,8 +1015,28 @@ elementary/themes/snd/kbd-tap5.wav \
 elementary/themes/snd/kbd-tap.wav
 
 efl_ui_themes_files = \
-elementary/themes/edc/efl/button.edc
-
+elementary/themes/edc/efl/bg.edc \
+elementary/themes/edc/efl/border.edc \
+elementary/themes/edc/efl/button.edc \
+elementary/themes/edc/efl/calendar.edc \
+elementary/themes/edc/efl/check.edc \
+elementary/themes/edc/efl/uiclock.edc \
+elementary/themes/edc/efl/cursor.edc \
+elementary/themes/edc/efl/focus.edc \
+elementary/themes/edc/efl/frame.edc \
+elementary/themes/edc/efl/multibuttonentry.edc \
+elementary/themes/edc/efl/nstate.edc \
+elementary/themes/edc/efl/panes.edc \
+elementary/themes/edc/efl/photocam.edc \
+elementary/themes/edc/efl/progress.edc \
+elementary/themes/edc/efl/radio.edc \
+elementary/themes/edc/efl/scroller.edc \
+elementary/themes/edc/efl/slider.edc \
+elementary/themes/edc/efl/text.edc \
+elementary/themes/edc/efl/textpath.edc \
+elementary/themes/edc/efl/tooltip.edc \
+elementary/themes/edc/efl/video.edc \
+elementary/themes/edc/efl/win.edc
 
 elementary_fdo_actions_128_files = \
        elementary/themes/fdo/actions/128/address-book-new.png \
diff --git a/data/elementary/themes/default.edc 
b/data/elementary/themes/default.edc
index 9d615295b1..d3254be0e2 100644
--- a/data/elementary/themes/default.edc
+++ b/data/elementary/themes/default.edc
@@ -13,7 +13,6 @@ collections {
 // elm
 #include "edc/elm/bg.edc"
 #include "edc/elm/button.edc"
-#include "edc/elm/nstate.edc"
 // XXX: mobile mode needs invisible scrollers... make signals that do this
 #include "edc/elm/scroller.edc"
 // XXX: mobile mode needs different entry setup
@@ -167,5 +166,29 @@ collections {
 #include "edc/O/icons.edc"
 
 // New efl ui themes
+#include "edc/efl/bg.edc"
 #include "edc/efl/button.edc"
+#include "edc/efl/calendar.edc"
+#include "edc/efl/nstate.edc"
+// XXX: mobile mode needs invisible scrollers... make signals that do this
+#include "edc/efl/scroller.edc"
+// XXX: mobile mode needs different entry setup
+#include "edc/efl/text.edc"
+#include "edc/efl/frame.edc"
+#include "edc/efl/check.edc"
+#include "edc/efl/slider.edc"
+#include "edc/efl/radio.edc"
+#include "edc/efl/panes.edc"
+#include "edc/efl/video.edc"
+#include "edc/efl/focus.edc"
+#include "edc/efl/multibuttonentry.edc"
+#include "edc/efl/tooltip.edc"
+#include "edc/efl/photocam.edc"
+#include "edc/efl/progress.edc"
+#include "edc/efl/border.edc"
+// XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh?
+#include "edc/efl/cursor.edc"
+#include "edc/efl/textpath.edc"
+#include "edc/efl/win.edc"
+#include "edc/efl/uiclock.edc"
 }
diff --git a/data/elementary/themes/edc/efl/bg.edc 
b/data/elementary/themes/edc/efl/bg.edc
new file mode 100644
index 0000000000..43547d3033
--- /dev/null
+++ b/data/elementary/themes/edc/efl/bg.edc
@@ -0,0 +1,11 @@
+/* bg widget style information
+
+   [SWALLOW]
+      elm.swallow.rectangle: Used for elm_bg_color_set()
+      elm.swallow.background: Used for elm_bg_file_set()
+      elm.swallow.content: Used for elm_layout_part_content_set(bg, "overlay", 
content).
+*/
+
+group { "efl/bg";
+   inherit: "elm/bg/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/border.edc 
b/data/elementary/themes/edc/efl/border.edc
new file mode 100644
index 0000000000..55748268de
--- /dev/null
+++ b/data/elementary/themes/edc/efl/border.edc
@@ -0,0 +1,21 @@
+/* Window client-side decorations and extra slots
+ * Includes swallows for:
+ *  - app content
+ *  - main menu
+ *  - indicator
+ *  - soft key
+ *  - virtual keyboard
+ */
+
+group { "efl/border";
+   inherit: "elm/border/base/default";
+}
+
+group { "efl/border/dialog";
+   inherit: "elm/border/dialog/default";
+}
+
+group { "efl/border/naviframe";
+   inherit: "elm/border/naviframe/default";
+}
+
diff --git a/data/elementary/themes/edc/efl/button.edc 
b/data/elementary/themes/edc/efl/button.edc
index e69de29bb2..1fe935b37e 100644
--- a/data/elementary/themes/edc/efl/button.edc
+++ b/data/elementary/themes/edc/efl/button.edc
@@ -0,0 +1,8 @@
+group { "efl/button";
+   inherit: "elm/button/base/default";
+}
+
+group { "efl/button:anchor";
+   inherit: "elm/button/base/anchor";
+}
+
diff --git a/data/elementary/themes/edc/efl/calendar.edc 
b/data/elementary/themes/edc/efl/calendar.edc
new file mode 100644
index 0000000000..c6b8276bb4
--- /dev/null
+++ b/data/elementary/themes/edc/efl/calendar.edc
@@ -0,0 +1,3 @@
+group { "efl/calendar";
+   inherit: "elm/calendar/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/check.edc 
b/data/elementary/themes/edc/efl/check.edc
new file mode 100644
index 0000000000..76db7a8d28
--- /dev/null
+++ b/data/elementary/themes/edc/efl/check.edc
@@ -0,0 +1,7 @@
+group { "efl/check";
+   inherit: "elm/check/base/default";
+}
+
+group { "efl/check:toggle";
+   inherit: "elm/check/base/toggle";
+}
diff --git a/data/elementary/themes/edc/efl/cursor.edc 
b/data/elementary/themes/edc/efl/cursor.edc
new file mode 100644
index 0000000000..1302e4c228
--- /dev/null
+++ b/data/elementary/themes/edc/efl/cursor.edc
@@ -0,0 +1,91 @@
+// cursors available:
+//
+// "x"
+// "arrow"
+// "based_arrow_down"
+// "based_arrow_up"
+// "boat"
+// "bogosity"
+// "bottom_left_corner"
+// "bottom_right_corner"
+// "bottom_side"
+// "bottom_tee"
+// "box_spiral"
+// "center_ptr"
+// "circle"
+// "clock"
+// "coffee_mug"
+// "cross"
+// "cross_reverse"
+// "crosshair"
+// "diamond_cross"
+// "dot"
+// "dot_box_mask"
+// "double_arrow"
+// "draft_large"
+// "draft_small"
+// "draped_box"
+// "exchange"
+// "fleur"
+// "gobbler"
+// "gumby"
+// "hand1" *DONE*
+// "hand2"
+// "heart"
+// "icon"
+// "iron_cross"
+// "left_ptr"
+// "left_side"
+// "left_tee"
+// "leftbutton"
+// "ll_angle"
+// "lr_angle"
+// "man"
+// "middlebutton"
+// "mouse"
+// "pencil"
+// "pirate"
+// "plus"
+// "question_arrow"
+// "right_ptr"
+// "right_side"
+// "right_tee"
+// "rightbutton"
+// "rtl_logo"
+// "sailboat"
+// "sb_down_arrow"
+// "sb_h_double_arrow"
+// "sb_left_arrow"
+// "sb_right_arrow"
+// "sb_up_arrow"
+// "sb_v_double_arrow"
+// "shuttle"
+// "sizing"
+// "spider"
+// "spraycan"
+// "star"
+// "target"
+// "tcross"
+// "top_left_arrow"
+// "top_left_corner"
+// "top_right_corner"
+// "top_side"
+// "top_tee"
+// "trek"
+// "ul_angle"
+// "umbrella"
+// "ur_angle"
+// "watch"
+// "xterm"
+
+group { "efl/cursor/hand1";
+   inherit: "elm/cursor/hand1/default";
+}
+
+group { "efl/cursor/blank";
+   inherit: "elm/cursor/blank/default";
+}
+
+group { "efl/cursor/xterm";
+   inherit: "elm/cursor/xterm/default";
+}
diff --git a/data/elementary/themes/edc/efl/focus.edc 
b/data/elementary/themes/edc/efl/focus.edc
new file mode 100644
index 0000000000..d7c3b78f19
--- /dev/null
+++ b/data/elementary/themes/edc/efl/focus.edc
@@ -0,0 +1,7 @@
+group { "efl/focus_highlight/top";
+   inherit: "elm/focus_highlight/top/default";
+}
+
+group { "efl/focus_highlight/top:blank";
+   inherit: "elm/focus_highlight/top/blank";
+}
diff --git a/data/elementary/themes/edc/efl/frame.edc 
b/data/elementary/themes/edc/efl/frame.edc
new file mode 100644
index 0000000000..f8b4690b24
--- /dev/null
+++ b/data/elementary/themes/edc/efl/frame.edc
@@ -0,0 +1,3 @@
+group { "efl/frame";
+   inherit: "elm/frame/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/multibuttonentry.edc 
b/data/elementary/themes/edc/efl/multibuttonentry.edc
new file mode 100644
index 0000000000..149f9e6b26
--- /dev/null
+++ b/data/elementary/themes/edc/efl/multibuttonentry.edc
@@ -0,0 +1,19 @@
+group { "efl/multibuttonentry";
+   inherit: "elm/multibuttonentry/base/default";
+}
+
+group { "efl/multibuttonentry/label";
+   inherit: "elm/multibuttonentry/label/default";
+}
+
+group { "efl/multibuttonentry/guidetext";
+   inherit: "elm/multibuttonentry/guidetext/default";
+}
+
+group { "efl/multibuttonentry/btn";
+   inherit: "elm/multibuttonentry/btn/default";
+}
+
+group { "efl/multibuttonentry/closedbutton";
+   inherit: "elm/multibuttonentry/closedbutton/default";
+}
diff --git a/data/elementary/themes/edc/elm/nstate.edc 
b/data/elementary/themes/edc/efl/nstate.edc
similarity index 66%
rename from data/elementary/themes/edc/elm/nstate.edc
rename to data/elementary/themes/edc/efl/nstate.edc
index f05880699d..c63624deec 100644
--- a/data/elementary/themes/edc/elm/nstate.edc
+++ b/data/elementary/themes/edc/efl/nstate.edc
@@ -1,5 +1,5 @@
-group { name: "elm/nstate/base/default";
-   inherit: "elm/button/base/default";
+group { "efl/nstate";
+   inherit: "efl/button";
    programs {
       program {
          signal: "mouse,clicked,1"; source: "event";
diff --git a/data/elementary/themes/edc/efl/panes.edc 
b/data/elementary/themes/edc/efl/panes.edc
new file mode 100644
index 0000000000..38f178c99c
--- /dev/null
+++ b/data/elementary/themes/edc/efl/panes.edc
@@ -0,0 +1,44 @@
+/* panes widget style information
+
+   [SIGNAL]
+      elm,panes,fixed: Used for elm_panes_fixed_set()
+      elm,panes,unfixed: Used for elm_panes_fixed_set()
+
+   [SIGNAL EMIT]
+      elm,action,click: Used for "clicked" smart callback.
+      elm,action,click,double: Used for "clicked,double" smart callback.
+      elm,action,press: Used for "press" smart callback.
+      elm,action,unpress: Used for "unpress" smart callback.
+*/
+
+group { "efl/panes/vertical";
+   inherit: "elm/panes/vertical/default";
+}
+
+group { "efl/panes/horizontal";
+   inherit: "elm/panes/horizontal/default";
+}
+
+group { "efl/panes/vertical:flush";
+   inherit: "elm/panes/vertical/flush";
+}
+
+group { "efl/panes/horizontal:flush";
+   inherit: "elm/panes/horizontal/flush";
+}
+
+group { "efl/panes/vertical:left-fold";
+   inherit: "elm/panes/vertical/left-fold";
+}
+
+group { "efl/panes/vertical:right-fold";
+   inherit: "elm/panes/vertical/right-fold";
+}
+
+group { "efl/panes/horizontal:up-fold";
+   inherit: "elm/panes/horizontal/up-fold";
+}
+
+group { "efl/panes/horizontal:down-fold";
+   inherit: "elm/panes/horizontal/down-fold";
+}
diff --git a/data/elementary/themes/edc/efl/photocam.edc 
b/data/elementary/themes/edc/efl/photocam.edc
new file mode 100644
index 0000000000..ccc226ed39
--- /dev/null
+++ b/data/elementary/themes/edc/efl/photocam.edc
@@ -0,0 +1,3 @@
+group { "efl/photocam";
+   inherit: "elm/photocam/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/progress.edc 
b/data/elementary/themes/edc/efl/progress.edc
new file mode 100644
index 0000000000..2cb11b29db
--- /dev/null
+++ b/data/elementary/themes/edc/efl/progress.edc
@@ -0,0 +1,20 @@
+group { "efl/progressbar/horizontal";
+   inherit: "elm/progressbar/horizontal/default";
+}
+
+group { "efl/progressbar/vertical";
+   inherit: "elm/progressbar/vertical/default";
+}
+
+group { "efl/progressbar/horizontal:wheel";
+   inherit: "elm/progressbar/horizontal/wheel";
+   alias: "efl/progressbar/vertical:wheel";
+}
+
+group { "efl/progressbar/horizontal:double";
+   inherit: "elm/progressbar/horizontal/double";
+}
+
+group { "efl/progressbar/vertical:double";
+   inherit: "elm/progressbar/vertical/double";
+}
diff --git a/data/elementary/themes/edc/efl/radio.edc 
b/data/elementary/themes/edc/efl/radio.edc
new file mode 100644
index 0000000000..5c6dc64aa3
--- /dev/null
+++ b/data/elementary/themes/edc/efl/radio.edc
@@ -0,0 +1,3 @@
+group { "efl/radio";
+   inherit: "elm/radio/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/scroller.edc 
b/data/elementary/themes/edc/efl/scroller.edc
new file mode 100644
index 0000000000..e0d81482c0
--- /dev/null
+++ b/data/elementary/themes/edc/efl/scroller.edc
@@ -0,0 +1,12 @@
+group { "efl/scroller";
+   inherit: "elm/scroller/base/default";
+}
+
+group { "efl/scroller:noclip";
+   inherit: "elm/scroller/base/noclip";
+}
+
+group { "efl/scroller/contents";
+   inherit: "elm/scroller/contents/default";
+}
+
diff --git a/data/elementary/themes/edc/efl/slider.edc 
b/data/elementary/themes/edc/efl/slider.edc
new file mode 100644
index 0000000000..20b479b1f1
--- /dev/null
+++ b/data/elementary/themes/edc/efl/slider.edc
@@ -0,0 +1,73 @@
+group { "efl/slider/hidden/limit";
+   inherit: "elm/slider/hidden/limit";
+}
+
+group { "efl/slider/horizontal/indicator";
+   inherit: "elm/slider/horizontal/indicator/default";
+   alias: "efl/slider/horizontal/indicator:disabled";
+   alias: "efl/slider/horizontal/popup";
+   alias: "efl/slider_interval/horizontal/indicator";
+   alias: "efl/slider_interval/horizontal/popup";
+}
+
+group { "efl/slider/vertical/indicator";
+   inherit: "elm/slider/vertical/indicator/default";
+   alias: "efl/slider/vertical/indicator:disabled";
+   alias: "efl/slider/vertical/popup";
+   alias: "efl/slider_interval/vertical/indicator";
+   alias: "efl/slider_interval/vertical/popup";
+}
+
+group { "efl/slider/horizontal";
+   inherit: "elm/slider/horizontal/default";
+   alias: "efl/slider/horizontal:disabled";
+   parts {
+      part { "limits";
+         source: "efl/slider/hidden/limit";
+      }
+      part { "button";
+         source: "efl/slider/horizontal/indicator";
+      }
+   }
+}
+
+group { "efl/slider/vertical";
+   inherit: "elm/slider/vertical/default";
+   alias: "efl/slider/vertical:disabled";
+   parts {
+      part { "limits";
+         source: "efl/slider/hidden/limit";
+      }
+      part { "button";
+         source: "efl/slider/vertical/indicator";
+      }
+   }
+}
+
+//Range
+
+group { "efl/slider_interval/horizontal";
+   inherit: "elm/slider/range/horizontal/default";
+   alias: "efl/slider/horizontal:disabled";
+   parts {
+      part { "limits";
+         source: "efl/slider/hidden/limit";
+      }
+      part { "button";
+         source: "efl/slider_interval/horizontal/indicator";
+      }
+   }
+}
+
+group { "efl/slider_interval/vertical";
+   inherit: "elm/slider/range/vertical/default";
+   alias: "efl/slider/vertical:disabled";
+   parts {
+      part { "limits";
+         source: "efl/slider/hidden/limit";
+      }
+      part { "button";
+         source: "efl/slider_interval/vertical/indicator";
+      }
+   }
+}
diff --git a/data/elementary/themes/edc/efl/text.edc 
b/data/elementary/themes/edc/efl/text.edc
new file mode 100644
index 0000000000..5ee4227586
--- /dev/null
+++ b/data/elementary/themes/edc/efl/text.edc
@@ -0,0 +1,328 @@
+group { "efl/text/scroller";
+   inherit: "elm/scroller/entry/default";
+}
+
+group { "efl/text/single/scroller";
+   inherit: "elm/scroller/entry_single/default";
+}
+
+group { "efl/text/cursor";
+   inherit: "elm/entry/cursor/default";
+   alias: "efl/text/single/cursor";
+   alias: "efl/text/charwrap/cursor";
+   alias: "efl/text/mixedwrap/cursor";
+   alias: "efl/text/nowrap/cursor";
+   alias: "efl/text/noedit/cursor";
+   alias: "efl/text/single-noedit/cursor";
+   alias: "efl/text/noedit-charwrap/cursor";
+   alias: "efl/text/noedit-mixedwrap/cursor";
+   alias: "efl/text/nowrap-noedit/cursor";
+}
+
+group { "efl/text/selection";
+   inherit: "elm/entry/selection/default";
+   alias: "efl/text/single/selection";
+   alias: "efl/text/charwrap/selection";
+   alias: "efl/text/mixedwrap/selection";
+   alias: "efl/text/nowrap/selection";
+   alias: "efl/text/noedit/selection";
+   alias: "efl/text/single-noedit/selection";
+   alias: "efl/text/noedit-charwrap/selection";
+   alias: "efl/text/noedit-mixedwrap/selection";
+   alias: "efl/text/nowrap-noedit/selection";
+}
+
+group { "efl/text/anchor";
+   inherit: "elm/entry/anchor/default";
+   alias: "efl/text/single/anchor";
+   alias: "efl/text/charwrap/anchor";
+   alias: "efl/text/mixedwrap/anchor";
+   alias: "efl/text/nowrap/anchor";
+   alias: "efl/text/noedit/anchor";
+   alias: "efl/text/single-noedit/anchor";
+   alias: "efl/text/noedit-charwrap/anchor";
+   alias: "efl/text/noedit-mixedwrap/anchor";
+   alias: "efl/text/nowrap-noedit/anchor";
+}
+
+group { "efl/text";
+   inherit: "elm/entry/base/default";
+   alias: "efl/text/mixedwrap";
+   alias: "efl/text/charwrap";
+   alias: "efl/text/nowrap";
+   alias: "efl/text/single";
+   alias: "efl/text/single-noedit";
+   alias: "efl/text/noedit";
+   alias: "efl/text/noedit-mixedwrap";
+   alias: "efl/text/noedit-charwrap";
+   alias: "efl/text/nowrap-noedit";
+   alias: "efl/text/password";
+   sounds {
+      sample { name: "key-tap1" LOSSY 64;
+         source: "kbd-tap.wav";
+      }
+      sample { name: "key-tap2" LOSSY 64;
+         source: "kbd-tap2.wav";
+      }
+      sample { name: "key-tap3" LOSSY 64;
+         source: "kbd-tap3.wav";
+      }
+      sample { name: "key-tap4" LOSSY 64;
+         source: "kbd-tap4.wav";
+      }
+      sample { name: "key-tap5" LOSSY 64;
+         source: "kbd-tap5.wav";
+      }
+   }
+
+//   data.item: "context_menu_orientation" "horizontal";
+   parts {
+      part { name: "elm.swallow.background"; type: SWALLOW;
+         description { state: "default" 0.0;
+            rel1.offset: 1 1;
+            rel2.offset: -2 -2;
+         }
+      }
+      part { name: "elm.text"; type: SWALLOW;
+         scale: 1;
+         entry_mode: EDITABLE;
+         select_mode: DEFAULT;
+//         select_mode: EXPLICIT;
+         cursor_mode: BEFORE;
+         multiline: 1;
+         source: "efl/text/selection"; // selection under
+//         source2: "X"; // selection over
+//         source3: "X"; // cursor under
+         source4: "efl/text/cursor"; // cursorover
+//         source5: "efl/text/anchor"; // anchor under
+         source6: "efl/text/anchor"; // anchor over
+         description { state: "default" 0.0;
+            /* we gotta use 0 0 here, because of scrolled entries */
+            fixed: 0 0;
+            rel1.offset: 2 2;
+            rel2.offset: -3 -3;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+         }
+      }
+   }
+   programs {
+      program {
+         signal: "load"; source: "";
+         action: FOCUS_SET;
+         target: "elm.text";
+      }
+      program {
+         signal: "elm,state,disabled"; source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "elm.text";
+      }
+      program {
+         signal: "elm,state,enabled"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.text";
+      }
+      #if 0
+      program {
+         signal: "elm,guide,disabled"; source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program {
+         signal: "elm,guide,enabled"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      #endif
+      program { name: "key-down";
+         signal: "entry,keydown"; source: "elm.text";
+         script {
+            new buf[32];
+            snprintf(buf, 31, "key-down%i", (rand() % 5) + 1);
+            run_program(get_program_id(buf));
+         }
+      }
+      program { name: "key-down1";
+         action: PLAY_SAMPLE "key-tap1" 1.0 INPUT;
+      }
+      program { name: "key-down2";
+         action: PLAY_SAMPLE "key-tap2" 1.0 INPUT;
+      }
+      program { name: "key-down3";
+         action: PLAY_SAMPLE "key-tap3" 1.0 INPUT;
+      }
+      program { name: "key-down4";
+         action: PLAY_SAMPLE "key-tap4" 1.0 INPUT;
+      }
+      program { name: "key-down5";
+         action: PLAY_SAMPLE "key-tap5" 1.0 INPUT;
+      }
+   }
+}
+
+group { "efl/text/magnifier";
+   inherit: "elm/entry/magnifier/default";
+   alias: "efl/text/single/magnifier";
+   alias: "efl/text/charwrap/magnifier";
+   alias: "efl/text/mixedwrap/magnifier";
+   alias: "efl/text/nowrap/magnifier";
+   alias: "efl/text/noedit/magnifier";
+   alias: "efl/text/single-noedit/magnifier";
+   alias: "efl/text/noedit-charwrap/magnifier";
+   alias: "efl/text/noedit-mixedwrap/magnifier";
+   alias: "efl/text/nowrap-noedit/magnifier";
+}
+
+group { "efl/text/handler/start";
+   inherit: "elm/entry/handler/start/default";
+   alias: "efl/text/single/handler/start";
+   alias: "efl/text/charwrap/handler/start";
+   alias: "efl/text/mixedwrap/handler/start";
+   alias: "efl/text/nowrap/handler/start";
+   alias: "efl/text/noedit/handler/start";
+   alias: "efl/text/single-noedit/handler/start";
+   alias: "efl/text/noedit-charwrap/handler/start";
+   alias: "efl/text/noedit-mixedwrap/handler/start";
+   alias: "efl/text/nowrap-noedit/handler/start";
+}
+
+group { "efl/text/handler/end";
+   inherit: "elm/entry/handler/end/default";
+   alias: "efl/text/single/handler/end";
+   alias: "efl/text/charwrap/handler/end";
+   alias: "efl/text/mixedwrap/handler/end";
+   alias: "efl/text/nowrap/handler/end";
+   alias: "efl/text/noedit/handler/end";
+   alias: "efl/text/single-noedit/handler/end";
+   alias: "efl/text/noedit-charwrap/handler/end";
+   alias: "efl/text/noedit-mixedwrap/handler/end";
+   alias: "efl/text/nowrap-noedit/handler/end";
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// emoticon images from:
+// Tanya - Latvia
+// http://lazycrazy.deviantart.com/
+// http://lazycrazy.deviantart.com/art/Very-Emotional-Emoticons-144461621
+group { "efl/text/emoticon/angry"; images.image:
+   "emo-angry.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-angry.png"; } } } }
+group { "efl/text/emoticon/angry-shout"; images.image:
+   "emo-angry-shout.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-angry-shout.png"; } } } }
+group { "efl/text/emoticon/crazy-laugh"; images.image:
+   "emo-crazy-laugh.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-crazy-laugh.png"; } } } }
+group { "efl/text/emoticon/evil-laugh"; images.image:
+   "emo-evil-laugh.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-evil-laugh.png"; } } } }
+group { "efl/text/emoticon/evil"; images.image:
+   "emo-evil.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-evil.png"; } } } }
+group { "efl/text/emoticon/goggle-smile"; images.image:
+   "emo-goggle-smile.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-goggle-smile.png"; } } } }
+group { "efl/text/emoticon/grumpy"; images.image:
+   "emo-grumpy.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-grumpy.png"; } } } }
+group { "efl/text/emoticon/grumpy-smile"; images.image:
+   "emo-grumpy-smile.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-grumpy-smile.png"; } } } }
+group { "efl/text/emoticon/guilty"; images.image:
+   "emo-guilty.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-guilty.png"; } } } }
+group { "efl/text/emoticon/guilty-smile"; images.image:
+   "emo-guilty-smile.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-guilty-smile.png"; } } } }
+group { "efl/text/emoticon/haha"; images.image:
+   "emo-haha.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-haha.png"; } } } }
+group { "efl/text/emoticon/half-smile"; images.image:
+   "emo-half-smile.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-half-smile.png"; } } } }
+group { "efl/text/emoticon/happy-panting"; images.image:
+   "emo-happy-panting.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-happy-panting.png"; } } } }
+group { "efl/text/emoticon/happy"; images.image:
+   "emo-happy.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-happy.png"; } } } }
+group { "efl/text/emoticon/indifferent"; images.image:
+   "emo-indifferent.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-indifferent.png"; } } } }
+group { "efl/text/emoticon/kiss"; images.image:
+   "emo-kiss.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-kiss.png"; } } } }
+group { "efl/text/emoticon/knowing-grin"; images.image:
+   "emo-knowing-grin.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-knowing-grin.png"; } } } }
+group { "efl/text/emoticon/laugh"; images.image:
+   "emo-laugh.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-laugh.png"; } } } }
+group { "efl/text/emoticon/little-bit-sorry"; images.image:
+   "emo-little-bit-sorry.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-little-bit-sorry.png"; } } } }
+group { "efl/text/emoticon/love-lots"; images.image:
+   "emo-love-lots.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-love-lots.png"; } } } }
+group { "efl/text/emoticon/love"; images.image:
+   "emo-love.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-love.png"; } } } }
+group { "efl/text/emoticon/minimal-smile"; images.image:
+   "emo-minimal-smile.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-minimal-smile.png"; } } } }
+group { "efl/text/emoticon/not-happy"; images.image:
+   "emo-not-happy.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-not-happy.png"; } } } }
+group { "efl/text/emoticon/not-impressed"; images.image:
+   "emo-not-impressed.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-not-impressed.png"; } } } }
+group { "efl/text/emoticon/omg"; images.image:
+   "emo-omg.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-omg.png"; } } } }
+group { "efl/text/emoticon/opensmile"; images.image:
+   "emo-opensmile.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-opensmile.png"; } } } }
+group { "efl/text/emoticon/smile"; images.image:
+   "emo-smile.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-smile.png"; } } } }
+group { "efl/text/emoticon/sorry"; images.image:
+   "emo-sorry.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-sorry.png"; } } } }
+group { "efl/text/emoticon/squint-laugh"; images.image:
+   "emo-squint-laugh.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-squint-laugh.png"; } } } }
+group { "efl/text/emoticon/surprised"; images.image:
+   "emo-surprised.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-surprised.png"; } } } }
+group { "efl/text/emoticon/suspicious"; images.image:
+   "emo-suspicious.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-suspicious.png"; } } } }
+group { "efl/text/emoticon/tongue-dangling"; images.image:
+   "emo-tongue-dangling.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-tongue-dangling.png"; } } } }
+group { "efl/text/emoticon/tongue-poke"; images.image:
+   "emo-tongue-poke.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-tongue-poke.png"; } } } }
+group { "efl/text/emoticon/uh"; images.image:
+   "emo-uh.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-uh.png"; } } } }
+group { "efl/text/emoticon/unhappy"; images.image:
+   "emo-unhappy.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-unhappy.png"; } } } }
+group { "efl/text/emoticon/very-sorry"; images.image:
+   "emo-very-sorry.png" COMP; parts { part { "icon"; nomouse; desc { 
"default"; max: 64 64; image.normal:
+            "emo-very-sorry.png"; } } } }
+group { "efl/text/emoticon/what"; images.image:
+   "emo-what.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-what.png"; } } } }
+group { "efl/text/emoticon/wink"; images.image:
+   "emo-wink.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-wink.png"; } } } }
+group { "efl/text/emoticon/worried"; images.image:
+   "emo-worried.png" COMP; parts { part { "icon"; nomouse; desc { "default"; 
max: 64 64; image.normal:
+            "emo-worried.png"; } } } }
+group { "efl/text/emoticon/wtf"; images.image:
+   "emo-wtf.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 
64 64; image.normal:
+            "emo-wtf.png"; } } } }
+//------------------------------------------------------------
diff --git a/data/elementary/themes/edc/efl/textpath.edc 
b/data/elementary/themes/edc/efl/textpath.edc
new file mode 100644
index 0000000000..ed4924f9fb
--- /dev/null
+++ b/data/elementary/themes/edc/efl/textpath.edc
@@ -0,0 +1,3 @@
+group { "efl/textpath";
+   inherit: "elm/textpath/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/tooltip.edc 
b/data/elementary/themes/edc/efl/tooltip.edc
new file mode 100644
index 0000000000..204b2b4ddc
--- /dev/null
+++ b/data/elementary/themes/edc/efl/tooltip.edc
@@ -0,0 +1,15 @@
+group { "efl/label/tooltip";
+   inherit: "elm/label/base/tooltip/default";
+   alias: "efl/label/base/tooltip"; //XXX: Remove it in EFL 2.0
+   alias: "efl/label/base/tooltip/transparent";
+}
+
+group { "efl/tooltip";
+   inherit: "elm/tooltip/base/default";
+}
+
+group { "efl/tooltip:transparent";
+   inherit: "elm/tooltip/base/transparent";
+}
+
+///////////////////////////////////////////////////////////////////////////////
diff --git a/data/elementary/themes/edc/efl/uiclock.edc 
b/data/elementary/themes/edc/efl/uiclock.edc
new file mode 100644
index 0000000000..e0b0586f04
--- /dev/null
+++ b/data/elementary/themes/edc/efl/uiclock.edc
@@ -0,0 +1,223 @@
+#define DATETIME_FIELD(_pos) \
+   part { \
+      name: "field"#_pos; type: SWALLOW; \
+      scale: 1; \
+      clip_to: "clip"; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         min: 0 0; \
+         align: 0.0 0.5; \
+         fixed: 1 1; \
+         rel1.relative: 1.0 0.0; \
+         rel1.to: "separator"#_pos; \
+         rel2.relative: 1.0 1.0; \
+         rel2.to: "separator"#_pos; \
+      } \
+      description { state: "enable" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+         min: 8 10; \
+      } \
+   } \
+   programs{ \
+      program { name: "field_"#_pos"enabled"; \
+         signal: "field"#_pos",enable"; source: "elm"; \
+         action: STATE_SET "enable" 0.0; \
+         target: "field"#_pos; \
+      } \
+      program { name: "field_"#_pos"disabled"; \
+         signal: "field"#_pos",disable"; source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "field"#_pos; \
+      } \
+    }
+#define DATETIME_SEPARATOR(_pos, _after) \
+   part { \
+      name: "separator"#_pos; type: TEXT; \
+      scale: 1; \
+      effect: SHADOW BOTTOM; \
+      clip_to: "disclip"; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         min: 0 0; \
+         align: 0.0 0.5; \
+         fixed: 1 0; \
+         rel1 { \
+            relative: 1.0 0.0; \
+            to: "field"#_after; \
+         } \
+         rel2 { \
+            relative: 1.0 1.0; \
+            to: "field"#_after; \
+         } \
+         color_class: "datetime_separator_text"; \
+         text { \
+            font: "Sans"; size: 10; \
+            min: 1 0; \
+            ellipsis: -1; \
+            align: 0.5 0.5; \
+            text_class: "datetime_separator_text"; \
+         } \
+      } \
+      description { state: "enable" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+         min: 8 10; \
+      } \
+   } \
+   part { \
+      name: "separator"#_pos"d"; type: TEXT; \
+      scale: 1; \
+      effect: SHADOW BOTTOM; \
+      clip_to: "disclip2"; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         rel1.to: "separator"#_pos; \
+         rel2.to: "separator"#_pos; \
+         color_class: "datetime_separator_text_disabled"; \
+         text { \
+            text_source: "separator"#_pos; \
+            font: "Sans"; size: 10; \
+            text_class: "datetime_separator_text_disabled"; \
+         } \
+      } \
+      description { state: "enable" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   } \
+   programs { \
+      program { \
+         signal: "field"#_after",enable"; source: "elm"; \
+         action: STATE_SET "enable" 0.0; \
+         target: "separator"#_pos; \
+         target: "separator"#_pos"d"; \
+      } \
+      program { \
+         signal: "field"#_after",disable"; source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "separator"#_pos; \
+         target: "separator"#_pos"d"; \
+      } \
+   }
+
+group { "efl/uiclock";
+   parts {
+      part { name: "bg"; type: RECT;
+         description { state: "default" 0.0;
+            color_class: "datetime_bg";
+         }
+      }
+      part { name: "clip"; type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "separator0";
+            rel2.to: "separator7";
+         }
+      }
+      part { name: "disclip"; type: RECT;
+         clip_to: "clip";
+         description { state: "default" 0.0;
+            rel1.to: "separator0";
+            rel2.to: "separator7";
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "disclip2"; type: RECT;
+         clip_to: "clip";
+         description { state: "default" 0.0;
+            rel1.to: "separator0";
+            rel2.to: "separator7";
+            visible: 0;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "separator0"; type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 8 10;
+            align: 0.0 0.5;
+            fixed: 1 0;
+            rel2.relative: 0.0 1.0;
+         }
+      }
+      DATETIME_FIELD(0)
+      DATETIME_SEPARATOR(1,0)
+      DATETIME_FIELD(1)
+      DATETIME_SEPARATOR(2,1)
+      DATETIME_FIELD(2)
+      DATETIME_SEPARATOR(3,2)
+      DATETIME_FIELD(3)
+      DATETIME_SEPARATOR(4,3)
+      DATETIME_FIELD(4)
+      DATETIME_SEPARATOR(5,4)
+      DATETIME_FIELD(5)
+      DATETIME_SEPARATOR(6,5)
+      DATETIME_FIELD(6)
+      DATETIME_SEPARATOR(7,6)
+      DATETIME_FIELD(7)
+      DATETIME_SEPARATOR(8,7)
+      part { name: "separator9"; type: SPACER;
+         description { state: "default" 0.0;
+            rel1.to: "separator7";
+            rel1.relative: 1.0 0.0;
+            min: 8 10;
+         }
+      }
+      part { name: "discover"; type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "separator0";
+            rel2.to: "separator7";
+            visible: 0;
+            color: 0 0 0 0;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "elm.access"; type: RECT; repeat_events: 1;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+   }
+   programs {
+      program {
+         signal: "elm,state,disabled"; source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "disclip";
+         target: "disclip2";
+         target: "discover";
+      }
+      program {
+         signal: "elm,state,enabled"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "disclip";
+         target: "disclip2";
+         target: "discover";
+      }
+   }
+}
+#undef DATETIME_SEPARATOR
+#undef DATETIME_FIELD
+
+// AM_PM_BUTTON
+group { "efl/uiclock/ampm"
+   inherit: "efl/button";
+}
+
+//ENTRY
+group { "efl/uiclock/text"
+   inherit: "efl/text";
+   alias: "efl/uiclock/text/single";
+   alias: "efl/uiclock/text/single-noedit";
+}
+group { "efl/uiclock/text/selection"
+   inherit: "efl/text/selection";
+}
diff --git a/data/elementary/themes/edc/efl/video.edc 
b/data/elementary/themes/edc/efl/video.edc
new file mode 100644
index 0000000000..3a2a658b06
--- /dev/null
+++ b/data/elementary/themes/edc/efl/video.edc
@@ -0,0 +1,3 @@
+group { "efl/video";
+   inherit: "elm/video/base/default";
+}
diff --git a/data/elementary/themes/edc/efl/win.edc 
b/data/elementary/themes/edc/efl/win.edc
new file mode 100644
index 0000000000..d0b66110f7
--- /dev/null
+++ b/data/elementary/themes/edc/efl/win.edc
@@ -0,0 +1,3 @@
+group { "efl/win";
+   inherit: "elm/win/base/default";
+}
diff --git a/src/lib/elementary/efl_ui_panes.c 
b/src/lib/elementary/efl_ui_panes.c
index 1d70fd23d5..893ee1d72a 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -53,18 +53,78 @@ static const Elm_Layout_Part_Alias_Description 
_content_aliases[] =
 
 static void _set_min_size_new(void *data);
 
+//TODO: efl_ui_slider also use this.
+static const char *
+_theme_group_modify_pos_get(const char *cur_group, const char *search, size_t 
len, Eina_Bool is_legacy)
+{
+   const char *pos = NULL;
+   const char *temp_str = NULL;
+
+   if (is_legacy)
+     return cur_group;
+
+   temp_str = cur_group + len - strlen(search);
+   if (temp_str >= cur_group)
+     {
+         if (!strcmp(temp_str, search))
+           pos = temp_str;
+     }
+
+   return pos;
+}
+
+static char *
+_efl_ui_panes_theme_group_get(Evas_Object *obj, Efl_Ui_Panes_Data *sd)
+{
+   const char *pos = NULL;
+   const char *cur_group = elm_widget_theme_element_get(obj);
+   Eina_Strbuf *new_group = eina_strbuf_new();
+   Eina_Bool is_legacy = elm_widget_is_legacy(obj);
+   size_t len = 0;
+
+   if (cur_group)
+     {
+        len = strlen(cur_group);
+        pos = _theme_group_modify_pos_get(cur_group, "horizontal", len, 
is_legacy);
+        if (!pos)
+          pos = _theme_group_modify_pos_get(cur_group, "vertical", len, 
is_legacy);
+
+        // TODO: change separator when it is decided.
+        //       can skip when prev_group == cur_group
+        if (!pos)
+          {
+              eina_strbuf_append(new_group, cur_group);
+              eina_strbuf_append(new_group, "/");
+          }
+        else
+          {
+              eina_strbuf_append_length(new_group, cur_group, pos - cur_group);
+          }
+     }
+
+   if (sd->dir == EFL_UI_DIR_HORIZONTAL)
+     eina_strbuf_append(new_group, "horizontal");
+   else
+     eina_strbuf_append(new_group, "vertical");
+
+   return eina_strbuf_release(new_group);
+}
+
 EOLIAN static Efl_Ui_Theme_Apply
 _efl_ui_panes_elm_widget_theme_apply(Eo *obj, Efl_Ui_Panes_Data *sd)
 {
    double size;
    Evas_Coord minw = 0, minh = 0;
+   char *group;
 
    Efl_Ui_Theme_Apply int_ret = EFL_UI_THEME_APPLY_FAILED;
 
-   if (sd->dir == EFL_UI_DIR_HORIZONTAL)
-     elm_widget_theme_element_set(obj, "horizontal");
-   else
-     elm_widget_theme_element_set(obj, "vertical");
+   group = _efl_ui_panes_theme_group_get(obj, sd);
+   if (group)
+     {
+        elm_widget_theme_element_set(obj, group);
+        free(group);
+     }
 
    evas_object_hide(sd->event);
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
diff --git a/src/lib/elementary/efl_ui_slider.c 
b/src/lib/elementary/efl_ui_slider.c
index 274b03c6a0..8ee5ad58f5 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -663,9 +663,9 @@ _popup_add(Efl_Ui_Slider_Data *sd, Eo *obj, Evas_Object 
**popup,
    *popup = edje_object_add(evas_object_evas_get(obj));
    evas_object_smart_member_add(*popup, obj);
    if (_is_horizontal(sd->dir))
-     _elm_theme_set(elm_widget_theme_get(obj), *popup, "slider", 
"horizontal/popup", elm_widget_style_get(obj));
+     efl_ui_widget_theme_object_set(obj, *popup, "slider", "horizontal/popup", 
elm_widget_style_get(obj));
    else
-     _elm_theme_set(elm_widget_theme_get(obj), *popup, "slider", 
"vertical/popup", elm_widget_style_get(obj));
+     efl_ui_widget_theme_object_set(obj, *popup, "slider", "vertical/popup", 
elm_widget_style_get(obj));
    edje_object_scale_set(*popup, efl_ui_scale_get(obj) *
                          elm_config_scale_get());
    edje_object_signal_callback_add(*popup, "popup,hide,done", "elm", // XXX: 
for compat
@@ -708,11 +708,11 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
         else
           elm_widget_theme_element_set(obj, "range/horizontal");
         if (sd->popup)
-          _elm_theme_set(elm_widget_theme_get(obj), sd->popup,
+          efl_ui_widget_theme_object_set(obj, sd->popup,
                          "slider", "horizontal/popup",
                          elm_widget_style_get(obj));
         if (sd->popup2)
-          _elm_theme_set(elm_widget_theme_get(obj), sd->popup2,
+          efl_ui_widget_theme_object_set(obj, sd->popup2,
                          "slider", "horizontal/popup",
                          elm_widget_style_get(obj));
      }
@@ -724,11 +724,11 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
           elm_widget_theme_element_set(obj, "range/vertical");
 
         if (sd->popup)
-          _elm_theme_set(elm_widget_theme_get(obj), sd->popup,
+          efl_ui_widget_theme_object_set(obj, sd->popup,
                          "slider", "vertical/popup",
                          elm_widget_style_get(obj));
         if (sd->popup2)
-          _elm_theme_set(elm_widget_theme_get(obj), sd->popup2,
+          efl_ui_widget_theme_object_set(obj, sd->popup2,
                          "slider", "vertical/popup",
                          elm_widget_style_get(obj));
      }
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 05619dccc9..5fb838c61b 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -658,56 +658,43 @@ _efl_ui_text_theme_group_get(Evas_Object *obj)
 {
    EFL_UI_TEXT_DATA_GET(obj, sd);
 
+   if (sd->password) return "password";
    if (sd->editable)
      {
-        if (sd->password) return "base-password";
-        else
+        if (sd->single_line) return "single";
+        switch (sd->line_wrap)
           {
-             if (sd->single_line) return "base-single";
-             else
-               {
-                  switch (sd->line_wrap)
-                    {
-                     case ELM_WRAP_CHAR:
-                       return "base-charwrap";
+            case ELM_WRAP_CHAR:
+              return "charwrap";
 
-                     case ELM_WRAP_WORD:
-                       return "base";
+            case ELM_WRAP_WORD:
+              return "base";
 
-                     case ELM_WRAP_MIXED:
-                       return "base-mixedwrap";
+            case ELM_WRAP_MIXED:
+              return "mixedwrap";
 
-                     case ELM_WRAP_NONE:
-                     default:
-                       return "base-nowrap";
-                    }
-               }
+            case ELM_WRAP_NONE:
+            default:
+              return "nowrap";
           }
      }
    else
      {
-        if (sd->password) return "base-password";
-        else
+        if (sd->single_line) return "single-noedit";
+        switch (sd->line_wrap)
           {
-             if (sd->single_line) return "base-single-noedit";
-             else
-               {
-                  switch (sd->line_wrap)
-                    {
-                     case ELM_WRAP_CHAR:
-                       return "base-noedit-charwrap";
+            case ELM_WRAP_CHAR:
+              return "noedit-charwrap";
 
-                     case ELM_WRAP_WORD:
-                       return "base-noedit";
+            case ELM_WRAP_WORD:
+              return "noedit";
 
-                     case ELM_WRAP_MIXED:
-                       return "base-noedit-mixedwrap";
+            case ELM_WRAP_MIXED:
+              return "noedit-mixedwrap";
 
-                     case ELM_WRAP_NONE:
-                     default:
-                       return "base-nowrap-noedit";
-                    }
-               }
+            case ELM_WRAP_NONE:
+            default:
+              return "nowrap-noedit";
           }
      }
 }
@@ -931,7 +918,7 @@ _efl_ui_text_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Text_Data *sd)
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
    elm_widget_theme_object_set
-     (obj, sd->entry_edje, "efl_ui_text", _efl_ui_text_theme_group_get(obj), 
style);
+     (obj, sd->entry_edje, "text", _efl_ui_text_theme_group_get(obj), style);
 
    if (elm_widget_disabled_get(obj))
      edje_object_signal_emit(sd->entry_edje, "elm,state,disabled", "elm");
@@ -1007,9 +994,9 @@ _efl_ui_text_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Text_Data *sd)
    if (sd->start_handler)
      {
         elm_widget_theme_object_set(obj, sd->start_handler,
-                                    "entry", "handler/start", style);
+                                    "text", "handler/start", style);
         elm_widget_theme_object_set(obj, sd->end_handler,
-                                    "entry", "handler/end", style);
+                                    "text", "handler/end", style);
      }
 
    sd->changed = EINA_TRUE;
@@ -1753,7 +1740,7 @@ _magnifier_create(void *data)
 
    //Bg
    sd->mgf_bg = edje_object_add(e);
-   _elm_theme_object_set(data, sd->mgf_bg, "entry", "magnifier", "default");
+   elm_widget_theme_object_set(data, sd->mgf_bg, "text", "magnifier", 
"default");
    evas_object_show(sd->mgf_bg);
 
    //Proxy
@@ -2582,16 +2569,16 @@ _item_get(void *data, const char *item)
              evas_object_del(o);
              o = edje_object_add(evas_object_evas_get(data));
              elm_widget_theme_object_set
-               (data, o, "entry/emoticon", "wtf", style);
+               (data, o, "text/emoticon", "wtf", style);
           }
         return o;
      }
 
    o = edje_object_add(evas_object_evas_get(data));
    if (!elm_widget_theme_object_set
-         (data, o, "entry", item, style))
+         (data, o, "text", item, style))
      elm_widget_theme_object_set
-       (data, o, "entry/emoticon", "wtf", style);
+       (data, o, "text/emoticon", "wtf", style);
    return o;
 }
 
@@ -3027,7 +3014,7 @@ _efl_ui_text_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Text_Data *priv)
                        _dnd_pos_cb, NULL,
                        _dnd_drop_cb, NULL);
 
-   if (!elm_layout_theme_set(obj, "efl_ui_text", "base", 
elm_widget_style_get(obj)))
+   if (!elm_layout_theme_set(obj, "text", "base", elm_widget_style_get(obj)))
      CRI("Failed to set layout!");
 
    edje_object_part_swallow(priv->entry_edje, "elm.text", text_obj);
@@ -3189,7 +3176,7 @@ _create_selection_handlers(Evas_Object *obj, 
Efl_Ui_Text_Data *sd,
 {
    Evas_Object *handle;
 
-   handle = _decoration_create(sd, file, "elm/entry/handler/start", EINA_TRUE);
+   handle = _decoration_create(sd, file, "text/handler/start", EINA_TRUE);
    evas_object_pass_events_set(handle, EINA_FALSE);
    sd->start_handler = handle;
    evas_object_event_callback_add(handle, EVAS_CALLBACK_MOUSE_DOWN,
@@ -3200,7 +3187,7 @@ _create_selection_handlers(Evas_Object *obj, 
Efl_Ui_Text_Data *sd,
                                   _start_handler_mouse_up_cb, obj);
    evas_object_show(handle);
 
-   handle = _decoration_create(sd, file, "elm/entry/handler/end", EINA_TRUE);
+   handle = _decoration_create(sd, file, "text/handler/end", EINA_TRUE);
    evas_object_pass_events_set(handle, EINA_FALSE);
    sd->end_handler = handle;
    evas_object_event_callback_add(handle, EVAS_CALLBACK_MOUSE_DOWN,
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 08b52d8a7a..f81bb35205 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1170,7 +1170,7 @@ _elm_win_focus_highlight_reconfigure_job(void *data)
         else
           str = "default";
 
-        elm_widget_theme_object_set
+        efl_ui_widget_theme_object_set
           (sd->obj, fobj, "focus_highlight", "top", str);
         sd->focus_highlight.theme_changed = EINA_FALSE;
 
@@ -3153,15 +3153,15 @@ _elm_win_wl_cursor_set(Evas_Object *obj, const char 
*cursor)
 
         if (cursor)
           {
-             if (!_elm_theme_object_set(sd->obj, sd->pointer.obj,
+             if (!efl_ui_widget_theme_object_set(sd->obj, sd->pointer.obj,
                                         "cursor", cursor, "default"))
                {
-                  _elm_theme_object_set(sd->obj, sd->pointer.obj,
+                  efl_ui_widget_theme_object_set(sd->obj, sd->pointer.obj,
                                         "pointer", "base", "default");
                }
           }
         else
-          _elm_theme_object_set(sd->obj, sd->pointer.obj,
+          efl_ui_widget_theme_object_set(sd->obj, sd->pointer.obj,
                                 "pointer", "base", "default");
 
         edje_object_size_min_get(sd->pointer.obj, &mw, &mh);
@@ -3976,7 +3976,7 @@ _elm_win_frame_cb_resize_show(void *data,
      {
         Efl_Ui_Win_Move_Resize_Mode mode = _move_resize_mode_get(source);
         const resize_info *ri = _resize_info_get(sd->rot, mode);
-        if (ri) _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", 
"base", ri->cursor);
+        if (ri) efl_ui_widget_theme_object_set(sd->obj, sd->pointer.obj, 
"pointer", "base", ri->cursor);
      }
 #else
    (void)source;
@@ -3996,7 +3996,7 @@ _elm_win_frame_cb_resize_hide(void *data,
 
 #ifdef HAVE_ELEMENTARY_WL2
    if (sd->pointer.obj)
-     _elm_theme_object_set(sd->obj, sd->pointer.obj,
+     efl_ui_widget_theme_object_set(sd->obj, sd->pointer.obj,
                            "pointer", "base", "default");
 #endif
 }
@@ -4288,7 +4288,7 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char 
*element, const char *style)
    v = version ? atoi(version) : 0;
    if (EINA_LIKELY(v >= FRAME_OBJ_THEME_MIN_VERSION))
      {
-        if (!elm_widget_theme_object_set
+        if (!efl_ui_widget_theme_object_set
             (sd->obj, sd->frame_obj, "border", element, style))
           {
              ERR("Failed to set main border theme for the window.");
@@ -5240,7 +5240,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
              Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
 
              sd->pointer.obj = o = edje_object_add(ecore_evas_get(tmp_sd.ee));
-             _elm_theme_object_set(obj, o, "pointer", "base", "default");
+             efl_ui_widget_theme_object_set(obj, o, "pointer", "base", 
"default");
              edje_object_size_min_calc(o, &mw, &mh);
              evas_object_resize(o, mw, mh);
              edje_object_part_geometry_get(o, "elm.swallow.hotspot",
@@ -6513,8 +6513,8 @@ _elm_win_theme_internal(Eo *obj, Efl_Ui_Win_Data *sd)
    Eina_Bool ret = EINA_FALSE, prev_alpha;
    const char *s;
 
-   int_ret = _elm_theme_object_set(obj, sd->legacy.edje, "win", "base",
-                                   elm_widget_style_get(obj));
+   int_ret = efl_ui_widget_theme_object_set(obj, sd->legacy.edje, "win", 
"base",
+                                       elm_widget_style_get(obj));
    if (!int_ret) return EFL_UI_THEME_APPLY_FAILED;
 
    edje_object_mirrored_set(sd->legacy.edje, efl_ui_mirrored_get(obj));
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index 802938458b..135b06b758 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -540,7 +540,8 @@ Efl_Ui_Theme_Apply      _elm_theme_set(Elm_Theme *th,
                                     Evas_Object *o,
                                     const char *clas,
                                     const char *group,
-                                    const char *style);
+                                    const char *style,
+                                    Eina_Bool is_legacy);
 Eina_Bool            _elm_theme_icon_set(Elm_Theme *th,
                                          Evas_Object *o,
                                          const char *group,
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index b1de7efde1..2b043d44c4 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -1293,8 +1293,11 @@ _elm_spinner_elm_widget_theme_apply(Eo *obj, 
Elm_Spinner_Data *sd)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_FAILED);
 
-   if (!elm_layout_theme_set(obj, "spinner", "base", 
elm_widget_style_get(obj)))
-     CRI("Failed to set layout!");
+   if (!efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS)))
+     {
+        CRI("Failed to set layout!");
+        return EFL_UI_THEME_APPLY_FAILED;
+     }
 
    if (edje_object_part_exists(wd->resize_obj, "elm.swallow.dec_button"))
      sd->button_layout = EINA_TRUE;
diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index 3f2144b93d..69028c6770 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -281,7 +281,7 @@ _elm_theme_object_set(Evas_Object *parent, Evas_Object *o, 
const char *clas, con
    Elm_Theme *th = NULL;
 
    if (parent) th = elm_widget_theme_get(parent);
-   return _elm_theme_set(th, o, clas, group, style);
+   return _elm_theme_set(th, o, clas, group, style, 
elm_widget_is_legacy(parent));
 }
 
 /* only issued by elm_icon.c */
@@ -296,14 +296,21 @@ _elm_theme_object_icon_set(Evas_Object *o,
 }
 
 Efl_Ui_Theme_Apply
-_elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char 
*group, const char *style)
+_elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char 
*group, const char *style, Eina_Bool is_legacy)
 {
    Eina_File *file;
    char buf2[1024];
+   const char *group_sep = "/";
+   const char *style_sep = ":";
 
-   if ((!clas) || (!group) || (!style) || !o) return EFL_UI_THEME_APPLY_FAILED;
+   if ((!clas) || !o) return EFL_UI_THEME_APPLY_FAILED;
    if (!th) th = &(theme_default);
-   snprintf(buf2, sizeof(buf2), "elm/%s/%s/%s", clas, group, style);
+   if (is_legacy)
+     snprintf(buf2, sizeof(buf2), "elm/%s/%s/%s", clas, (group) ? group : 
"base", (style) ? style : "default");
+   else
+     snprintf(buf2, sizeof(buf2), "efl/%s%s%s%s%s", clas,
+            ((group) ? group_sep : "\0"), ((group) ? group : "\0"),
+            ((style) ? style_sep : "\0"), ((style) ? style : "\0"));
    if (!eina_hash_find(th->cache_style_load_failed, buf2))
      {
         file = _elm_theme_group_file_find(th, buf2);
@@ -312,7 +319,7 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
              if (edje_object_mmap_set(o, file, buf2)) return 
EFL_UI_THEME_APPLY_SUCCESS;
              else
                {
-                  INF("could not set theme group '%s' from file '%s': %s",
+                  ERR("could not set theme group '%s' from file '%s': %s",
                       buf2,
                       eina_file_filename_get(file),
                       edje_load_error_str(edje_object_load_error_get(o)));
@@ -322,8 +329,15 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
         eina_hash_add(th->cache_style_load_failed, buf2, (void *)1);
      }
 
+   if (!style)
+     return EFL_UI_THEME_APPLY_FAILED;
+
    // Use the elementary default style.
-   snprintf(buf2, sizeof(buf2), "elm/%s/%s/default", clas, group);
+   if (is_legacy)
+     snprintf(buf2, sizeof(buf2), "elm/%s/%s/%s", clas, (group) ? group : 
"base", "default");
+   else
+     snprintf(buf2, sizeof(buf2), "efl/%s%s%s", clas,
+            ((group) ? group_sep : "\0"), ((group) ? group : "\0"));
    if (!eina_hash_find(th->cache_style_load_failed, buf2))
      {
         file = _elm_theme_group_file_find(th, buf2);
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index bd10b63a49..04031cd072 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -3049,6 +3049,10 @@ elm_widget_scroll_child_locked_y_get(const Eo *obj)
 EOLIAN static Efl_Ui_Theme_Apply
 _elm_widget_theme_object_set(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object 
*edj, const char *wname, const char *welement, const char *wstyle)
 {
+   if (eina_streq(welement, "base"))
+     welement = NULL;
+   if (eina_streq(wstyle, "default"))
+     wstyle = NULL;
    Efl_Ui_Theme_Apply ret = _elm_theme_object_set(obj, edj, wname, welement, 
wstyle);
    if (!ret)
      {
@@ -3646,6 +3650,9 @@ EAPI Eina_Bool
 elm_widget_theme_element_set(Evas_Object *obj, const char *name)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, pd, EINA_FALSE);
+   if (eina_streq(name, "base"))
+     name = NULL;
+
    return eina_stringshare_replace(&(pd->group), name);
 }
 
@@ -3676,6 +3683,9 @@ EAPI Eina_Bool
 elm_widget_theme_style_set(Evas_Object *obj, const char *name)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, pd, EINA_FALSE);
+   if (eina_streq(name, "default"))
+     name = NULL;
+
    return eina_stringshare_replace(&(pd->style), name);
 }
 
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index f8be56ec89..9f1a371799 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -270,7 +270,7 @@ _elm_cursor_obj_add(Evas_Object *obj, Elm_Cursor *cur)
    cur->obj = edje_object_add(cur->evas);
    if (!cur->obj) return EINA_FALSE;
 
-   if (!_elm_theme_object_set(obj, cur->obj, "cursor", cur->cursor_name,
+   if (!efl_ui_widget_theme_object_set(obj, cur->obj, "cursor", 
cur->cursor_name,
                              cur->style ? cur->style : "default"))
      {
         ELM_SAFE_FREE(cur->obj, evas_object_del);
@@ -740,7 +740,7 @@ _elm_widget_efl_ui_cursor_cursor_style_set(Evas_Object 
*obj, Elm_Widget_Smart_Da
      }
    else
      {
-        if (!_elm_theme_object_set(obj, cur->obj, "cursor", cur->cursor_name,
+        if (!efl_ui_widget_theme_object_set(obj, cur->obj, "cursor", 
cur->cursor_name,
                                    style))
           {
              ERR("Could not apply the theme to the cursor style=%s", style);
@@ -768,7 +768,7 @@ void
 elm_cursor_theme(Elm_Cursor *cur)
 {
    if ((!cur) || (!cur->obj)) return;
-   if (!_elm_theme_object_set(cur->owner, cur->obj, "cursor",
+   if (!efl_ui_widget_theme_object_set(cur->owner, cur->obj, "cursor",
                               cur->cursor_name, cur->style))
      ERR("Could not apply the theme to the cursor style=%s", cur->style);
    else
diff --git a/src/lib/elementary/elu_ews_wm.c b/src/lib/elementary/elu_ews_wm.c
index d8c63cfc70..9799b2acf7 100644
--- a/src/lib/elementary/elu_ews_wm.c
+++ b/src/lib/elementary/elu_ews_wm.c
@@ -170,7 +170,7 @@ _elm_ews_border_config_apply(Ecore_Evas *ee, Evas_Object 
*o, Elm_Theme *th)
    if (ecore_evas_borderless_get(ee))
      style = "borderless";
 
-   _elm_theme_set(th, o, "ews", "decoration", style ? style : "default");
+   _elm_theme_set(th, o, "ews", "decoration", style ? style : "default", 
EINA_TRUE);
 
    if (ecore_evas_shaped_get(ee) || ecore_evas_alpha_get(ee) ||
        ecore_evas_transparent_get(ee))
@@ -446,7 +446,7 @@ _elm_ews_wm_rescale(Elm_Theme *th, Eina_Bool use_theme)
           _elm_ews_wm_border_theme_set(*(void**)tp->key, tp->data, NULL);
 
         if (_ews_bg)
-          _elm_theme_set(NULL, _ews_bg, "ews", "background", "default");
+          _elm_theme_set(NULL, _ews_bg, "ews", "background", "default", 
EINA_TRUE);
      }
    else
      {
@@ -454,7 +454,7 @@ _elm_ews_wm_rescale(Elm_Theme *th, Eina_Bool use_theme)
           _elm_ews_wm_border_theme_set(*(void**)tp->key, tp->data, th);
 
         if (_ews_bg)
-          _elm_theme_set(th, _ews_bg, "ews", "background", "default");
+          _elm_theme_set(th, _ews_bg, "ews", "background", "default", 
EINA_TRUE);
      }
 
    eina_iterator_free(it);
@@ -477,7 +477,7 @@ _elm_ews_wm_init(void)
    o = edje_object_add(e);
    if (!o) return EINA_FALSE;
 
-   if (!_elm_theme_set(NULL, o, "ews", "background", "default"))
+   if (!_elm_theme_set(NULL, o, "ews", "background", "default", EINA_TRUE))
      {
         ERR("Could not set background theme, fallback to rectangle");
         evas_object_del(o);

-- 


Reply via email to