diff options
author | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2018-04-20 11:48:19 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2018-04-20 14:07:35 +0900 |
commit | 0bebd097b57f09fdc090533f4e946697ecbe8646 (patch) | |
tree | f941961a6876cd9314c502e473ab639f7728dd43 | |
parent | fd85423ae3eb2b9925daf84f164d1bf903ebfed7 (diff) | |
download | efl-0bebd097b57f09fdc090533f4e946697ecbe8646.tar.gz |
elc_multibuttonentry: Fix to make multibuttonentry to be legacy only
To make multibuttonentry to be legacy only, inappropriate efl ui
interface usages are removed in multibuttonentry.
-rw-r--r-- | data/elementary/themes/Makefile.am | 1 | ||||
-rw-r--r-- | data/elementary/themes/default.edc | 1 | ||||
-rw-r--r-- | data/elementary/themes/edc/efl/multibuttonentry.edc | 341 | ||||
-rw-r--r-- | src/lib/elementary/Efl_Ui.h | 7 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_multibuttonentry_legacy.eo | 9 | ||||
-rw-r--r-- | src/lib/elementary/elc_multibuttonentry.c | 39 | ||||
-rw-r--r-- | src/lib/elementary/elm_multibuttonentry.eo | 2 |
7 files changed, 28 insertions, 372 deletions
diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index 565e05046e..fc285c696c 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -1024,7 +1024,6 @@ elementary/themes/edc/efl/focus.edc \ elementary/themes/edc/efl/frame.edc \ elementary/themes/edc/efl/navigation_bar.edc \ elementary/themes/edc/efl/navigation_layout.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 \ diff --git a/data/elementary/themes/default.edc b/data/elementary/themes/default.edc index a677be44d5..d7c823e36d 100644 --- a/data/elementary/themes/default.edc +++ b/data/elementary/themes/default.edc @@ -184,7 +184,6 @@ collections { #include "edc/efl/popup.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" diff --git a/data/elementary/themes/edc/efl/multibuttonentry.edc b/data/elementary/themes/edc/efl/multibuttonentry.edc deleted file mode 100644 index 5996a6c8a0..0000000000 --- a/data/elementary/themes/edc/efl/multibuttonentry.edc +++ /dev/null @@ -1,341 +0,0 @@ -group { "efl/multibuttonentry"; - data.item: "horizontal_pad" 0; - data.item: "vertical_pad" 0; - data.item: "closed_height" 0; - parts { - rect { "bg"; - scale; - desc { "default"; - color_class: "multibuttonentry_bg"; - } - } - swallow { "elm.swallow.background"; - scale; - desc { "default"; - rel.to: "bg"; - } - } - swallow { "box.swallow"; - desc { "default"; - rel.to: "bg"; - } - } - } -} - -group { "efl/multibuttonentry/label"; - parts { - text { "elm.text"; - nomouse; - effect: GLOW; - scale; - desc { "default"; - color: FN_COL_HIGHLIGHT; - color_class: "multibuttonentry_label"; - text { font: FNBD; size: 10; - min: 1 1; - ellipsis: -1; - align: 0.5 0.5; - text_class: "multibuttonentry_label"; - } - rel1.offset: 2 2; - rel2.offset: -5 -5; - } - } - } -} - -group { "efl/multibuttonentry/guidetext"; - parts { - text { "elm.text"; - scale; - effect: SHADOW BOTTOM; - desc { "default"; - rel1.offset: 2 2; - rel2.offset: -4 -4; - color: FN_COL_DISABLE; - text { font: FNBD; size: 10; - min: 0 1; - align: 0.0 0.5; - } - } - } - } -} - -group { "efl/multibuttonentry/btn"; - images.image: "button_normal.png" COMP; - images.image: "button_clicked.png" COMP; - images.image: "sym_close_dark_normal.png" COMP; - images.image: "sym_close_dark_selected.png" COMP; - images.image: "win_glow.png" COMP; - styles { - style { name: "efl_multibuttonentry_textblock_style"; - base: "font="FN" align=0.5 font_size=10 color=#ffffffff style=shadow,bottom shadow_color=#00000080 text_class=multibuttonentry_item ellipsis=1.0"; - tag: "br" "\n"; - tag: "ps" "ps"; - tag: "hilight" "+ font="FNBD; - tag: "b" "+ font="FNBD; - tag: "tab" "\t"; - } - } - - script { - public disabled = 0; - } - - parts { - rect { "bg"; - desc { "default"; - color_class: "multibuttonentry_item_bg"; - } - desc { "pressed"; - color_class: "multibuttonentry_item_bg_selected"; - } - } - image { "base"; - desc { "default"; - image.normal: "button_normal.png"; - image.border: 4 4 3 5; - image.middle: SOLID; - rel1.offset: -1 0; - rel2.offset: 0 1; - fill.smooth: 0; - } - desc { "pressed"; - inherit: "default"; - image.normal: "button_clicked.png"; - image.border: 5 5 4 6; - } - } - image { "glow"; - nomouse; - desc { "default"; - image.normal: "win_glow.png"; - image.border: 9 9 9 9; - image.middle: 0; - rel1.offset: -2 -3; - rel1.to: "base"; - rel2.offset: 1 0; - rel2.to: "base"; - fill.smooth: 0; - color: 255 255 255 0; - hid; - } - desc { "focused"; - inherit: "default"; - color: 255 255 255 255; - vis; - } - desc { "unfocused"; - inherit: "default"; - } - } - image { "close"; - nomouse; - desc { "default"; - image.normal: "sym_close_dark_normal.png"; - rel1.to: "del"; - rel2.to: "del"; - min: 15 15; - max: 15 15; - fixed: 1 1; - } - desc { "clicked"; - inherit: "default"; - image.normal: "sym_close_dark_selected.png"; - } - } - rect { "del"; - scale; - desc { "default"; - fixed: 1 0; - min: 4 4; - align: 1.0 0.5; - aspect: 1.0 1.0; aspect_preference: VERTICAL; - rel1.relative: 1.0 0.0; - rel1.to: "base"; - rel1.offset: -6 5; - rel2.offset: -6 -7; - rel2.to: "base"; - color: 0 0 0 0; - } - } - textblock { "elm.btn.text"; - nomouse; - scale; - desc { "default"; - color_class: "multibuttonentry_item_text"; - text { style: "efl_multibuttonentry_textblock_style"; - min: 1 1; - ellipsis: -1; - text_class: "multibuttonentry_item_text"; - } - hid; - rel1.offset: 5 5; - rel1.to: "base"; - rel2.to_x: "del"; - rel2.to_y: "base"; - rel2.relative: 0.0 1.0; - rel2.offset: -3 -7; - } - } - textblock { "text"; - nomouse; - scale; - desc { "default"; - color_class: "multibuttonentry_item_text"; - text { style: "efl_multibuttonentry_textblock_style"; - text_source: "elm.btn.text"; - min: 0 1; - align: 0.0 0.5; - text_class: "multibuttonentry_item_text"; - } - align: 0.0 0.5; - rel1.offset: 5 5; - rel1.to: "base"; - rel2.to_x: "del"; - rel2.to_y: "base"; - rel2.relative: 0.0 1.0; - rel2.offset: -3 -7; - } - desc { "pressed"; - inherit: "default"; - color_class: "multibuttonentry_item_text_pressed"; - text { - text_class: "multibuttonentry_item_text_pressed"; - } - } - desc { "disabled"; - inherit: "default"; - color_class: "multibuttonentry_item_text_disabled"; - text { - text_class: "multibuttonentry_item_text_disabled"; - } - } - } - } - programs { - program { - signal: "mouse,clicked,1"; - source: "base"; - script { - if (get_int(disabled) == 0) { - emit("clicked", ""); - } - } - } - program { - signal: "elm,state,default"; - source: "elm"; - action: STATE_SET "default"; - target: "glow"; - } - program { - signal: "elm,state,focused"; - source: "elm"; - action: STATE_SET "focused"; - target: "glow"; - } - program { - signal: "elm,state,enabled"; - source: "elm"; - script { - set_state(PART:"text", "default", 0.0); - set_int(disabled , 0); - } - } - program { - signal: "elm,state,disabled"; - source: "elm"; - script { - new st[31]; - new Float: vl; - get_state(PART:"glow", st, 30, vl); - if (!strcmp(st, "focused")) - set_state(PART:"glow", "default", 0.0); - set_state(PART:"text", "disabled", 0.0); - set_int(disabled , 1); - } - } - program { - signal: "elm,state,unfocused"; - source: "elm"; - action: STATE_SET "unfocused"; - target: "glow"; - } - program { - signal: "mouse,down,1"; - source: "base"; - script { - if (get_int(disabled) == 0) { - set_state(PART:"base", "pressed", 0.0); - set_state(PART:"bg", "pressed", 0.0); - set_state(PART:"text", "pressed", 0.0); - } - } - } - program { - signal: "mouse,up,1"; - source: "base"; - script { - if (get_int(disabled) == 0) { - set_state(PART:"base", "default", 0.0); - set_state(PART:"bg", "default", 0.0); - set_state(PART:"text", "default", 0.0); - } - } - } - program { - signal: "mouse,clicked,1"; - source: "del"; - action: SIGNAL_EMIT "elm,deleted" "elm"; - } - program { - signal: "mouse,down,1"; - source: "del"; - action: STATE_SET "clicked"; - target: "close"; - } - program { - signal: "mouse,up,1"; - source: "del"; - action: STATE_SET "default"; - target: "close"; - } - } -} - -group { "efl/multibuttonentry/closedbutton"; - styles { - style { name: "textblock_style_efl_multibuttonentry_default"; - base: "font="FNBD" font_size=10 text_class=multibuttonentry_closed style=glow color=#3399ffff glow_color=#3399ff18 align=center glow2_color=#3399ff12 wrap=char"; - tag: "br" "\n"; - tag: "ps" "ps"; - tag: "hilight" "+ font="FNBD; - tag: "b" "+ font="FNBD; - tag: "tab" "\t"; - } - } - parts { - rect { "bg"; - desc { "default"; - color: 0 0 0 0; - } - } - textblock { "elm.text"; - nomouse; - scale; - desc { "default"; - rel1.offset: 2 2; - rel1.to: "bg"; - rel2.offset: -3 -3; - rel2.to: "bg"; - text { style: "textblock_style_multibuttonentry_default"; - min: 1 1; - ellipsis: -1; - } - } - } - } -} diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 0202af98e7..f232a3bb1c 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -206,13 +206,6 @@ typedef Eo Efl_Ui_Focus_Manager; # include <efl_ui_nstate.h> # include <efl_ui_calendar.h> # include <efl_ui_button_eo.h> - -/* FIXME: Multibuttonentry must not use elm_widget_item */ -# warning Efl.Ui.Multibutton is not available yet without Elementary.h -# if 0 -# include <efl_ui_multibuttonentry.h> -# endif - # include <efl_ui_slider_eo.h> # include <efl_ui_flip_eo.h> # include <efl_ui_frame_eo.h> diff --git a/src/lib/elementary/efl_ui_multibuttonentry_legacy.eo b/src/lib/elementary/efl_ui_multibuttonentry_legacy.eo deleted file mode 100644 index e649ed6c70..0000000000 --- a/src/lib/elementary/efl_ui_multibuttonentry_legacy.eo +++ /dev/null @@ -1,9 +0,0 @@ -class Efl.Ui.Multibuttonentry_Legacy (Efl.Ui.Multibuttonentry, Efl.Ui.Legacy) -{ - [[Elementary multibuttonentry class]] - data: null; - implements { - class.constructor; - Efl.Object.constructor; - } -} diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c index 25cf78256d..e30578e650 100644 --- a/src/lib/elementary/elc_multibuttonentry.c +++ b/src/lib/elementary/elc_multibuttonentry.c @@ -115,13 +115,20 @@ _elm_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, Elm_Multibuttonentry_Da { ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item); if (VIEW(item)) - if (!elm_widget_element_update(obj, VIEW(item), PART_NAME_BUTTON)) + if (!elm_layout_theme_set(VIEW(item), "multibuttonentry", + PART_NAME_BUTTON, elm_widget_style_get(obj))) CRI("Failed to set layout!"); } - elm_widget_element_update(obj, sd->label, PART_NAME_LABEL); - elm_widget_element_update(obj, sd->end, PART_NAME_CLOSED_BUTTON); - elm_widget_element_update(obj, sd->guide_text, PART_NAME_GUIDE_TEXT); + elm_widget_theme_object_set + (obj, sd->label, "multibuttonentry", PART_NAME_LABEL, + elm_widget_style_get(obj)); + elm_widget_theme_object_set + (obj, sd->end, "multibuttonentry", PART_NAME_CLOSED_BUTTON, + elm_widget_style_get(obj)); + elm_widget_theme_object_set + (obj,sd->guide_text, "multibuttonentry", PART_NAME_GUIDE_TEXT, + elm_widget_style_get(obj)); elm_layout_sizing_eval(obj); @@ -748,13 +755,14 @@ _item_new(Elm_Multibuttonentry_Data *sd, efl_access_type_set(VIEW(item), EFL_ACCESS_TYPE_DISABLED); - if (!elm_widget_element_update(obj, VIEW(item), PART_NAME_BUTTON)) + if (!elm_layout_theme_set(VIEW(item), "multibuttonentry", PART_NAME_BUTTON, + elm_widget_style_get(obj))) CRI("Failed to set layout!"); elm_object_part_text_set(VIEW(item), "elm.btn.text", str); //entry is cleared when text is made to button - efl_text_set(sd->entry, ""); + elm_object_text_set(sd->entry, ""); elm_layout_signal_callback_add (VIEW(item), "mouse,clicked,1", "*", _on_item_clicked, EO_OBJ(item)); @@ -1055,7 +1063,7 @@ _entry_focus_changed_cb(void *data, const Efl_Event *event) { const char *str; - str = efl_text_get(sd->entry); + str = elm_object_text_get(sd->entry); if (str && str[0]) _item_new(sd, str, MULTIBUTTONENTRY_POS_END, NULL, NULL, NULL); } @@ -1228,7 +1236,9 @@ _guide_text_set(Evas_Object *obj, if (sd->guide_text) { - elm_widget_element_update(obj, sd->guide_text, PART_NAME_GUIDE_TEXT); + elm_widget_theme_object_set(obj, sd->guide_text, "multibuttonentry", + PART_NAME_GUIDE_TEXT, + elm_widget_style_get(obj)); evas_object_size_hint_weight_set (sd->guide_text, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set @@ -1425,7 +1435,9 @@ _view_init(Evas_Object *obj, Elm_Multibuttonentry_Data *sd) sd->label = edje_object_add(evas_object_evas_get(obj)); if (!sd->label) return; - elm_widget_element_update(obj, sd->label, PART_NAME_LABEL); + elm_widget_theme_object_set + (obj, sd->label, "multibuttonentry", PART_NAME_LABEL, + elm_widget_style_get(obj)); // ACCESS if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) @@ -1451,7 +1463,9 @@ _view_init(Evas_Object *obj, Elm_Multibuttonentry_Data *sd) sd->end = edje_object_add(evas_object_evas_get(obj)); if (!sd->end) return; - elm_widget_element_update(obj, sd->end, PART_NAME_CLOSED_BUTTON); + elm_widget_theme_object_set + (obj, sd->end, "multibuttonentry", PART_NAME_CLOSED_BUTTON, + elm_widget_style_get(obj)); edje_object_size_min_calc(sd->end, &button_min_width, &button_min_height); elm_coords_finger_size_adjust(1, &button_min_width, 1, &button_min_height); @@ -1472,7 +1486,7 @@ _elm_multibuttonentry_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSE if (label) _guide_text_set(obj, label); } else - efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label); + elm_object_part_text_set(obj, part, label); } EOLIAN static const char* @@ -1489,7 +1503,7 @@ _elm_multibuttonentry_text_get(Eo *obj, Elm_Multibuttonentry_Data *sd, const cha text = sd->guide_text_str; } else - text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part)); + text = elm_object_part_text_get(obj, part); return text; } @@ -1667,6 +1681,7 @@ EOLIAN static Eo * _elm_multibuttonentry_efl_object_constructor(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED) { obj = efl_constructor(efl_super(obj, MY_CLASS)); + efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL); diff --git a/src/lib/elementary/elm_multibuttonentry.eo b/src/lib/elementary/elm_multibuttonentry.eo index 1385c1941f..edde230d27 100644 --- a/src/lib/elementary/elm_multibuttonentry.eo +++ b/src/lib/elementary/elm_multibuttonentry.eo @@ -1,7 +1,7 @@ type Elm_Multibuttonentry_Item_Filter_Cb: __undefined_type; [[Elementary multibuttonentry item filter callback type]] type Elm_Multibuttonentry_Format_Cb: __undefined_type; [[Elementary multibuttonentry format callback type]] -class Elm.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable) +class Elm.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Legacy) { [[Elementary multibuttonentry class]] legacy_prefix: elm_multibuttonentry; |