diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index d44bd3c4e7..a43145e8b9 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -94,8 +94,6 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_grid.eo \ lib/elementary/efl_ui_panes_part.eo \ lib/elementary/efl_ui_progressbar_part.eo \ - lib/elementary/elm_slider.eo \ - lib/elementary/elm_slider_part_indicator.eo \ lib/elementary/efl_ui_textpath_part.eo \ lib/elementary/efl_ui_widget_part.eo \ lib/elementary/efl_ui_widget_part_bg.eo \ @@ -385,6 +383,8 @@ lib/elementary/elm_segment_control_item_eo.c \ lib/elementary/elm_segment_control_item_eo.legacy.c \ lib/elementary/elm_separator_eo.c \ lib/elementary/elm_separator_eo.legacy.c \ +lib/elementary/elm_slider_eo.c \ +lib/elementary/elm_slider_part_indicator_eo.c \ $(NULL) elm_legacy_eo_headers = \ @@ -566,6 +566,10 @@ lib/elementary/elm_segment_control_item_eo.h \ lib/elementary/elm_segment_control_item_eo.legacy.h \ lib/elementary/elm_separator_eo.h \ lib/elementary/elm_separator_eo.legacy.h \ +lib/elementary/elm_slider_eo.h \ +lib/elementary/elm_slider_eo.legacy.h \ +lib/elementary/elm_slider_part_indicator_eo.h \ +lib/elementary/elm_slider_part_indicator_eo.legacy.h \ $(NULL) diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c index 511332909c..d5a5f04ea8 100644 --- a/src/lib/elementary/elm_slider.c +++ b/src/lib/elementary/elm_slider.c @@ -1193,7 +1193,7 @@ _elm_slider_part_indicator_visible_mode_get(const Eo *obj, void *_pd EINA_UNUSED return sd->indicator_visible_mode; } -#include "elm_slider_part_indicator.eo.c" +#include "elm_slider_part_indicator_eo.c" /* Efl.Part end */ @@ -1490,4 +1490,4 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(elm_slider) EFL_UI_SLIDER_DOWN_KNOB_OPS(elm_slider), \ EFL_UI_SLIDER_MOVE_KNOB_OPS(elm_slider) -#include "elm_slider.eo.c" +#include "elm_slider_eo.c" diff --git a/src/lib/elementary/elm_slider.eo b/src/lib/elementary/elm_slider.eo deleted file mode 100644 index ce9c87ab5b..0000000000 --- a/src/lib/elementary/elm_slider.eo +++ /dev/null @@ -1,25 +0,0 @@ -class Elm.Slider extends Efl.Ui.Slider_Interval implements Efl.Ui.Legacy, - Efl.Text, Efl.Text_Markup, Efl.Ui.Format -{ - [[Elementary slider class]] - eo_prefix: elm_obj_slider; - legacy_prefix: elm_slider; - parts { - indicator: Elm.Slider_Part_Indicator; - [[A floating indicator above the slider.]] - } - implements { - class.constructor; - Efl.Object.constructor; - Efl.Object.destructor; - Efl.Canvas.Group.group_calculate; - Efl.Ui.Widget.theme_apply; - Efl.Ui.Widget.widget_input_event_handler; - Efl.Ui.Focus.Object.on_focus_update; - Efl.Text.text { get; set; } - Efl.Text_Markup.markup { get; set; } - Efl.Ui.Format.format_cb { set; } - Efl.Ui.L10n.l10n_text { get; set; } - Efl.Part.part_get; - } -} diff --git a/src/lib/elementary/elm_slider.h b/src/lib/elementary/elm_slider.h index 5e04927026..40aab8301d 100644 --- a/src/lib/elementary/elm_slider.h +++ b/src/lib/elementary/elm_slider.h @@ -76,8 +76,8 @@ #include "elm_slider_common.h" #ifdef EFL_EO_API_SUPPORT -#include "elm_slider.eo.h" -#include "elm_slider_part_indicator.eo.h" +#include "elm_slider_eo.h" +#include "elm_slider_part_indicator_eo.h" #endif #ifndef EFL_NOLEGACY_API_SUPPORT #include "elm_slider_legacy.h" diff --git a/src/lib/elementary/elm_slider_eo.c b/src/lib/elementary/elm_slider_eo.c new file mode 100644 index 0000000000..12debeef34 --- /dev/null +++ b/src/lib/elementary/elm_slider_eo.c @@ -0,0 +1,87 @@ + +Efl_Object *_elm_slider_efl_object_constructor(Eo *obj, Elm_Slider_Data *pd); + + +void _elm_slider_efl_object_destructor(Eo *obj, Elm_Slider_Data *pd); + + +void _elm_slider_efl_canvas_group_group_calculate(Eo *obj, Elm_Slider_Data *pd); + + +Eina_Error _elm_slider_efl_ui_widget_theme_apply(Eo *obj, Elm_Slider_Data *pd); + + +Eina_Bool _elm_slider_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Slider_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source); + + +Eina_Bool _elm_slider_efl_ui_focus_object_on_focus_update(Eo *obj, Elm_Slider_Data *pd); + + +void _elm_slider_efl_text_text_set(Eo *obj, Elm_Slider_Data *pd, const char *text); + + +const char *_elm_slider_efl_text_text_get(const Eo *obj, Elm_Slider_Data *pd); + + +void _elm_slider_efl_text_markup_markup_set(Eo *obj, Elm_Slider_Data *pd, const char *markup); + + +const char *_elm_slider_efl_text_markup_markup_get(const Eo *obj, Elm_Slider_Data *pd); + + +void _elm_slider_efl_ui_format_format_cb_set(Eo *obj, Elm_Slider_Data *pd, void *func_data, Efl_Ui_Format_Func_Cb func, Eina_Free_Cb func_free_cb); + + +void _elm_slider_efl_ui_l10n_l10n_text_set(Eo *obj, Elm_Slider_Data *pd, const char *label, const char *domain); + + +const char *_elm_slider_efl_ui_l10n_l10n_text_get(const Eo *obj, Elm_Slider_Data *pd, const char **domain); + + +Efl_Object *_elm_slider_efl_part_part_get(const Eo *obj, Elm_Slider_Data *pd, const char *name); + + +static Eina_Bool +_elm_slider_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_SLIDER_EXTRA_OPS +#define ELM_SLIDER_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_slider_efl_object_constructor), + EFL_OBJECT_OP_FUNC(efl_destructor, _elm_slider_efl_object_destructor), + EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _elm_slider_efl_canvas_group_group_calculate), + EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_slider_efl_ui_widget_theme_apply), + EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_slider_efl_ui_widget_widget_input_event_handler), + EFL_OBJECT_OP_FUNC(efl_ui_focus_object_on_focus_update, _elm_slider_efl_ui_focus_object_on_focus_update), + EFL_OBJECT_OP_FUNC(efl_text_set, _elm_slider_efl_text_text_set), + EFL_OBJECT_OP_FUNC(efl_text_get, _elm_slider_efl_text_text_get), + EFL_OBJECT_OP_FUNC(efl_text_markup_set, _elm_slider_efl_text_markup_markup_set), + EFL_OBJECT_OP_FUNC(efl_text_markup_get, _elm_slider_efl_text_markup_markup_get), + EFL_OBJECT_OP_FUNC(efl_ui_format_cb_set, _elm_slider_efl_ui_format_format_cb_set), + EFL_OBJECT_OP_FUNC(efl_ui_l10n_text_set, _elm_slider_efl_ui_l10n_l10n_text_set), + EFL_OBJECT_OP_FUNC(efl_ui_l10n_text_get, _elm_slider_efl_ui_l10n_l10n_text_get), + EFL_OBJECT_OP_FUNC(efl_part_get, _elm_slider_efl_part_part_get), + ELM_SLIDER_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_slider_class_desc = { + EO_VERSION, + "Elm.Slider", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Slider_Data), + _elm_slider_class_initializer, + _elm_slider_class_constructor, + NULL +}; + +EFL_DEFINE_CLASS(elm_slider_class_get, &_elm_slider_class_desc, EFL_UI_SLIDER_INTERVAL_CLASS, EFL_UI_LEGACY_INTERFACE, EFL_TEXT_INTERFACE, EFL_TEXT_MARKUP_INTERFACE, EFL_UI_FORMAT_MIXIN, NULL); diff --git a/src/lib/elementary/elm_slider_eo.h b/src/lib/elementary/elm_slider_eo.h new file mode 100644 index 0000000000..1f95ec1770 --- /dev/null +++ b/src/lib/elementary/elm_slider_eo.h @@ -0,0 +1,24 @@ +#ifndef _ELM_SLIDER_EO_H_ +#define _ELM_SLIDER_EO_H_ + +#ifndef _ELM_SLIDER_EO_CLASS_TYPE +#define _ELM_SLIDER_EO_CLASS_TYPE + +typedef Eo Elm_Slider; + +#endif + +#ifndef _ELM_SLIDER_EO_TYPES +#define _ELM_SLIDER_EO_TYPES + + +#endif +/** Elementary slider class + * + * @ingroup Elm_Slider + */ +#define ELM_SLIDER_CLASS elm_slider_class_get() + +EWAPI const Efl_Class *elm_slider_class_get(void); + +#endif diff --git a/src/lib/elementary/elm_slider_eo.legacy.h b/src/lib/elementary/elm_slider_eo.legacy.h new file mode 100644 index 0000000000..cbca7aa864 --- /dev/null +++ b/src/lib/elementary/elm_slider_eo.legacy.h @@ -0,0 +1,17 @@ +#ifndef _ELM_SLIDER_EO_LEGACY_H_ +#define _ELM_SLIDER_EO_LEGACY_H_ + +#ifndef _ELM_SLIDER_EO_CLASS_TYPE +#define _ELM_SLIDER_EO_CLASS_TYPE + +typedef Eo Elm_Slider; + +#endif + +#ifndef _ELM_SLIDER_EO_TYPES +#define _ELM_SLIDER_EO_TYPES + + +#endif + +#endif diff --git a/src/lib/elementary/elm_slider_part_indicator.eo b/src/lib/elementary/elm_slider_part_indicator.eo deleted file mode 100644 index d899d9d5fe..0000000000 --- a/src/lib/elementary/elm_slider_part_indicator.eo +++ /dev/null @@ -1,20 +0,0 @@ -import efl_ui; - -class Elm.Slider_Part_Indicator extends Efl.Ui.Layout_Part implements Efl.Ui.Format -{ - [[Elementary slider internal part class]] - data: null; - methods { - @property visible_mode { - [[Set/Get the visible mode of indicator. - ]] - values { - mode: Efl.Ui.Slider_Indicator_Visible_Mode; [[The indicator visible mode.]] - } - } - } - implements { - Efl.Ui.Format.format_cb { set; } - Efl.Ui.Format.format_string { set; get; } - } -} diff --git a/src/lib/elementary/elm_slider_part_indicator_eo.c b/src/lib/elementary/elm_slider_part_indicator_eo.c new file mode 100644 index 0000000000..fd8372b07b --- /dev/null +++ b/src/lib/elementary/elm_slider_part_indicator_eo.c @@ -0,0 +1,53 @@ + +void _elm_slider_part_indicator_visible_mode_set(Eo *obj, void *pd, Efl_Ui_Slider_Indicator_Visible_Mode mode); + +EOAPI EFL_VOID_FUNC_BODYV(elm_slider_part_indicator_visible_mode_set, EFL_FUNC_CALL(mode), Efl_Ui_Slider_Indicator_Visible_Mode mode); + +Efl_Ui_Slider_Indicator_Visible_Mode _elm_slider_part_indicator_visible_mode_get(const Eo *obj, void *pd); + +EOAPI EFL_FUNC_BODY_CONST(elm_slider_part_indicator_visible_mode_get, Efl_Ui_Slider_Indicator_Visible_Mode, 0); + +void _elm_slider_part_indicator_efl_ui_format_format_cb_set(Eo *obj, void *pd, void *func_data, Efl_Ui_Format_Func_Cb func, Eina_Free_Cb func_free_cb); + + +void _elm_slider_part_indicator_efl_ui_format_format_string_set(Eo *obj, void *pd, const char *units); + + +const char *_elm_slider_part_indicator_efl_ui_format_format_string_get(const Eo *obj, void *pd); + + +static Eina_Bool +_elm_slider_part_indicator_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_SLIDER_PART_INDICATOR_EXTRA_OPS +#define ELM_SLIDER_PART_INDICATOR_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(elm_slider_part_indicator_visible_mode_set, _elm_slider_part_indicator_visible_mode_set), + EFL_OBJECT_OP_FUNC(elm_slider_part_indicator_visible_mode_get, _elm_slider_part_indicator_visible_mode_get), + EFL_OBJECT_OP_FUNC(efl_ui_format_cb_set, _elm_slider_part_indicator_efl_ui_format_format_cb_set), + EFL_OBJECT_OP_FUNC(efl_ui_format_string_set, _elm_slider_part_indicator_efl_ui_format_format_string_set), + EFL_OBJECT_OP_FUNC(efl_ui_format_string_get, _elm_slider_part_indicator_efl_ui_format_format_string_get), + ELM_SLIDER_PART_INDICATOR_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_slider_part_indicator_class_desc = { + EO_VERSION, + "Elm.Slider_Part_Indicator", + EFL_CLASS_TYPE_REGULAR, + 0, + _elm_slider_part_indicator_class_initializer, + NULL, + NULL +}; + +EFL_DEFINE_CLASS(elm_slider_part_indicator_class_get, &_elm_slider_part_indicator_class_desc, EFL_UI_LAYOUT_PART_CLASS, EFL_UI_FORMAT_MIXIN, NULL); diff --git a/src/lib/elementary/elm_slider_part_indicator_eo.h b/src/lib/elementary/elm_slider_part_indicator_eo.h new file mode 100644 index 0000000000..44e3bb04d0 --- /dev/null +++ b/src/lib/elementary/elm_slider_part_indicator_eo.h @@ -0,0 +1,45 @@ +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_H_ +#define _ELM_SLIDER_PART_INDICATOR_EO_H_ + +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_CLASS_TYPE +#define _ELM_SLIDER_PART_INDICATOR_EO_CLASS_TYPE + +typedef Eo Elm_Slider_Part_Indicator; + +#endif + +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_TYPES +#define _ELM_SLIDER_PART_INDICATOR_EO_TYPES + + +#endif +/** Elementary slider internal part class + * + * @ingroup Elm_Slider_Part_Indicator + */ +#define ELM_SLIDER_PART_INDICATOR_CLASS elm_slider_part_indicator_class_get() + +EWAPI const Efl_Class *elm_slider_part_indicator_class_get(void); + +/** + * @brief Set/Get the visible mode of indicator. + * + * @param[in] obj The object. + * @param[in] mode The indicator visible mode. + * + * @ingroup Elm_Slider_Part_Indicator + */ +EOAPI void elm_slider_part_indicator_visible_mode_set(Eo *obj, Efl_Ui_Slider_Indicator_Visible_Mode mode); + +/** + * @brief Set/Get the visible mode of indicator. + * + * @param[in] obj The object. + * + * @return The indicator visible mode. + * + * @ingroup Elm_Slider_Part_Indicator + */ +EOAPI Efl_Ui_Slider_Indicator_Visible_Mode elm_slider_part_indicator_visible_mode_get(const Eo *obj); + +#endif diff --git a/src/lib/elementary/elm_slider_part_indicator_eo.legacy.h b/src/lib/elementary/elm_slider_part_indicator_eo.legacy.h new file mode 100644 index 0000000000..a351cc4ab9 --- /dev/null +++ b/src/lib/elementary/elm_slider_part_indicator_eo.legacy.h @@ -0,0 +1,19 @@ +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_LEGACY_H_ +#define _ELM_SLIDER_PART_INDICATOR_EO_LEGACY_H_ + +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_CLASS_TYPE +#define _ELM_SLIDER_PART_INDICATOR_EO_CLASS_TYPE + +typedef Eo Elm_Slider_Part_Indicator; + +#endif + +#ifndef _ELM_SLIDER_PART_INDICATOR_EO_TYPES +#define _ELM_SLIDER_PART_INDICATOR_EO_TYPES + + +#endif + + + +#endif diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index c06e47a9fa..139941c062 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -139,8 +139,6 @@ pub_eo_files = [ 'efl_ui_grid.eo', 'efl_ui_panes_part.eo', 'efl_ui_progressbar_part.eo', - 'elm_slider.eo', - 'elm_slider_part_indicator.eo', 'efl_ui_textpath_part.eo', 'efl_ui_widget_part.eo', 'efl_ui_widget_part_bg.eo', @@ -791,6 +789,10 @@ elementary_pub_headers = [ 'elm_segment_control_item_eo.legacy.h', 'elm_separator_eo.h', 'elm_separator_eo.legacy.h', + 'elm_slider_eo.h', + 'elm_slider_eo.legacy.h', + 'elm_slider_part_indicator_eo.h', + 'elm_slider_part_indicator_eo.legacy.h', ] elementary_header_src = [