From 1503fb53599602cda091d9bb7843de7056e95e1b Mon Sep 17 00:00:00 2001 From: Sungtaek Hong Date: Fri, 8 Dec 2017 14:52:08 +0900 Subject: [PATCH] efl_ui_spin: apply new theme set policy Summary: Applied new theme group name. Moved logic in finalize to constructor. Test Plan: Run elementary_test->Efl.Ui.Spin, Efl.Ui.Spin.Button, Part_Background Reviewers: jpeg, woohyun, CHAN Reviewed By: CHAN Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5592 --- data/elementary/themes/Makefile.am | 4 +- data/elementary/themes/default.edc | 4 +- .../themes/edc/{elm => efl}/spin.edc | 18 +- .../themes/edc/{elm => efl}/spin_button.edc | 182 +++++++++--------- src/bin/elementary/test_part_bg.c | 3 +- src/lib/elementary/efl_ui_spin.c | 31 +-- src/lib/elementary/efl_ui_spin.eo | 2 - src/lib/elementary/efl_ui_spin_button.c | 63 +++--- src/lib/elementary/efl_ui_spin_button.eo | 2 +- 9 files changed, 143 insertions(+), 166 deletions(-) rename data/elementary/themes/edc/{elm => efl}/spin.edc (51%) rename data/elementary/themes/edc/{elm => efl}/spin_button.edc (52%) diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index 4bc6ec9987..40ff6973c8 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -145,8 +145,6 @@ elementary/themes/edc/elm/separator.edc \ elementary/themes/edc/elm/slider.edc \ elementary/themes/edc/elm/slideshow.edc \ elementary/themes/edc/elm/spinner.edc \ -elementary/themes/edc/elm/spin.edc \ -elementary/themes/edc/elm/spin_button.edc \ elementary/themes/edc/elm/textpath.edc \ elementary/themes/edc/elm/thumb.edc \ elementary/themes/edc/elm/toolbar.edc \ @@ -1033,6 +1031,8 @@ 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/spin.edc \ +elementary/themes/edc/efl/spin_button.edc \ elementary/themes/edc/efl/text.edc \ elementary/themes/edc/efl/textpath.edc \ elementary/themes/edc/efl/tooltip.edc \ diff --git a/data/elementary/themes/default.edc b/data/elementary/themes/default.edc index 1bbd492217..119f42eeba 100644 --- a/data/elementary/themes/default.edc +++ b/data/elementary/themes/default.edc @@ -66,8 +66,6 @@ collections { #include "edc/elm/border.edc" // XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh? #include "edc/elm/spinner.edc" -#include "edc/elm/spin.edc" -#include "edc/elm/spin_button.edc" #include "edc/elm/menu.edc" #include "edc/elm/clock.edc" #include "edc/elm/gengrid.edc" @@ -187,6 +185,8 @@ collections { #include "edc/efl/photocam.edc" #include "edc/efl/progress.edc" #include "edc/efl/border.edc" +#include "edc/efl/spin.edc" +#include "edc/efl/spin_button.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" diff --git a/data/elementary/themes/edc/elm/spin.edc b/data/elementary/themes/edc/efl/spin.edc similarity index 51% rename from data/elementary/themes/edc/elm/spin.edc rename to data/elementary/themes/edc/efl/spin.edc index 77cf917fd8..a794080dae 100644 --- a/data/elementary/themes/edc/elm/spin.edc +++ b/data/elementary/themes/edc/efl/spin.edc @@ -1,17 +1,15 @@ -group { name: "elm/spin/base/default"; +group { "efl/spin"; parts { - part { name: "bg"; - type: RECT; - scale: 1; - description { state: "default" 0.0; + rect { "bg"; + scale; + desc { "default"; color: 0 0 0 0; } } - part { name: "elm.text"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; + text { "elm.text"; + nomouse; + scale; + desc { "default"; color: FN_COL_DEFAULT; text { font: FNBD; diff --git a/data/elementary/themes/edc/elm/spin_button.edc b/data/elementary/themes/edc/efl/spin_button.edc similarity index 52% rename from data/elementary/themes/edc/elm/spin_button.edc rename to data/elementary/themes/edc/efl/spin_button.edc index 5b53382691..40e9492a2e 100644 --- a/data/elementary/themes/edc/elm/spin_button.edc +++ b/data/elementary/themes/edc/efl/spin_button.edc @@ -1,21 +1,19 @@ -group { name: "elm/spin_button/base/default"; +group { "efl/spin_button"; images.image: "vert_bar_inset.png" COMP; parts { - part { name: "clip"; type: RECT; - description { state: "default" 0.0; - rel1.to: "elm.swallow.text_button"; - rel2.to: "elm.swallow.text_button"; + rect { "clip"; + desc { "default"; + rel.to: "elm.swallow.text_button"; } } - part { name: "bg"; - type: RECT; - scale: 1; - description { state: "default" 0.0; + rect { "bg"; + scale; + desc { "default"; color_class: "spinner_bg"; } } - part { name: "inset"; mouse_events: 0; - description { state: "default" 0.0; + image { "inset"; nomouse; + desc { "default"; rel1.offset: 0 1; rel2.offset: -1 -2; image.normal: "vert_bar_inset.png"; @@ -24,39 +22,36 @@ group { name: "elm/spin_button/base/default"; fill.smooth: 0; } } - part { name: "access"; - type: RECT; - repeat_events: 1; - description { state: "default" 0.0; + rect { "access"; + repeat; + desc { "default"; fixed: 1 1; color: 0 0 0 0; rel1.to: "inset"; rel2.to: "inset"; - visible: 0; + hid; } - description { state: "active" 0.0; - inherit: "default" 0.0; - visible: 1; + desc { "active"; + inherit: "default"; + vis; } } - part { name: "elm.swallow.entry"; - type: SWALLOW; - clip_to: "clip"; - description { state: "default" 0.0; + swallow { "elm.swallow.entry"; + clip: "clip"; + desc { "default"; fixed: 1 1; rel1.to: "elm.swallow.text_button"; rel2.to: "elm.swallow.text_button"; - visible: 0; + hid; } - description { state: "active" 0.0; - inherit: "default" 0.0; - visible: 1; + desc { "active"; + inherit: "default"; + vis; } } - part { name: "elm.swallow.dec_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; + swallow { "elm.swallow.dec_button"; + scale; + desc { "default"; fixed: 1 0; rel1.to: "inset"; rel1.offset: 1 1; @@ -68,10 +63,9 @@ group { name: "elm/spin_button/base/default"; aspect: 1.0 1.0; aspect_preference: VERTICAL; } } - part { name: "elm.swallow.inc_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; + swallow { "elm.swallow.inc_button"; + scale; + desc { "default"; fixed: 1 0; rel1.to: "inset"; rel1.offset: 1 1; @@ -83,11 +77,10 @@ group { name: "elm/spin_button/base/default"; aspect: 1.0 1.0; aspect_preference: VERTICAL; } } - part { name: "elm.swallow.text_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; - visible: 1; + swallow { "elm.swallow.text_button"; + scale; + desc { "default"; + vis; rel1.to_y: "inset"; rel1.to_x: "elm.swallow.dec_button"; rel1.relative: 1.0 0.0; @@ -97,84 +90,82 @@ group { name: "elm/spin_button/base/default"; rel2.relative: 0.0 1.0; rel2.offset: -2 -2; } - description { state: "inactive" 0.0; - inherit: "default" 0.0; - visible: 0; + desc { "inactive"; + inherit: "default"; + hid; } } - part { name: "disabler"; - type: RECT; - repeat_events: 0; - mouse_events: 0; - description { state: "default" 0.0; + rect { "disabler"; + norepeat; + nomouse; + desc { "default"; color: 0 0 0 0; - visible: 0; + hid; } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - visible: 1; + desc { "disabled"; + inherit: "default"; + vis; } } } programs { - program { name: "entry_active"; + program { "entry_active"; signal: "elm,state,entry,active"; source: "elm"; - action: STATE_SET "active" 0.0; + action: STATE_SET "active"; target: "elm.swallow.entry"; } - program { name: "entry_inactive"; + program { "entry_inactive"; signal: "elm,state,entry,inactive"; source: "elm"; - action: STATE_SET "default" 0.0; + action: STATE_SET "default"; target: "elm.swallow.entry"; } - program { name: "text_button_active"; + program { "text_button_active"; signal: "elm,state,button,active"; source: "elm"; - action: STATE_SET "default" 0.0; + action: STATE_SET "default"; target: "elm.swallow.text_button"; } - program { name: "text_button_inactive"; + program { "text_button_inactive"; signal: "elm,state,button,inactive"; source: "elm"; - action: STATE_SET "inactive" 0.0; + action: STATE_SET "inactive"; target: "elm.swallow.text_button"; } - program { name: "access_activate"; + program { "access_activate"; signal: "elm,state,access,active"; source: "elm"; - action: STATE_SET "active" 0.0; + action: STATE_SET "active"; target: "access"; } - program { name: "access_inactivate"; + program { "access_inactivate"; signal: "elm,state,access,inactive"; source: "elm"; - action: STATE_SET "default" 0.0; + action: STATE_SET "default"; target: "access"; } - program { name: "disable"; + program { "disable"; signal: "elm,state,disabled"; source: "elm"; - action: STATE_SET "disabled" 0.0; + action: STATE_SET "disabled"; target: "disabler"; } - program { name: "enable"; + program { "enable"; signal: "elm,state,enabled"; source: "elm"; - action: STATE_SET "default" 0.0; + action: STATE_SET "default"; target: "disabler"; } } } -group { name: "elm/spin_button/base/vertical"; - inherit: "elm/spin_button/base/default"; +group { "efl/spin_button:vertical"; + inherit: "efl/spin_button"; parts { - part { name: "elm.swallow.inc_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; + swallow { "elm.swallow.inc_button"; + scale; + desc { "default"; rel1.to: "inset"; rel1.offset: 1 1; rel1.relative: 1.0 0.0; @@ -183,11 +174,10 @@ group { name: "elm/spin_button/base/vertical"; align: 1.0 0.5; } } - part { name: "elm.swallow.text_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; - visible: 1; + swallow { "elm.swallow.text_button"; + scale; + desc { "default"; + vis; rel1.to_y: "inset"; rel1.to_x: "elm.swallow.dec_button"; rel1.relative: 1.0 0.0; @@ -197,15 +187,14 @@ group { name: "elm/spin_button/base/vertical"; rel2.relative: 0.0 1.0; rel2.offset: -2 -2; } - description { state: "active" 0.0; - inherit: "default" 0.0; - visible: 0; + desc { "active"; + inherit: "default"; + hid; } } - part { name: "elm.swallow.dec_button"; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; + swallow { "elm.swallow.dec_button"; + scale; + desc { "default"; rel1.to: "inset"; rel1.offset: 1 1; rel2.to: "inset"; @@ -216,3 +205,24 @@ group { name: "elm/spin_button/base/vertical"; } } } + +group { "efl/spin_button/inc_button"; + inherit: "elm/button/base/spinner/increase/default"; +} + +group { "efl/spin_button/dec_button"; + inherit: "elm/button/base/spinner/decrease/default"; +} + +group { "efl/spin_button/text_button"; + inherit: "elm/button/base/spinner/default"; + alias: "efl/spin_button/text_button:vertical"; +} + +group { "efl/spin_button/inc_button:vertical"; + inherit: "elm/button/base/spinner/increase/vertical"; +} + +group { "efl/spin_button/dec_button:vertical"; + inherit: "elm/button/base/spinner/decrease/vertical"; +} \ No newline at end of file diff --git a/src/bin/elementary/test_part_bg.c b/src/bin/elementary/test_part_bg.c index 26ba4dc7eb..c3b391b673 100644 --- a/src/bin/elementary/test_part_bg.c +++ b/src/bin/elementary/test_part_bg.c @@ -3,7 +3,7 @@ #endif #include -#define MAX_NUM_OF_CONTENT 18 +#define MAX_NUM_OF_CONTENT 19 const Efl_Class *content_class[MAX_NUM_OF_CONTENT]; @@ -141,6 +141,7 @@ test_part_background(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void content_class[15] = EFL_UI_IMAGE_ZOOMABLE_CLASS; content_class[16] = EFL_UI_NSTATE_CLASS; content_class[17] = EFL_UI_SPIN_CLASS; + content_class[18] = EFL_UI_SPIN_BUTTON_CLASS; win = efl_add(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Widget Part Background"), diff --git a/src/lib/elementary/efl_ui_spin.c b/src/lib/elementary/efl_ui_spin.c index dadb404041..d24d20d309 100644 --- a/src/lib/elementary/efl_ui_spin.c +++ b/src/lib/elementary/efl_ui_spin.c @@ -150,19 +150,6 @@ _efl_ui_spin_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Spin_Data *_pd EINA_UNUSED) evas_object_size_hint_max_set(obj, -1, -1); } -EOLIAN static Efl_Ui_Theme_Apply -_efl_ui_spin_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED) -{ - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_FAILED); - - if (!elm_layout_theme_set(obj, "spin", "base", elm_widget_style_get(obj))) - CRI("Failed to set layout!"); - - elm_layout_sizing_eval(obj); - - return EFL_UI_THEME_APPLY_SUCCESS; -} - EOLIAN static Eina_Bool _efl_ui_spin_elm_widget_widget_event(Eo *obj, Efl_Ui_Spin_Data *sd, const Efl_Event *eo_event, Evas_Object *src EINA_UNUSED) { @@ -187,6 +174,10 @@ _efl_ui_spin_elm_widget_widget_event(Eo *obj, Efl_Ui_Spin_Data *sd, const Efl_Ev EOLIAN static Eo * _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd) { + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); + + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "spin"); obj = efl_constructor(efl_super(obj, MY_CLASS)); elm_widget_sub_object_parent_add(obj); @@ -194,8 +185,10 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd) sd->val_max = 100.0; sd->step = 1.0; - if (!elm_layout_theme_set(obj, "spin", "base", - elm_widget_style_get(obj))) + 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!"); _label_write(obj); @@ -206,14 +199,6 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd) return obj; } -EOLIAN static Eo * -_efl_ui_spin_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED) -{ - obj = efl_finalize(efl_super(obj, MY_CLASS)); - - return obj; -} - EOLIAN static void _efl_ui_spin_efl_object_destructor(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED) { diff --git a/src/lib/elementary/efl_ui_spin.eo b/src/lib/elementary/efl_ui_spin.eo index fae80d1e40..f350cb1413 100644 --- a/src/lib/elementary/efl_ui_spin.eo +++ b/src/lib/elementary/efl_ui_spin.eo @@ -10,9 +10,7 @@ class Efl.Ui.Spin (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Format, ]] implements { Efl.Object.constructor; - Efl.Object.finalize; Efl.Object.destructor; - Elm.Widget.theme_apply; Elm.Widget.widget_event; Efl.Ui.Range.range_min_max { get; set; } Efl.Ui.Range.range_step { get; set; } diff --git a/src/lib/elementary/efl_ui_spin_button.c b/src/lib/elementary/efl_ui_spin_button.c index eaf47435d1..abc49eda93 100644 --- a/src/lib/elementary/efl_ui_spin_button.c +++ b/src/lib/elementary/efl_ui_spin_button.c @@ -20,6 +20,10 @@ #define EFL_UI_SPIN_BUTTON_DELAY_CHANGE_TIME 0.2 +static const char PART_NAME_DEC_BUTTON[] = "dec_button"; +static const char PART_NAME_TEXT_BUTTON[] = "text_button"; +static const char PART_NAME_INC_BUTTON[] = "inc_button"; + static void _inc_dec_button_clicked_cb(void *data, const Efl_Event *event); static void @@ -101,13 +105,15 @@ _label_write(Evas_Object *obj) Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS); if (pd->templates) - elm_layout_text_set(sd->text_button, "elm.text", pd->templates); + { + efl_text_set(sd->text_button, pd->templates); + } else { char buf[1024]; snprintf(buf, sizeof(buf), "%.0f", pd->val); - elm_layout_text_set(sd->text_button, "elm.text", buf); + efl_text_set(sd->text_button, buf); } } @@ -151,9 +157,7 @@ _entry_hide(Evas_Object *obj) Efl_Ui_Spin_Button_Data *sd = efl_data_scope_get(obj, MY_CLASS); elm_layout_signal_emit(obj, "elm,state,button,active", "elm"); - evas_object_show(sd->text_button); elm_layout_signal_emit(obj, "elm,state,entry,inactive", "elm"); - evas_object_hide(sd->ent); if (sd->entry_visible && !evas_focus_state_get(evas_object_evas_get(obj))) sd->entry_reactivate = EINA_TRUE; @@ -337,7 +341,6 @@ _entry_show_cb(void *data, elm_entry_select_all(obj); sd->entry_visible = EINA_TRUE; elm_layout_signal_emit(data, "elm,state,button,inactive", "elm"); - evas_object_hide(sd->text_button); } static void @@ -376,7 +379,6 @@ _toggle_entry(Evas_Object *obj) _entry_focus_changed_cb, obj); sd->entry_visible = EINA_TRUE; elm_layout_signal_emit(obj, "elm,state,entry,active", "elm"); - evas_object_show(sd->ent); { Eina_List *items = NULL; @@ -617,7 +619,7 @@ _access_info_cb(void *data, Evas_Object *obj EINA_UNUSED) if (sd->entry_visible) txt = elm_object_text_get(sd->ent); else - txt = elm_object_text_get(sd->text_button); + txt = efl_text_get(sd->text_button); if (txt) return strdup(txt); @@ -717,13 +719,14 @@ _access_spinner_register(Evas_Object *obj, Eina_Bool is_access) EOLIAN static Efl_Ui_Theme_Apply _efl_ui_spin_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED) { - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_FAILED); + Efl_Ui_Theme_Apply int_ret = EFL_UI_THEME_APPLY_FAILED; - if (!elm_layout_theme_set(obj, "spin_button", "base", elm_widget_style_get(obj))) - CRI("Failed to set layout!"); + int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS)); + if (!int_ret) return EFL_UI_THEME_APPLY_FAILED; if (sd->ent) { + //elm_widget_element_update(obj, sd->ent, PART_NAME_TEXT); Eina_Strbuf *buf = eina_strbuf_new(); eina_strbuf_append_printf(buf, "spin_button/%s", elm_widget_style_get(obj)); elm_widget_style_set(sd->ent, eina_strbuf_string_get(buf)); @@ -731,56 +734,40 @@ _efl_ui_spin_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Button_Data *sd } if (sd->inc_button) - { - Eina_Strbuf *buf = eina_strbuf_new(); - eina_strbuf_append_printf(buf, "spin_button/increase/%s", elm_widget_style_get(obj)); - elm_widget_style_set(sd->inc_button, eina_strbuf_string_get(buf)); - eina_strbuf_free(buf); - } + elm_widget_element_update(obj, sd->inc_button, PART_NAME_INC_BUTTON); if (sd->text_button) - { - Eina_Strbuf *buf = eina_strbuf_new(); - eina_strbuf_append_printf(buf, "spin_button/%s", elm_widget_style_get(obj)); - elm_widget_style_set(sd->text_button, eina_strbuf_string_get(buf)); - eina_strbuf_free(buf); - } + elm_widget_element_update(obj, sd->text_button, PART_NAME_TEXT_BUTTON); if (sd->dec_button) - { - Eina_Strbuf *buf = eina_strbuf_new(); - eina_strbuf_append_printf(buf, "spin_button/decrease/%s", elm_widget_style_get(obj)); - elm_widget_style_set(sd->dec_button, eina_strbuf_string_get(buf)); - eina_strbuf_free(buf); - } + elm_widget_element_update(obj, sd->dec_button, PART_NAME_DEC_BUTTON); if (_elm_config->access_mode) _access_spinner_register(obj, EINA_TRUE); + _label_write(obj); elm_layout_sizing_eval(obj); return EFL_UI_THEME_APPLY_SUCCESS; } EOLIAN static Eo * -_efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd) +_efl_ui_spin_button_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Button_Data *sd) { - obj = efl_finalize(efl_super(obj, MY_CLASS)); + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "spin_button"); + obj = efl_constructor(efl_super(obj, MY_CLASS)); elm_widget_sub_object_parent_add(obj); sd->first_interval = 0.85; - if (!elm_layout_theme_set(obj, "spin_button", "base", - elm_widget_style_get(obj))) - CRI("Failed to set layout!"); - sd->inc_button = efl_add(EFL_UI_BUTTON_CLASS, obj, - efl_ui_widget_style_set(efl_added, "spinner/increase/default"), + elm_widget_element_update(obj, efl_added, PART_NAME_INC_BUTTON), efl_event_callback_array_add(efl_added, _inc_dec_button_cb(), obj), efl_content_set(efl_part(obj, "elm.swallow.inc_button"), efl_added)); sd->text_button = efl_add(EFL_UI_BUTTON_CLASS, obj, - efl_ui_widget_style_set(efl_added, "spinner/default"), + elm_widget_element_update(obj, efl_added, PART_NAME_TEXT_BUTTON), efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _text_button_clicked_cb, obj), efl_event_callback_add(efl_added, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_CHANGED, @@ -788,7 +775,7 @@ _efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd) efl_content_set(efl_part(obj, "elm.swallow.text_button"), efl_added)); sd->dec_button = efl_add(EFL_UI_BUTTON_CLASS, obj, - efl_ui_widget_style_set(efl_added, "spinner/decrease/default"), + elm_widget_element_update(obj, efl_added, PART_NAME_DEC_BUTTON), efl_event_callback_array_add(efl_added, _inc_dec_button_cb(), obj), efl_content_set(efl_part(obj, "elm.swallow.dec_button"), efl_added)); @@ -805,10 +792,8 @@ _efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd) elm_layout_signal_callback_add (obj, "elm,action,entry,toggle", "*", _entry_toggle_cb, NULL); - _label_write(obj); elm_widget_can_focus_set(obj, EINA_TRUE); - elm_layout_sizing_eval(obj); efl_access_role_set(obj, EFL_ACCESS_ROLE_SPIN_BUTTON); return obj; diff --git a/src/lib/elementary/efl_ui_spin_button.eo b/src/lib/elementary/efl_ui_spin_button.eo index 06c604e574..e12841d838 100644 --- a/src/lib/elementary/efl_ui_spin_button.eo +++ b/src/lib/elementary/efl_ui_spin_button.eo @@ -63,7 +63,7 @@ class Efl.Ui.Spin_Button (Efl.Ui.Spin, Efl.Ui.Focus.Composition, } } implements { - Efl.Object.finalize; + Efl.Object.constructor; Elm.Widget.theme_apply; Elm.Widget.widget_event; Elm.Widget.on_focus_update;