summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSungtaek Hong <sth253.hong@samsung.com>2017-11-29 20:21:14 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-06 17:35:21 +0900
commitb86d701aeee468a6d8f43b625cb0944dd50ffc05 (patch)
tree44e864761eca9a7801a148f439eee6b7dac8a17d
parent7e58dd5580e0ec917453f943a5730c928921b574 (diff)
downloadefl-b86d701aeee468a6d8f43b625cb0944dd50ffc05.tar.gz
efl_ui_popup: apply new theme logic for efl_ui_popup
-rw-r--r--data/elementary/themes/Makefile.am1
-rw-r--r--data/elementary/themes/default.edc1
-rw-r--r--data/elementary/themes/edc/efl/popup.edc238
-rw-r--r--data/elementary/themes/edc/elm/popup.edc229
-rw-r--r--src/lib/elementary/efl_ui_popup.c12
-rw-r--r--src/lib/elementary/efl_ui_popup_alert.c57
-rw-r--r--src/lib/elementary/efl_ui_popup_anchor.c2
7 files changed, 291 insertions, 249 deletions
diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am
index 758f7781c2..4bc6ec9987 100644
--- a/data/elementary/themes/Makefile.am
+++ b/data/elementary/themes/Makefile.am
@@ -1028,6 +1028,7 @@ 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/popup.edc \
elementary/themes/edc/efl/progress.edc \
elementary/themes/edc/efl/radio.edc \
elementary/themes/edc/efl/scroller.edc \
diff --git a/data/elementary/themes/default.edc b/data/elementary/themes/default.edc
index d3254be0e2..1bbd492217 100644
--- a/data/elementary/themes/default.edc
+++ b/data/elementary/themes/default.edc
@@ -179,6 +179,7 @@ collections {
#include "edc/efl/slider.edc"
#include "edc/efl/radio.edc"
#include "edc/efl/panes.edc"
+#include "edc/efl/popup.edc"
#include "edc/efl/video.edc"
#include "edc/efl/focus.edc"
#include "edc/efl/multibuttonentry.edc"
diff --git a/data/elementary/themes/edc/efl/popup.edc b/data/elementary/themes/edc/efl/popup.edc
new file mode 100644
index 0000000000..f617b30bfd
--- /dev/null
+++ b/data/elementary/themes/edc/efl/popup.edc
@@ -0,0 +1,238 @@
+//Efl.Ui.Popup Themes
+group { "efl/popup";
+ images.image: "rounded_square.png" COMP;
+ parts {
+ spacer { "base";
+ desc { "default";
+ rel1.offset: 10 10;
+ rel2.offset: -11 -11;
+ }
+ }
+ image { "bg";
+ desc { "default";
+ min: 100 100;
+ image.border: 15 15 15 15;
+ image.normal: "rounded_square.png";
+ }
+ }
+ swallow { "elm.swallow.content";
+ desc { "default";
+ rel.to: "base";
+ }
+ }
+ }
+}
+
+group { "efl/popup.alert";
+ images.image: "rounded_square.png" COMP;
+ parts {
+ image { "bg";
+ desc { "default";
+ min: 100 100;
+ image.border: 15 15 15 15;
+ image.normal: "rounded_square.png";
+ }
+ }
+ spacer { "base";
+ desc { "default";
+ rel.to: "bg";
+ rel1.offset: 10 10;
+ rel2.offset: -11 -11;
+ }
+ }
+ rect { "title_bg";
+ desc { "default";
+ fixed: 0 1;
+ min: 0 0;
+ rel.to: "base";
+ rel2.relative: 1.0 0.0;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ desc { "title_visible";
+ inherit: "default";
+ min: 0 20;
+ }
+ }
+ textblock { "elm.text.title";
+ scale;
+ desc { "default";
+ fixed: 1 1;
+ text {
+ style: "popup_title_style_ellipsis";
+ }
+ rel.to: "title_bg";
+ hid;
+ }
+ desc { "title_visible";
+ inherit: "default";
+ vis;
+ }
+ }
+ swallow { "buttons";
+ desc { "default";
+ fixed: 0 1;
+ rel.to: "base";
+ rel1.relative: 0.0 1.0;
+ align: 0.5 1.0;
+ min: 0 0;
+ }
+ desc { "button_visible";
+ inherit: "default";
+ min: 0 30;
+ }
+ }
+ swallow { "elm.swallow.content";
+ desc { "default";
+ rel1.to_x: "base";
+ rel1.to_y: "title_bg";
+ rel2.to_x: "base";
+ rel2.to_y: "buttons";
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "elm,title,show"; source: "elm";
+ action: STATE_SET "title_visible" 0.0;
+ target: "title_bg";
+ target: "elm.text.title";
+ }
+ program {
+ signal: "elm,buttons,show"; source: "elm";
+ action: STATE_SET "button_visible" 0.0;
+ target: "buttons";
+ }
+ }
+}
+
+group { "efl/popup.anchor";
+ inherit: "efl/popup";
+}
+
+group { "efl/popup/backwall";
+ alias: "efl/popup.alert/backwall";
+ alias: "efl/popup.anchor/backwall";
+ parts {
+ rect { "base";
+ desc { "default";
+ color: 0 0 0 64;
+ }
+ desc { "show_image";
+ inherit: "default";
+ hid;
+ }
+ }
+ swallow { "elm.swallow.image";
+ desc { "default";
+ rel.to: "base";
+ hid;
+ }
+ desc { "show_image";
+ inherit: "default";
+ vis;
+ }
+ }
+ rect { "block";
+ desc { "default";
+ rel.to: "base";
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "elm,state,image,visible"; source: "elm";
+ action: STATE_SET "show_image" 0.0;
+ target: "base";
+ target: "elm.swallow.image";
+ }
+ program {
+ signal: "elm,state,image,hidden"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "elm.swallow.image";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "block";
+ action: SIGNAL_EMIT "elm,action,clicked" "elm";
+ }
+ }
+}
+
+group { "efl/popup.alert/button_layout1";
+ parts {
+ swallow { "elm.swallow.button1";
+ }
+ }
+}
+
+group { "efl/popup.alert/button_layout2";
+ parts {
+ spacer { "div1";
+ desc { "default";
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ min: 5 5;
+ }
+ }
+ swallow { "elm.swallow.button1";
+ desc { "default";
+ rel2.to_x: "div1";
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ swallow { "elm.swallow.button2";
+ desc { "default";
+ rel1.to_x: "div1";
+ rel1.relative: 1.0 0.0;
+ }
+ }
+ }
+}
+
+group { "efl/popup.alert/button_layout3";
+ parts {
+ spacer { "div1";
+ desc { "default";
+ rel1.relative: 0.333 0.5;
+ rel2.relative: 0.333 0.5;
+ min: 5 5;
+ }
+ }
+ spacer { "div2";
+ desc { "default";
+ rel1.relative: 0.666 0.5;
+ rel2.relative: 0.666 0.5;
+ min: 5 5;
+ }
+ }
+ swallow { "elm.swallow.button1";
+ desc { "default";
+ rel2.to_x: "div1";
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ swallow { "elm.swallow.button2";
+ desc { "default";
+ rel1.to_x: "div1";
+ rel2.to_x: "div2";
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ swallow { "elm.swallow.button3";
+ desc { "default";
+ rel1.to_x: "div2";
+ rel1.relative: 1.0 0.0;
+ }
+ }
+ }
+}
+
+group { "efl/popup.alert/button";
+ inherit: "efl/button";
+} \ No newline at end of file
diff --git a/data/elementary/themes/edc/elm/popup.edc b/data/elementary/themes/edc/elm/popup.edc
index e39b5cd5c3..a4c5f07d7e 100644
--- a/data/elementary/themes/edc/elm/popup.edc
+++ b/data/elementary/themes/edc/elm/popup.edc
@@ -515,232 +515,3 @@ group { name: "elm/popup/base/subpopup";
}
}
}
-
-//Efl.Ui.Popup Themes
-group { "elm/popup/base/view";
- images.image: "rounded_square.png" COMP;
- parts {
- spacer { "base";
- desc { "default";
- rel1.offset: 10 10;
- rel2.offset: -11 -11;
- }
- }
- image { "bg";
- desc { "default";
- min: 100 100;
- image.border: 15 15 15 15;
- image.normal: "rounded_square.png";
- }
- }
- swallow { "elm.swallow.content";
- desc { "default";
- rel.to: "base";
- }
- }
- }
-}
-
-group { "elm/popup/base/alert";
- images.image: "rounded_square.png" COMP;
- parts {
- image { "bg";
- desc { "default";
- min: 100 100;
- image.border: 15 15 15 15;
- image.normal: "rounded_square.png";
- }
- }
- spacer { "base";
- desc { "default";
- rel.to: "bg";
- rel1.offset: 10 10;
- rel2.offset: -11 -11;
- }
- }
- rect { "title_bg";
- desc { "default";
- fixed: 0 1;
- min: 0 0;
- rel.to: "base";
- rel2.relative: 1.0 0.0;
- align: 0.5 0.0;
- color: 0 0 0 0;
- }
- desc { "title_visible";
- inherit: "default";
- min: 0 20;
- }
- }
- textblock { "elm.text.title";
- scale;
- desc { "default";
- fixed: 1 1;
- text {
- style: "popup_title_style_ellipsis";
- }
- rel.to: "title_bg";
- hid;
- }
- desc { "title_visible";
- inherit: "default";
- vis;
- }
- }
- swallow { "buttons";
- desc { "default";
- fixed: 0 1;
- rel.to: "base";
- rel1.relative: 0.0 1.0;
- align: 0.5 1.0;
- min: 0 0;
- }
- desc { "button_visible";
- inherit: "default";
- min: 0 30;
- }
- }
- swallow { "elm.swallow.content";
- desc { "default";
- rel1.to_x: "base";
- rel1.to_y: "title_bg";
- rel2.to_x: "base";
- rel2.to_y: "buttons";
- rel1.relative: 0.0 1.0;
- rel2.relative: 1.0 0.0;
- }
- }
- }
- programs {
- program {
- signal: "elm,title,show"; source: "elm";
- action: STATE_SET "title_visible" 0.0;
- target: "title_bg";
- target: "elm.text.title";
- }
- program {
- signal: "elm,buttons,show"; source: "elm";
- action: STATE_SET "button_visible" 0.0;
- target: "buttons";
- }
- }
-}
-
-group { "elm/popup/base/backwall";
- parts {
- rect { "base";
- desc { "default";
- color: 0 0 0 64;
- }
- desc { "show_image";
- inherit: "default";
- hid;
- }
- }
- swallow { "elm.swallow.image";
- desc { "default";
- rel.to: "base";
- hid;
- }
- desc { "show_image";
- inherit: "default";
- vis;
- }
- }
- rect { "block";
- desc { "default";
- rel.to: "base";
- color: 0 0 0 0;
- }
- }
- }
-
- programs {
- program {
- signal: "elm,state,image,visible"; source: "elm";
- action: STATE_SET "show_image" 0.0;
- target: "base";
- target: "elm.swallow.image";
- }
- program {
- signal: "elm,state,image,hidden"; source: "elm";
- action: STATE_SET "default" 0.0;
- target: "base";
- target: "elm.swallow.image";
- }
- program {
- signal: "mouse,clicked,1"; source: "block";
- action: SIGNAL_EMIT "elm,action,clicked" "elm";
- }
- }
-}
-
-group { "elm/popup/base/button1";
- parts {
- swallow { "elm.swallow.button1";
- }
- }
-}
-
-group { "elm/popup/base/button2";
- parts {
- spacer { "div1";
- desc { "default";
- rel1.relative: 0.5 0.5;
- rel2.relative: 0.5 0.5;
- min: 5 5;
- }
- }
- swallow { "elm.swallow.button1";
- desc { "default";
- rel2.to_x: "div1";
- rel2.relative: 0.0 1.0;
- }
- }
- swallow { "elm.swallow.button2";
- desc { "default";
- rel1.to_x: "div1";
- rel1.relative: 1.0 0.0;
- }
- }
- }
-}
-
-group { "elm/popup/base/button3";
- parts {
- spacer { "div1";
- desc { "default";
- rel1.relative: 0.333 0.5;
- rel2.relative: 0.333 0.5;
- min: 5 5;
- }
- }
- spacer { "div2";
- desc { "default";
- rel1.relative: 0.666 0.5;
- rel2.relative: 0.666 0.5;
- min: 5 5;
- }
- }
- swallow { "elm.swallow.button1";
- desc { "default";
- rel2.to_x: "div1";
- rel2.relative: 0.0 1.0;
- }
- }
- swallow { "elm.swallow.button2";
- desc { "default";
- rel1.to_x: "div1";
- rel2.to_x: "div2";
- rel1.relative: 1.0 0.0;
- rel2.relative: 0.0 1.0;
- }
- }
- swallow { "elm.swallow.button3";
- desc { "default";
- rel1.to_x: "div2";
- rel1.relative: 1.0 0.0;
- }
- }
- }
-}
diff --git a/src/lib/elementary/efl_ui_popup.c b/src/lib/elementary/efl_ui_popup.c
index 7f8fbe133b..34d6732595 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -14,6 +14,8 @@
#define MY_CLASS EFL_UI_POPUP_CLASS
#define MY_CLASS_NAME "Efl.Ui.Popup"
+static const char PART_NAME_BACKWALL[] = "backwall";
+
static void
_backwall_clicked_cb(void *data,
Eo *o EINA_UNUSED,
@@ -178,16 +180,22 @@ _efl_ui_popup_efl_object_constructor(Eo *obj, Efl_Ui_Popup_Data *pd)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+ if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "popup");
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
- elm_layout_theme_set(obj, "popup", "base", "view");
+ if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+ elm_widget_theme_klass_get(obj),
+ elm_widget_theme_element_get(obj),
+ elm_widget_theme_style_get(obj)))
+ CRI("Failed to set layout!");
pd->backwall = edje_object_add(evas_object_evas_get(obj));
- elm_widget_theme_object_set(obj, pd->backwall, "popup", "base", "backwall");
+ elm_widget_element_update(obj, pd->backwall, PART_NAME_BACKWALL);
evas_object_smart_member_add(pd->backwall, obj);
evas_object_stack_below(pd->backwall, wd->resize_obj);
diff --git a/src/lib/elementary/efl_ui_popup_alert.c b/src/lib/elementary/efl_ui_popup_alert.c
index 13e708f50b..39f7592f13 100644
--- a/src/lib/elementary/efl_ui_popup_alert.c
+++ b/src/lib/elementary/efl_ui_popup_alert.c
@@ -12,6 +12,12 @@
#define MY_CLASS EFL_UI_POPUP_ALERT_CLASS
#define MY_CLASS_NAME "Efl.Ui.Popup.Alert"
+static const char PART_NAME_BUTTON[] = "button";
+static const char PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_COUNT][15] =
+ {"button_layout1",
+ "button_layout2",
+ "button_layout3"};
+
EOLIAN static void
_efl_ui_popup_alert_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Data *pd EINA_UNUSED)
{
@@ -127,8 +133,9 @@ _efl_ui_popup_alert_button_set(Eo *obj, Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
efl_del(pd->button[type]);
pd->button[type] = NULL;
}
- pd->button[type] = elm_button_add(obj);
- elm_object_text_set(pd->button[type], text);
+ pd->button[type] = efl_add(EFL_UI_BUTTON_CLASS, obj,
+ elm_widget_element_update(obj, efl_added, PART_NAME_BUTTON),
+ efl_text_set(efl_added, text));
switch (type)
{
@@ -164,8 +171,10 @@ _efl_ui_popup_alert_button_set(Eo *obj, Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
&& pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]
&& pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3], "popup", "base", "button3");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_3]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER]);
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3], "elm.swallow.button2"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]);
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_3], "elm.swallow.button3"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]);
@@ -174,8 +183,10 @@ _efl_ui_popup_alert_button_set(Eo *obj, Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]
&& pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "popup", "base", "button2");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_2]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]);
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button2"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]);
@@ -183,8 +194,10 @@ _efl_ui_popup_alert_button_set(Eo *obj, Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]
&& pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "popup", "base", "button2");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_2]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER]);
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button2"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]);
@@ -192,30 +205,38 @@ _efl_ui_popup_alert_button_set(Eo *obj, Efl_Ui_Popup_Alert_Data *pd, Efl_Ui_Popu
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]
&& pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "popup", "base", "button2");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_2]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER]);
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2], "elm.swallow.button2"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_2]);
}
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "popup", "base", "button1");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_1]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_POSITIVE]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]);
}
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "popup", "base", "button1");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_1]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]);
}
else if (pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER])
{
- pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1] = elm_layout_add(obj);
- elm_layout_theme_set(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "popup", "base", "button1");
+ pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]
+ = efl_add(EFL_UI_LAYOUT_CLASS, obj,
+ elm_widget_element_update(obj, efl_added,
+ PART_NAME_BUTTON_LAYOUT[EFL_UI_POPUP_ALERT_BUTTON_1]));
efl_content_set(efl_part(pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1], "elm.swallow.button1"), pd->button[EFL_UI_POPUP_ALERT_BUTTON_USER]);
efl_content_set(efl_part(obj, "buttons"), pd->button_layout[EFL_UI_POPUP_ALERT_BUTTON_1]);
}
@@ -230,13 +251,13 @@ _efl_ui_popup_alert_efl_object_constructor(Eo *obj,
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+ if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "popup.alert");
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
elm_widget_sub_object_parent_add(obj);
- elm_layout_theme_set(efl_super(obj, MY_CLASS), "popup", "base", "alert");
-
return obj;
}
diff --git a/src/lib/elementary/efl_ui_popup_anchor.c b/src/lib/elementary/efl_ui_popup_anchor.c
index d1b5672743..2fb571a0b2 100644
--- a/src/lib/elementary/efl_ui_popup_anchor.c
+++ b/src/lib/elementary/efl_ui_popup_anchor.c
@@ -352,6 +352,8 @@ _efl_ui_popup_anchor_efl_object_constructor(Eo *obj,
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+ if (!elm_widget_theme_klass_get(obj))
+ elm_widget_theme_klass_set(obj, "popup.anchor");
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);