ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=111caabf107bc032bf7432c152fd492a5295c6b0
commit 111caabf107bc032bf7432c152fd492a5295c6b0 Author: Amitesh Singh <[email protected]> Date: Thu Oct 26 21:28:20 2017 +0900 Efl.Ui.Progressbar: move legacy funcs at bottom of file --- src/lib/elementary/efl_ui_progressbar.c | 254 ++++++++++++++++---------------- 1 file changed, 128 insertions(+), 126 deletions(-) diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c index 32589fd32e..1b2042a7bc 100644 --- a/src/lib/elementary/efl_ui_progressbar.c +++ b/src/lib/elementary/efl_ui_progressbar.c @@ -342,16 +342,6 @@ _efl_ui_progressbar_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Progressbar_Data efl_canvas_group_del(efl_super(obj, MY_CLASS)); } -EAPI Evas_Object * -elm_progressbar_add(Evas_Object *parent) -{ - EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); - Eo *obj = efl_add(MY_CLASS, parent, efl_canvas_object_legacy_ctor(efl_added)); - elm_progressbar_unit_format_set(obj, "%.0f %%"); - - return obj; -} - EOLIAN static Eo * _efl_ui_progressbar_efl_object_constructor(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED) { @@ -520,100 +510,109 @@ _efl_ui_progressbar_pulse_get(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd) return (sd->pulse_state && sd->pulse); } -EAPI void -elm_progressbar_value_set(Evas_Object *obj, double val) +EOLIAN static void +_efl_ui_progressbar_class_constructor(Efl_Class *klass) { - efl_ui_range_value_set(obj, val); + evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); } -EAPI double -elm_progressbar_value_get(const Evas_Object *obj) +/* Efl.Part begin */ + +EOLIAN static Eo * +_efl_ui_progressbar_efl_part_part(const Eo *obj, Efl_Ui_Progressbar_Data *sd EINA_UNUSED, const char *part) { - return efl_ui_range_value_get(obj); + EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); + + // Progress bars are dragable types + if (edje_object_part_drag_dir_get(wd->resize_obj, part) != EFL_UI_DRAG_DIR_NONE) + return ELM_PART_IMPLEMENT(EFL_UI_PROGRESSBAR_PART_CLASS, obj, part); + + return efl_part(efl_super(obj, MY_CLASS), part); } -EAPI void -elm_progressbar_span_size_set(Evas_Object *obj, Evas_Coord size) +EOLIAN static void +_efl_ui_progressbar_part_efl_ui_range_range_value_set(Eo *obj, void *_pd EINA_UNUSED, double val) { - EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd); - _progressbar_span_size_set(obj, sd, size); + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS); + + _progressbar_part_value_set(pd->obj, sd, pd->part, val); } -EAPI Evas_Coord -elm_progressbar_span_size_get(const Evas_Object *obj) +EOLIAN static double +_efl_ui_progressbar_part_efl_ui_range_range_value_get(Eo *obj, void *_pd EINA_UNUSED) { - EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd, 0); - return sd->size; + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS); + + return _progressbar_part_value_get(sd, pd->part); } -EAPI void -elm_progressbar_unit_format_set(Evas_Object *obj, const char *units) -{ - EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd); +#include "efl_ui_progressbar_part.eo.c" - sd->is_legacy_format = EINA_TRUE; +/* Efl.Part end */ - efl_ui_format_string_set(obj, units); -} +/* Internal EO APIs and hidden overrides */ -EAPI const char * -elm_progressbar_unit_format_get(const Evas_Object *obj) -{ - return efl_ui_format_string_get(obj); -} +ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(efl_ui_progressbar) +ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_progressbar) -typedef struct -{ - progressbar_func_type format_cb; - progressbar_freefunc_type format_free_cb; -} Pb_Format_Wrapper_Data; +#define EFL_UI_PROGRESSBAR_EXTRA_OPS \ + ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_progressbar), \ + ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_progressbar), \ + ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_progressbar), \ + EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_progressbar) -static void -_format_legacy_to_format_eo_cb(void *data, Eina_Strbuf *str, const Eina_Value value) +#include "efl_ui_progressbar.eo.c" + +/* Legacy APIs */ + +EAPI Evas_Object * +elm_progressbar_add(Evas_Object *parent) { - Pb_Format_Wrapper_Data *pfwd = data; - char *buf = NULL; - double val = 0; - const Eina_Value_Type *type = eina_value_type_get(&value); + EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); + Eo *obj = efl_add(MY_CLASS, parent, efl_canvas_object_legacy_ctor(efl_added)); + elm_progressbar_unit_format_set(obj, "%.0f %%"); - if (type == EINA_VALUE_TYPE_DOUBLE) - eina_value_get(&value, &val); + return obj; +} - if (pfwd->format_cb) - buf = pfwd->format_cb(val); - if (buf) - eina_strbuf_append(str, buf); - if (pfwd->format_free_cb) pfwd->format_free_cb(buf); +EAPI void +elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse) +{ + efl_ui_progressbar_pulse_mode_set(obj, pulse); } -static void -_format_legacy_to_format_eo_free_cb(void *data) +EAPI Eina_Bool +elm_progressbar_pulse_get(const Evas_Object *obj) { - Pb_Format_Wrapper_Data *pfwd = data; - free(pfwd); + return efl_ui_progressbar_pulse_mode_get(obj); } EAPI void -elm_progressbar_unit_format_function_set(Evas_Object *obj, progressbar_func_type func, progressbar_freefunc_type free_func) +elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state) { - Pb_Format_Wrapper_Data *pfwd = malloc(sizeof(Pb_Format_Wrapper_Data)); - - pfwd->format_cb = func; - pfwd->format_free_cb = free_func; + efl_ui_progressbar_pulse_set(obj, state); +} - efl_ui_format_cb_set(obj, pfwd, _format_legacy_to_format_eo_cb, - _format_legacy_to_format_eo_free_cb); +EAPI Eina_Bool +elm_progressbar_is_pulsing_get(const Evas_Object *obj) +{ + return efl_ui_progressbar_pulse_get(obj); } EAPI void -elm_progressbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) +elm_progressbar_part_value_set(Evas_Object *obj, const char *part, double val) { - Efl_Ui_Dir dir; - EFL_UI_PROGRESSBAR_DATA_GET(obj, sd); - - dir = _direction_get(horizontal, _is_inverted(sd->dir)); + if (EINA_DBL_EQ(efl_ui_range_value_get(efl_part(obj, part)), val)) return; + efl_ui_range_value_set(efl_part(obj, part), val); +} - efl_ui_direction_set(obj, dir); +EAPI double +elm_progressbar_part_value_get(const Evas_Object *obj, const char *part) +{ + return efl_ui_range_value_get(efl_part(obj, part)); } EAPI Eina_Bool @@ -645,95 +644,98 @@ elm_progressbar_inverted_get(const Evas_Object *obj) return _is_inverted(dir); } -EOLIAN static void -_efl_ui_progressbar_class_constructor(Efl_Class *klass) +EAPI void +elm_progressbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) { - evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); + Efl_Ui_Dir dir; + EFL_UI_PROGRESSBAR_DATA_GET(obj, sd); + + dir = _direction_get(horizontal, _is_inverted(sd->dir)); + + efl_ui_direction_set(obj, dir); } -/* Efl.Part begin */ +typedef struct +{ + progressbar_func_type format_cb; + progressbar_freefunc_type format_free_cb; +} Pb_Format_Wrapper_Data; -EOLIAN static Eo * -_efl_ui_progressbar_efl_part_part(const Eo *obj, Efl_Ui_Progressbar_Data *sd EINA_UNUSED, const char *part) +static void +_format_legacy_to_format_eo_cb(void *data, Eina_Strbuf *str, const Eina_Value value) { - EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); + Pb_Format_Wrapper_Data *pfwd = data; + char *buf = NULL; + double val = 0; + const Eina_Value_Type *type = eina_value_type_get(&value); - // Progress bars are dragable types - if (edje_object_part_drag_dir_get(wd->resize_obj, part) != EFL_UI_DRAG_DIR_NONE) - return ELM_PART_IMPLEMENT(EFL_UI_PROGRESSBAR_PART_CLASS, obj, part); + if (type == EINA_VALUE_TYPE_DOUBLE) + eina_value_get(&value, &val); - return efl_part(efl_super(obj, MY_CLASS), part); + if (pfwd->format_cb) + buf = pfwd->format_cb(val); + if (buf) + eina_strbuf_append(str, buf); + if (pfwd->format_free_cb) pfwd->format_free_cb(buf); } -EOLIAN static void -_efl_ui_progressbar_part_efl_ui_range_range_value_set(Eo *obj, void *_pd EINA_UNUSED, double val) +static void +_format_legacy_to_format_eo_free_cb(void *data) { - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS); - - _progressbar_part_value_set(pd->obj, sd, pd->part, val); + Pb_Format_Wrapper_Data *pfwd = data; + free(pfwd); } -EOLIAN static double -_efl_ui_progressbar_part_efl_ui_range_range_value_get(Eo *obj, void *_pd EINA_UNUSED) +EAPI void +elm_progressbar_unit_format_function_set(Evas_Object *obj, progressbar_func_type func, progressbar_freefunc_type free_func) { - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS); - - return _progressbar_part_value_get(sd, pd->part); -} - -#include "efl_ui_progressbar_part.eo.c" - -/* Efl.Part end */ - -/* Internal EO APIs and hidden overrides */ - -ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(efl_ui_progressbar) -ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(efl_ui_progressbar) + Pb_Format_Wrapper_Data *pfwd = malloc(sizeof(Pb_Format_Wrapper_Data)); -#define EFL_UI_PROGRESSBAR_EXTRA_OPS \ - ELM_LAYOUT_CONTENT_ALIASES_OPS(efl_ui_progressbar), \ - ELM_LAYOUT_TEXT_ALIASES_OPS(efl_ui_progressbar), \ - ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_progressbar), \ - EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_progressbar) + pfwd->format_cb = func; + pfwd->format_free_cb = free_func; -#include "efl_ui_progressbar.eo.c" + efl_ui_format_cb_set(obj, pfwd, _format_legacy_to_format_eo_cb, + _format_legacy_to_format_eo_free_cb); +} EAPI void -elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse) +elm_progressbar_span_size_set(Evas_Object *obj, Evas_Coord size) { - efl_ui_progressbar_pulse_mode_set(obj, pulse); + EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd); + _progressbar_span_size_set(obj, sd, size); } -EAPI Eina_Bool -elm_progressbar_pulse_get(const Evas_Object *obj) +EAPI Evas_Coord +elm_progressbar_span_size_get(const Evas_Object *obj) { - return efl_ui_progressbar_pulse_mode_get(obj); + EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd, 0); + return sd->size; } EAPI void -elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state) +elm_progressbar_unit_format_set(Evas_Object *obj, const char *units) { - efl_ui_progressbar_pulse_set(obj, state); + EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd); + + sd->is_legacy_format = EINA_TRUE; + + efl_ui_format_string_set(obj, units); } -EAPI Eina_Bool -elm_progressbar_is_pulsing_get(const Evas_Object *obj) +EAPI const char * +elm_progressbar_unit_format_get(const Evas_Object *obj) { - return efl_ui_progressbar_pulse_get(obj); + return efl_ui_format_string_get(obj); } EAPI void -elm_progressbar_part_value_set(Evas_Object *obj, const char *part, double val) +elm_progressbar_value_set(Evas_Object *obj, double val) { - if (EINA_DBL_EQ(efl_ui_range_value_get(efl_part(obj, part)), val)) return; - efl_ui_range_value_set(efl_part(obj, part), val); + efl_ui_range_value_set(obj, val); } EAPI double -elm_progressbar_part_value_get(const Evas_Object *obj, const char *part) +elm_progressbar_value_get(const Evas_Object *obj) { - return efl_ui_range_value_get(efl_part(obj, part)); + return efl_ui_range_value_get(obj); } --
