ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=85d4a618a7cefad115cd569d45a3383c6dba56a2
commit 85d4a618a7cefad115cd569d45a3383c6dba56a2 Author: Amitesh Singh <amitesh...@samsung.com> Date: Tue Oct 17 15:45:50 2017 +0900 slider/progressbar: implement format_string of Efl.Ui.Format remove the unit_format from Efl.Ui.Range. --- src/bin/elementary/test_ui_slider_interval.c | 10 ++-- src/lib/efl/interfaces/efl_ui_format.eo | 6 +-- src/lib/efl/interfaces/efl_ui_range.eo | 21 --------- src/lib/elementary/efl_ui_progressbar.c | 8 ++-- src/lib/elementary/efl_ui_progressbar.eo | 4 +- src/lib/elementary/efl_ui_slider.c | 70 ++++++++++++++-------------- src/lib/elementary/efl_ui_slider.eo | 4 +- 7 files changed, 50 insertions(+), 73 deletions(-) diff --git a/src/bin/elementary/test_ui_slider_interval.c b/src/bin/elementary/test_ui_slider_interval.c index cee02ff657..518528e813 100644 --- a/src/bin/elementary/test_ui_slider_interval.c +++ b/src/bin/elementary/test_ui_slider_interval.c @@ -52,7 +52,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, efl_text_set(efl_added, "Manual step"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_range_unit_format_set(efl_added, "%1.1f units"), + efl_ui_format_string_set(efl_added, "%1.1f units"), efl_ui_slider_indicator_format_set(efl_added, "%1.1f"), efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9), efl_ui_slider_step_set(efl_added, step), @@ -61,7 +61,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_range_unit_format_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_added, "%1.0f units"), efl_ui_slider_indicator_format_set(efl_added, "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_slider_interval_value_set(efl_added, 50, 100), @@ -76,7 +76,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx, efl_text_set(efl_added, "Vertical"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_range_unit_format_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_added, "%1.0f units"), efl_ui_slider_indicator_format_set(efl_added, "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_slider_interval_value_set(efl_added, 50, 100), @@ -87,7 +87,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx, efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_range_unit_format_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_added, "%1.0f units"), efl_ui_slider_indicator_format_set(efl_added, "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_slider_interval_value_set(efl_added, 50, 100), @@ -100,7 +100,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_text_set(efl_added, "Limited (100-500)"), efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(260, 0)), - efl_ui_range_unit_format_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_added, "%1.0f units"), efl_ui_slider_indicator_format_set(efl_added, "%1.0f"), efl_ui_range_min_max_set(efl_added, 0, 600), efl_ui_slider_interval_value_set(efl_added, 100, 500), diff --git a/src/lib/efl/interfaces/efl_ui_format.eo b/src/lib/efl/interfaces/efl_ui_format.eo index 4d02d30a7e..38d51c18bd 100644 --- a/src/lib/efl/interfaces/efl_ui_format.eo +++ b/src/lib/efl/interfaces/efl_ui_format.eo @@ -12,7 +12,7 @@ interface Efl.Ui.Format { [[interface class for format_func]] methods { - @property format_cb @protected { + @property format_cb { set { [[Set the format function pointer to format the string. ]] @@ -21,7 +21,7 @@ interface Efl.Ui.Format func: Efl.Ui.Format_Func_Cb @nullable; [[The format function callback]] } } - @property format_string @protected { + @property format_string { [[Control the format string for a given units label If $NULL is passed on $format, it will make $obj's units @@ -34,8 +34,6 @@ interface Efl.Ui.Format Note: The default format string is an integer percentage, as in $"%.0f %%". ]] - set { - } values { units: string @nullable; [[The format string for $obj's units label.]] } diff --git a/src/lib/efl/interfaces/efl_ui_range.eo b/src/lib/efl/interfaces/efl_ui_range.eo index 6b9edd8a17..a13ce57c5b 100644 --- a/src/lib/efl/interfaces/efl_ui_range.eo +++ b/src/lib/efl/interfaces/efl_ui_range.eo @@ -46,26 +46,5 @@ interface Efl.Ui.Range max: double; [[The maximum value.]] } } - @property range_unit_format { - [[Control the format string for a given range widget's units label - - If $NULL is passed on $format, it will make $obj's units - area to be hidden completely. If not, it'll set the <b>format - string</b> for the units label's text. The units label is - provided a floating point value, so the units text is up display - at most one floating point value. Note that the units label is - optional. Use a format string such as "%1.2f meters" for - example. - - Note: The default format string for a range is an integer - percentage, as in $"%.0f %%".]] - set { - } - get { - } - values { - units: string @nullable; [[The format string for $obj's units label]] - } - } } } diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c index 4b5d163318..30ee503dfa 100644 --- a/src/lib/elementary/efl_ui_progressbar.c +++ b/src/lib/elementary/efl_ui_progressbar.c @@ -473,7 +473,7 @@ _efl_ui_progressbar_efl_ui_range_range_value_get(Eo *obj EINA_UNUSED, Efl_Ui_Pro } EOLIAN static void -_efl_ui_progressbar_efl_ui_range_range_unit_format_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *units) +_efl_ui_progressbar_efl_ui_format_format_string_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *units) { const char *sig; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -488,7 +488,7 @@ _efl_ui_progressbar_efl_ui_range_range_unit_format_set(Eo *obj, Efl_Ui_Progressb } EOLIAN static const char * -_efl_ui_progressbar_efl_ui_range_range_unit_format_get(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd) +_efl_ui_progressbar_efl_ui_format_format_string_get(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd) { return sd->units; } @@ -542,13 +542,13 @@ elm_progressbar_span_size_get(const Evas_Object *obj) EAPI void elm_progressbar_unit_format_set(Evas_Object *obj, const char *units) { - efl_ui_range_unit_format_set(obj, units); + efl_ui_format_string_set(obj, units); } EAPI const char * elm_progressbar_unit_format_get(const Evas_Object *obj) { - return efl_ui_range_unit_format_get(obj); + return efl_ui_format_string_get(obj); } EAPI void diff --git a/src/lib/elementary/efl_ui_progressbar.eo b/src/lib/elementary/efl_ui_progressbar.eo index 54502b3824..da65e80fc0 100644 --- a/src/lib/elementary/efl_ui_progressbar.eo +++ b/src/lib/elementary/efl_ui_progressbar.eo @@ -1,4 +1,4 @@ -class Efl.Ui.Progressbar (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction) +class Efl.Ui.Progressbar (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Format, Efl.Ui.Direction) { [[Elementary progressbar class]] methods { @@ -53,8 +53,8 @@ class Efl.Ui.Progressbar (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction) Elm.Widget.widget_sub_object_add; Elm.Widget.widget_sub_object_del; Efl.Ui.Range.range_value { get; set; } - Efl.Ui.Range.range_unit_format { get; set; } Efl.Ui.Direction.direction { get; set; } + Efl.Ui.Format.format_string { get; set; } Efl.Part.part; } events { diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c index 89265330c9..050c0c65d7 100644 --- a/src/lib/elementary/efl_ui_slider.c +++ b/src/lib/elementary/efl_ui_slider.c @@ -1233,39 +1233,6 @@ _efl_ui_slider_efl_ui_direction_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider } EOLIAN static void -_efl_ui_slider_efl_ui_range_range_unit_format_set(Eo *obj, Efl_Ui_Slider_Data *sd, const char *units) -{ - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); - - eina_stringshare_replace(&sd->units, units); - if (units) - { - elm_layout_signal_emit(obj, "elm,state,units,visible", "elm"); - edje_object_message_signal_process(wd->resize_obj); - if (sd->popup) - edje_object_signal_emit(sd->popup, "elm,state,units,visible", "elm"); - if (sd->popup2) - edje_object_signal_emit(sd->popup2, "elm,state,units,visible", "elm"); - } - else - { - elm_layout_signal_emit(obj, "elm,state,units,hidden", "elm"); - edje_object_message_signal_process(wd->resize_obj); - if (sd->popup) - edje_object_signal_emit(sd->popup, "elm,state,units,hidden", "elm"); - if (sd->popup2) - edje_object_signal_emit(sd->popup2, "elm,state,units,hidden", "elm"); - } - evas_object_smart_changed(obj); -} - -EOLIAN static const char * -_efl_ui_slider_efl_ui_range_range_unit_format_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd) -{ - return sd->units; -} - -EOLIAN static void _efl_ui_slider_indicator_format_set(Eo *obj, Efl_Ui_Slider_Data *sd, const char *indicator) { eina_stringshare_replace(&sd->indicator, indicator); @@ -1462,6 +1429,39 @@ _efl_ui_slider_efl_access_value_increment_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider return sd->step; } +EOLIAN static void +_efl_ui_slider_efl_ui_format_format_string_set(Eo *obj, Efl_Ui_Slider_Data *sd, const char *units) +{ + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + + eina_stringshare_replace(&sd->units, units); + if (units) + { + elm_layout_signal_emit(obj, "elm,state,units,visible", "elm"); + edje_object_message_signal_process(wd->resize_obj); + if (sd->popup) + edje_object_signal_emit(sd->popup, "elm,state,units,visible", "elm"); + if (sd->popup2) + edje_object_signal_emit(sd->popup2, "elm,state,units,visible", "elm"); + } + else + { + elm_layout_signal_emit(obj, "elm,state,units,hidden", "elm"); + edje_object_message_signal_process(wd->resize_obj); + if (sd->popup) + edje_object_signal_emit(sd->popup, "elm,state,units,hidden", "elm"); + if (sd->popup2) + edje_object_signal_emit(sd->popup2, "elm,state,units,hidden", "elm"); + } + evas_object_smart_changed(obj); +} + +EOLIAN static const char * +_efl_ui_slider_efl_ui_format_format_string_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd) +{ + return sd->units; +} + EOLIAN const Elm_Atspi_Action * _efl_ui_slider_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *pd EINA_UNUSED) { @@ -1534,13 +1534,13 @@ elm_slider_span_size_get(const Evas_Object *obj) EAPI void elm_slider_unit_format_set(Evas_Object *obj, const char *units) { - efl_ui_range_unit_format_set(obj, units); + efl_ui_format_string_set(obj, units); } EAPI const char * elm_slider_unit_format_get(const Evas_Object *obj) { - return efl_ui_range_unit_format_get(obj); + return efl_ui_format_string_get(obj); } EAPI void diff --git a/src/lib/elementary/efl_ui_slider.eo b/src/lib/elementary/efl_ui_slider.eo index aaf724b75c..04e1fcfe3b 100644 --- a/src/lib/elementary/efl_ui_slider.eo +++ b/src/lib/elementary/efl_ui_slider.eo @@ -2,7 +2,7 @@ type slider_func_type: __undefined_type; [[Elementary slider function type]] type slider_freefunc_type: __undefined_type; [[Elementary slider free function type]] class Efl.Ui.Slider (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction, - Efl.Access.Value, Efl.Text, Efl.Text.Markup, + Efl.Access.Value, Efl.Text, Efl.Text.Markup, Efl.Ui.Format, Efl.Ui.Translatable, Elm.Interface.Atspi_Widget_Action) { [[Elementary slider class]] @@ -120,7 +120,6 @@ class Efl.Ui.Slider (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction, Elm.Widget.on_focus_update; Elm.Widget.widget_event; Efl.Ui.Range.range_value { get; set; } - Efl.Ui.Range.range_unit_format { get; set; } Efl.Ui.Range.range_min_max {get; set; } Efl.Ui.Direction.direction { get; set; } Efl.Access.Value.value_and_text { get; set; } @@ -129,6 +128,7 @@ class Efl.Ui.Slider (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction, Elm.Interface.Atspi_Widget_Action.elm_actions { get; } Efl.Text.text { get; set; } Efl.Text.Markup.markup { get; set; } + Efl.Ui.Format.format_string { get; set; } Efl.Ui.Translatable.translatable_text { get; set; } } events { --