#include "elm_widget_progressbar.h"
#include "elm_widget_layout.h"
-EAPI Eo_Op ELM_OBJ_PROGRESSBAR_BASE_ID = EO_NOOP;
-
#define MY_CLASS ELM_OBJ_PROGRESSBAR_CLASS
#define MY_CLASS_NAME "Elm_Progressbar"
}
}
-static void
-_elm_progressbar_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_progressbar_elm_layout_sizing_eval(Eo *obj, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
Evas_Coord minw = -1, minh = -1;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
/* FIXME: replicated from elm_layout just because progressbar's icon
* spot is elm.swallow.content, not elm.swallow.icon. Fix that
* whenever we can changed the theme API */
-static void
-_elm_progressbar_smart_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_progressbar_elm_widget_sub_object_del(Eo *obj, Elm_Progressbar_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
- Evas_Object *sobj = va_arg(*list, Evas_Object *);
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret = EINA_FALSE;
-
eo_do_super(obj, MY_CLASS, elm_obj_widget_sub_object_del(sobj, &int_ret));
- if(!int_ret) return;
+ if(!int_ret) return EINA_FALSE;
_icon_signal_emit(obj);
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
/* FIXME: replicated from elm_layout just because progressbar's icon
* spot is elm.swallow.content, not elm.swallow.icon. Fix that
* whenever we can changed the theme API */
-static void
-_elm_progressbar_smart_content_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_progressbar_elm_container_content_set(Eo *obj, Elm_Progressbar_Data *_pd EINA_UNUSED, const char *part, Evas_Object *content)
{
- const char *part = va_arg(*list, const char *);
- Evas_Object *content = va_arg(*list, Evas_Object *);
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret = EINA_FALSE;
eo_do_super(obj, MY_CLASS, elm_obj_container_content_set(part, content, &int_ret));
- if(!int_ret) return;
+ if(!int_ret) return EINA_FALSE;
_icon_signal_emit(obj);
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
-static void
-_elm_progressbar_smart_theme(Eo *obj, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elm_progressbar_elm_widget_theme_apply(Eo *obj, Elm_Progressbar_Data *sd)
{
- Elm_Progressbar_Smart_Data *sd = _pd;
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- if (ret) *ret = EINA_FALSE;
Eina_Bool int_ret = EINA_FALSE;
ELM_LAYOUT_DATA_GET(obj, ld);
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
if (sd->horizontal)
eina_stringshare_replace(&ld->group, "horizontal");
else eina_stringshare_replace(&ld->group, "vertical");
eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret));
- if (!int_ret) return;
+ if (!int_ret) return EINA_FALSE;
if (sd->pulse)
elm_layout_signal_emit(obj, "elm,state,pulse", "elm");
elm_layout_sizing_eval(obj);
- if (ret) *ret = EINA_TRUE;
+ return EINA_TRUE;
}
static char *
return NULL;
}
-static void
-_elm_progressbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_progressbar_evas_smart_add(Eo *obj, Elm_Progressbar_Data *priv)
{
- Elm_Progressbar_Smart_Data *priv = _pd;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
(_elm_access_info_get(obj), ELM_ACCESS_STATE, _access_state_cb, NULL);
}
-static void
-_elm_progressbar_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_progressbar_evas_smart_del(Eo *obj, Elm_Progressbar_Data *sd)
{
- Elm_Progressbar_Smart_Data *sd = _pd;
Elm_Progress_Status *progress_obj;
eina_stringshare_del(sd->units);
eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
}
-static void
-_elm_progressbar_smart_text_aliases_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static const Elm_Layout_Part_Alias_Description*
+_elm_progressbar_elm_layout_text_aliases_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
- const Elm_Layout_Part_Alias_Description **aliases = va_arg(*list, const Elm_Layout_Part_Alias_Description **);
- *aliases = _text_aliases;
+ return _text_aliases;
}
-static void
-_elm_progressbar_smart_content_aliases_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static const Elm_Layout_Part_Alias_Description*
+_elm_progressbar_elm_layout_content_aliases_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
- const Elm_Layout_Part_Alias_Description **aliases = va_arg(*list, const Elm_Layout_Part_Alias_Description **);
- *aliases = _content_aliases;
+ return _content_aliases;
}
EAPI Evas_Object *
return obj;
}
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_progressbar_eo_base_constructor(Eo *obj, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_constructor());
eo_do(obj,
evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
}
-EAPI void
-elm_progressbar_pulse_set(Evas_Object *obj,
- Eina_Bool pulse)
+EOLIAN static void
+_elm_progressbar_pulse_set(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd, Eina_Bool pulse)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_pulse_set(pulse));
-}
-
-static void
-_pulse_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- Eina_Bool pulse = va_arg(*list, int);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
pulse = !!pulse;
if (sd->pulse == pulse) return;
eo_do(obj, elm_obj_widget_theme_apply(NULL));
}
-EAPI Eina_Bool
-elm_progressbar_pulse_get(const Evas_Object *obj)
-{
- ELM_PROGRESSBAR_CHECK(obj) EINA_FALSE;
- Eina_Bool ret = EINA_FALSE;
- eo_do((Eo *) obj, elm_obj_progressbar_pulse_get(&ret));
- return ret;
-}
-
-static void
-_pulse_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
- *ret = sd->pulse;
-}
-
-EAPI void
-elm_progressbar_pulse(Evas_Object *obj,
- Eina_Bool state)
+EOLIAN static Eina_Bool
+_elm_progressbar_pulse_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_pulse(state));
+ return sd->pulse;
}
-static void
-_pulse(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_progressbar_pulse(Eo *obj, Elm_Progressbar_Data *sd, Eina_Bool state)
{
- Eina_Bool state = va_arg(*list, int);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
state = !!state;
if ((!sd->pulse) || (sd->pulse_state == state)) return;
elm_layout_signal_emit(obj, "elm,state,pulse,stop", "elm");
}
-EAPI void
-elm_progressbar_part_value_set(Evas_Object *obj, const char *part, double val)
-{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_part_value_set(part, val));
-}
-
-static void
-_part_value_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_progressbar_part_value_set(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd, const char *part_name, double val)
{
- const char *part_name = va_arg(*list, const char *);
- double val = va_arg(*list, double);
- Elm_Progressbar_Smart_Data *sd = _pd;
Elm_Progress_Status *ps;
Eina_Bool existing_ps = EINA_FALSE;
Eina_List *l;
evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
}
-EAPI double
-elm_progressbar_part_value_get(const Evas_Object *obj, const char * part)
-{
- ELM_PROGRESSBAR_CHECK(obj) 0.0;
- double ret;
- eo_do((Eo *) obj, elm_obj_progressbar_part_value_get(part,&ret));
- return ret;
-}
-
-static void
-_part_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static double
+_elm_progressbar_part_value_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd, const char* part)
{
- const char* part = va_arg(*list, const char *);
- double *ret = va_arg(*list, double *);
- Elm_Progressbar_Smart_Data *sd = _pd;
Elm_Progress_Status *ps;
Eina_List *l;
EINA_LIST_FOREACH(sd->progress_status, l, ps)
{
- if (!strcmp(ps->part_name, part))
- {
- *ret = ps->val;
- return;
- }
+ if (!strcmp(ps->part_name, part)) return ps->val;
}
-}
-EAPI void
-elm_progressbar_value_set(Evas_Object *obj,
- double val)
-{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_value_set(val));
+ return 0.0;
}
-static void
-_value_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_progressbar_value_set(Eo *obj, Elm_Progressbar_Data *sd, double val)
{
- double val = va_arg(*list, double);
- Elm_Progressbar_Smart_Data *sd = _pd;
Elm_Progress_Status *ps;
if (sd->val == val) return;
evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
}
-EAPI double
-elm_progressbar_value_get(const Evas_Object *obj)
+EOLIAN static double
+_elm_progressbar_value_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- ELM_PROGRESSBAR_CHECK(obj) 0.0;
- double ret;
- eo_do((Eo *) obj, elm_obj_progressbar_value_get(&ret));
- return ret;
+ return sd->val;
}
-static void
-_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static void
+_elm_progressbar_span_size_set(Eo *obj, Elm_Progressbar_Data *sd, Evas_Coord size)
{
- double *ret = va_arg(*list, double *);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
- *ret = sd->val;
-}
-
-EAPI void
-elm_progressbar_span_size_set(Evas_Object *obj,
- Evas_Coord size)
-{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_span_size_set(size));
-}
-
-static void
-_span_size_set(Eo *obj, void *_pd, va_list *list)
-{
- Evas_Coord size = va_arg(*list, Evas_Coord);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
if (sd->size == size) return;
sd->size = size;
elm_layout_sizing_eval(obj);
}
-EAPI Evas_Coord
-elm_progressbar_span_size_get(const Evas_Object *obj)
-{
- ELM_PROGRESSBAR_CHECK(obj) 0;
- Evas_Coord ret;
- eo_do((Eo *) obj, elm_obj_progressbar_span_size_get(&ret));
- return ret;
-}
-
-static void
-_span_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Evas_Coord
+_elm_progressbar_span_size_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- Evas_Coord *ret = va_arg(*list, Evas_Coord *);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
- *ret = sd->size;
+ return sd->size;
}
-EAPI void
-elm_progressbar_unit_format_set(Evas_Object *obj,
- const char *units)
+EOLIAN static void
+_elm_progressbar_unit_format_set(Eo *obj, Elm_Progressbar_Data *sd, const char *units)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_unit_format_set(units));
-}
-
-static void
-_unit_format_set(Eo *obj, void *_pd, va_list *list)
-{
- const char *units = va_arg(*list, const char *);
- Elm_Progressbar_Smart_Data *sd = _pd;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
eina_stringshare_replace(&sd->units, units);
elm_layout_sizing_eval(obj);
}
-EAPI const char *
-elm_progressbar_unit_format_get(const Evas_Object *obj)
-{
- ELM_PROGRESSBAR_CHECK(obj) NULL;
- const char *ret = NULL;
- eo_do((Eo *) obj, elm_obj_progressbar_unit_format_get(&ret));
- return ret;
-}
-
-static void
-_unit_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elm_progressbar_unit_format_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- const char **ret = va_arg(*list, const char **);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
- *ret = sd->units;
+ return sd->units;
}
-EAPI void
-elm_progressbar_unit_format_function_set(Evas_Object *obj, char *(func)(double), void (*free_func) (char *))
+EOLIAN static void
+_elm_progressbar_unit_format_function_set(Eo *obj, Elm_Progressbar_Data *sd, progressbar_func_type func, progressbar_freefunc_type free_func)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_unit_format_function_set(func, free_func));
-}
-
-EAPI void
-_unit_format_function_set(Eo *obj, void *_pd, va_list *list)
-{
- progressbar_func_type func = va_arg(*list, progressbar_func_type);
- progressbar_freefunc_type free_func = va_arg(*list, progressbar_freefunc_type);
- Elm_Progressbar_Smart_Data *sd = _pd;
-
sd->unit_format_func = func;
sd->unit_format_free = free_func;
elm_layout_sizing_eval(obj);
}
-EAPI void
-elm_progressbar_horizontal_set(Evas_Object *obj,
- Eina_Bool horizontal)
+EOLIAN static void
+_elm_progressbar_horizontal_set(Eo *obj, Elm_Progressbar_Data *sd, Eina_Bool horizontal)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_horizontal_set(horizontal));
-}
-
-static void
-_horizontal_set(Eo *obj, void *_pd, va_list *list)
-{
- Eina_Bool horizontal = va_arg(*list, int);
- Elm_Progressbar_Smart_Data*sd = _pd;
-
horizontal = !!horizontal;
if (sd->horizontal == horizontal) return;
eo_do(obj, elm_obj_widget_theme_apply(NULL));
}
-EAPI Eina_Bool
-elm_progressbar_horizontal_get(const Evas_Object *obj)
-{
- ELM_PROGRESSBAR_CHECK(obj) EINA_FALSE;
- Eina_Bool ret = EINA_FALSE;
- eo_do((Eo *) obj, elm_obj_progressbar_horizontal_get(&ret));
- return ret;
-}
-
-static void
-_horizontal_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
-{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Progressbar_Smart_Data*sd = _pd;
- *ret = sd->horizontal;
-}
-
-EAPI void
-elm_progressbar_inverted_set(Evas_Object *obj,
- Eina_Bool inverted)
+EOLIAN static Eina_Bool
+_elm_progressbar_horizontal_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- ELM_PROGRESSBAR_CHECK(obj);
- eo_do(obj, elm_obj_progressbar_inverted_set(inverted));
+ return sd->horizontal;
}
-static void
-_inverted_set(Eo *obj, void *_pd, va_list *list)
+EOLIAN static void
+_elm_progressbar_inverted_set(Eo *obj, Elm_Progressbar_Data *sd, Eina_Bool inverted)
{
- Eina_Bool inverted = va_arg(*list, int);
- Elm_Progressbar_Smart_Data*sd = _pd;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
inverted = !!inverted;
_units_set(obj);
}
-EAPI Eina_Bool
-elm_progressbar_inverted_get(const Evas_Object *obj)
+EOLIAN static Eina_Bool
+_elm_progressbar_inverted_get(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *sd)
{
- ELM_PROGRESSBAR_CHECK(obj) EINA_FALSE;
- Eina_Bool ret = EINA_FALSE;
- eo_do((Eo *) obj, elm_obj_progressbar_inverted_get(&ret));
- return ret;
+ return sd->inverted;
}
-static void
-_inverted_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Eina_Bool
+_elm_progressbar_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- Elm_Progressbar_Smart_Data*sd = _pd;
- *ret = sd->inverted;
+ return EINA_FALSE;
}
-static void
-_elm_progressbar_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static Eina_Bool
+_elm_progressbar_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Progressbar_Data *_pd EINA_UNUSED)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- *ret = EINA_FALSE;
+ return EINA_FALSE;
}
-static void
-_elm_progressbar_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_elm_progressbar_class_constructor(Eo_Class *klass)
{
- Eina_Bool *ret = va_arg(*list, Eina_Bool *);
- *ret = EINA_FALSE;
-}
-
-static void
-_class_constructor(Eo_Class *klass)
-{
- const Eo_Op_Func_Description func_desc[] = {
- EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
-
- EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _elm_progressbar_smart_add),
- EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_progressbar_smart_del),
-
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_progressbar_smart_theme),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_SUB_OBJECT_DEL), _elm_progressbar_smart_sub_object_del),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_progressbar_smart_focus_next_manager_is),
- EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_progressbar_smart_focus_direction_manager_is),
-
- EO_OP_FUNC(ELM_OBJ_CONTAINER_ID(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_SET), _elm_progressbar_smart_content_set),
-
- EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), _elm_progressbar_smart_sizing_eval),
- EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_ALIASES_GET), _elm_progressbar_smart_text_aliases_get),
- EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_CONTENT_ALIASES_GET), _elm_progressbar_smart_content_aliases_get),
-
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_SET), _pulse_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_GET), _pulse_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE), _pulse),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_SET), _value_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_GET), _value_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_SET), _span_size_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_GET), _span_size_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_SET), _unit_format_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_GET), _unit_format_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_FUNCTION_SET), _unit_format_function_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_SET), _horizontal_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET), _horizontal_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET), _inverted_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET), _inverted_get),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET), _part_value_set),
- EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET), _part_value_get),
- EO_OP_FUNC_SENTINEL
- };
- eo_class_funcs_set(klass, func_desc);
-
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
-static const Eo_Op_Description op_desc[] = {
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_SET, "Set whether a given progress bar widget is at 'pulsing mode' or not."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE_GET, "Get whether a given progress bar widget is at 'pulsing mode' or not."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PULSE, "Start/stop a given progress bar 'pulsing' animation, if its under that mode."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_SET, "Set the progress value (in percentage) on a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_VALUE_GET, "Get the progress value (in percentage) on a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_SET, "Set the (exact) length of the bar region of a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_SPAN_SIZE_GET, "Get the length set for the bar region of a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_SET, "Set the format string for a given progress bar widget's units label."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_GET, "Retrieve the format string set for a given progress bar widget's units label."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_UNIT_FORMAT_FUNCTION_SET, "Set the format function pointer for the units label."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_SET, "Set the orientation of a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET, "Retrieve the orientation of a given progress bar widget."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET, "Invert a given progress bar widget's displaying values order."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET, "Get whether a given progress bar widget's displaying values are inverted or not."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET, "Set the progress value (in percentage) on a given progress bar widget for a part."),
- EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET, "Get the progress value (in percentage) on a given progress bar widget for a part."),
- EO_OP_DESCRIPTION_SENTINEL
-};
-static const Eo_Class_Description class_desc = {
- EO_VERSION,
- MY_CLASS_NAME,
- EO_CLASS_TYPE_REGULAR,
- EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_PROGRESSBAR_BASE_ID, op_desc, ELM_OBJ_PROGRESSBAR_SUB_ID_LAST),
- NULL,
- sizeof(Elm_Progressbar_Smart_Data),
- _class_constructor,
- NULL
-};
-EO_DEFINE_CLASS(elm_obj_progressbar_class_get, &class_desc, ELM_OBJ_LAYOUT_CLASS, NULL);
+
+#include "elm_progressbar.eo.c"
--- /dev/null
+class Elm_Progressbar (Elm_Layout)
+{
+ eo_prefix: elm_obj_progressbar;
+ properties {
+ span_size {
+ set {
+ /*@
+ Set the (exact) length of the bar region of a given progress bar
+ widget
+
+ This sets the minimum width (when in horizontal mode) or height
+ (when in vertical mode) of the actual bar area of the progress
+ bar @p obj. This in turn affects the object's minimum size. Use
+ this when you're not setting other size hints expanding on the
+ given direction (like weight and alignment hints) and you would
+ like it to have a specific size.
+
+ @note Icon, label and unit text around @p obj will require their
+ own space, which will make @p obj to require more the @p size,
+ actually.
+
+ @see elm_progressbar_span_size_get()
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Get the length set for the bar region of a given progress bar
+ widget
+
+ @return The length of the progress bar's bar region
+
+ If that size was not set previously, with
+ elm_progressbar_span_size_set(), this call will return @c 0.
+
+ @ingroup Progressbar */
+ }
+ values {
+ Evas_Coord size; /*@ The length of the progress bar's bar region */
+ }
+ }
+ pulse {
+ set {
+ /*@
+ Set whether a given progress bar widget is at "pulsing mode" or
+ not.
+
+ By default, progress bars will display values from the low to
+ high value boundaries. There are, though, contexts in which the
+ progress of a given task is @b unknown. For such cases,
+ one can set a progress bar widget to a "pulsing state", to give
+ the user an idea that some computation is being held, but
+ without exact progress values. In the default theme, it will
+ animate its bar with the contents filling in constantly and back
+ to non-filled, in a loop. To start and stop this pulsing
+ animation, one has to explicitly call elm_progressbar_pulse().
+
+ @see elm_progressbar_pulse_get()
+ @see elm_progressbar_pulse()
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Get whether a given progress bar widget is at "pulsing mode" or
+ not.
+
+ @return @c EINA_TRUE, if @p obj is in pulsing mode, @c EINA_FALSE
+ if it's in the default one (and on errors)
+
+ @ingroup Progressbar */
+ }
+ values {
+ Eina_Bool pulse; /*@ @c EINA_TRUE to put @p obj in pulsing mode,
+ @c EINA_FALSE to put it back to its default one */
+ }
+ }
+ value {
+ set {
+ /*@
+ Set the progress value (in percentage) on a given progress bar
+ widget
+
+ Use this call to set progress bar levels.
+
+ @note If you passes a value out of the specified range for @p
+ val, it will be interpreted as the @b closest of the @b boundary
+ values in the range.
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Get the progress value (in percentage) on a given progress bar
+ widget
+
+ @return The value of the progressbar
+
+ @see elm_progressbar_value_set() for more details
+
+ @ingroup Progressbar */
+ }
+ values {
+ double val; /*@ The progress value (@b must be between @c 0.0 and @c
+ 1.0) */
+ }
+ }
+ inverted {
+ set {
+ /*@
+ Invert a given progress bar widget's displaying values order
+
+ A progress bar may be @b inverted, in which state it gets its
+ values inverted, with high values being on the left or top and
+ low values on the right or bottom, as opposed to normally have
+ the low values on the former and high values on the latter,
+ respectively, for horizontal and vertical modes.
+
+ @see elm_progressbar_inverted_get()
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Get whether a given progress bar widget's displaying values are
+ inverted or not
+
+ @return @c EINA_TRUE, if @p obj has inverted values,
+ @c EINA_FALSE otherwise (and on errors)
+
+ @see elm_progressbar_inverted_set() for more details
+
+ @ingroup Progressbar */
+ }
+ values {
+ Eina_Bool inverted; /*@ Use @c EINA_TRUE to make @p obj inverted,
+ @c EINA_FALSE to bring it back to default, non-inverted values. */
+ }
+ }
+ horizontal {
+ set {
+ /*@
+ Set the orientation of a given progress bar widget
+
+ Use this function to change how your progress bar is to be
+ disposed: vertically or horizontally.
+
+ @see elm_progressbar_horizontal_get()
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Retrieve the orientation of a given progress bar widget
+
+ @return @c EINA_TRUE, if @p obj is set to be @b horizontal,
+ @c EINA_FALSE if it's @b vertical (and on errors)
+
+ @see elm_progressbar_horizontal_set() for more details
+
+ @ingroup Progressbar */
+ }
+ values {
+ Eina_Bool horizontal; /*@ Use @c EINA_TRUE to make @p obj to be
+ @b horizontal, @c EINA_FALSE to make it @b vertical */
+ }
+ }
+ unit_format {
+ set {
+ /*@
+ Set the format string for a given progress bar widget's units
+ label
+
+ If @c NULL is passed on @p format, it will make @p obj's units
+ area to be hidden completely. If not, it'll set the <b>format
+ string</b> for the units label's @b 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 progress bar is an integer
+ percentage, as in @c "%.0f %%".
+
+ @see elm_progressbar_unit_format_get()
+
+ @ingroup Progressbar */
+ }
+ get {
+ /*@
+ Retrieve the format string set for a given progress bar widget's
+ units label
+
+ @return The format set string for @p obj's units label or
+ @c NULL, if none was set (and on errors)
+
+ @see elm_progressbar_unit_format_set() for more details
+
+ @ingroup Progressbar */
+ }
+ values {
+ const char *units; /*@ The format string for @p obj's units label */
+ }
+ }
+ unit_format_function {
+ set {
+ /*@
+ Set the format function pointer for the units label
+
+ Set the callback function to format the unit string.
+
+ @see elm_progressbar_unit_format_set() for more info on how this works.
+
+ @since 1.7
+
+ @ingroup Progressbar */
+ }
+ values {
+ progressbar_func_type func; /*@ The unit format function */
+ progressbar_freefunc_type free_func; /*@ The freeing function for the format string. */
+ }
+ }
+ }
+ methods {
+ part_value_set {
+ /*@
+ Set the progress value (in percentage) on a given progress bar
+ widget for the given part name
+
+ @since 1.8
+
+ Use this call to set progress bar status for more than one progress status .
+
+ @ingroup Progressbar */
+
+ params {
+ @in const char *part; /*@ The partname to which val have to set */
+ @in double val; /*@ The progress value (@b must be between @c 0.0 and @c
+ 1.0) */
+ }
+ }
+ part_value_get {
+ /*@
+ Get the progress value (in percentage) on a given progress bar
+ widget for a particular part
+
+ @since 1.8
+
+ @return The value of the progressbar
+
+ @see elm_progressbar_value_set() for more details
+
+ @ingroup Progressbar */
+
+ const;
+ return double;
+ params {
+ @in const char *part; /*@ The part name of the progress bar */
+ }
+ }
+ pulse {
+ /*@
+ Start/stop a given progress bar "pulsing" animation, if its
+ under that mode
+
+ @note This call won't do anything if @p obj is not under "pulsing mode".
+
+ @see elm_progressbar_pulse_set() for more details.
+
+ @ingroup Progressbar */
+
+ params {
+ @in Eina_Bool state; /*@ @c EINA_TRUE, to @b start the pulsing animation,
+ @c EINA_FALSE to @b stop it */
+ }
+ }
+ }
+ implements {
+ class::constructor;
+ Eo_Base::constructor;
+ Evas_Smart::add;
+ Evas_Smart::del;
+ Elm_Widget::theme_apply;
+ Elm_Widget::focus_next_manager_is;
+ Elm_Widget::focus_direction_manager_is;
+ Elm_Widget::sub_object_del;
+ Elm_Container::content_set;
+ Elm_Layout::text_aliases::get;
+ Elm_Layout::content_aliases::get;
+ Elm_Layout::sizing_eval;
+ }
+ events {
+ changed;
+ language,changed;
+ access,changed;
+ focused;
+ unfocused;
+ }
+
+}