forked from enlightenment/efl
elm index: Added elm_index_delay_change_time_set/get APIs for changing delay change time in index widget.
SVN revision: 83355
This commit is contained in:
parent
56415aec4c
commit
328aa35948
|
@ -956,3 +956,7 @@
|
|||
2013-01-26 WooHyun Jung
|
||||
|
||||
* A widget which doesn't have focus_region_get should give its width and height for correct focus_region_show.
|
||||
|
||||
2013-01-26 Daniel Juyung Seo (SeoZ)
|
||||
|
||||
* Add elm_index_delay_change_time_set/get for changing delay change time in index.
|
||||
|
|
|
@ -30,6 +30,7 @@ Additions:
|
|||
* Add elm_label_slide_go()
|
||||
* Add a label signal callback "slide,end"
|
||||
* Add "highlighted" and "unhighlighted" callbacks to list, genlist, and gengrid.
|
||||
* Add elm_index_delay_change_time_set/get for changing delay change time in index.
|
||||
|
||||
Improvements:
|
||||
|
||||
|
|
|
@ -439,7 +439,7 @@ _sel_eval(Evas_Object *obj,
|
|||
evas_object_smart_callback_call
|
||||
(obj, SIG_CHANGED, (void *)it);
|
||||
if (sd->delay) ecore_timer_del(sd->delay);
|
||||
sd->delay = ecore_timer_add(INDEX_DELAY_CHANGE_TIME,
|
||||
sd->delay = ecore_timer_add(sd->delay_change_time,
|
||||
_delay_change_cb, obj);
|
||||
}
|
||||
}
|
||||
|
@ -731,6 +731,8 @@ _elm_index_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
elm_layout_content_set(obj, "elm.swallow.index.0", priv->bx[0]);
|
||||
evas_object_show(priv->bx[0]);
|
||||
|
||||
priv->delay_change_time = INDEX_DELAY_CHANGE_TIME;
|
||||
|
||||
if (edje_object_part_exists
|
||||
(wd->resize_obj, "elm.swallow.index.1"))
|
||||
{
|
||||
|
@ -1416,6 +1418,38 @@ _horizontal_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
|
|||
*ret = sd->horizontal;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_index_delay_change_time_set(Evas_Object *obj, double delay_change_time)
|
||||
{
|
||||
ELM_INDEX_CHECK(obj);
|
||||
eo_do(obj, elm_obj_index_delay_change_time_set(delay_change_time));
|
||||
}
|
||||
|
||||
static void
|
||||
_delay_change_time_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
|
||||
{
|
||||
double dtime = va_arg(*list, double);
|
||||
Elm_Index_Smart_Data *sd = _pd;
|
||||
sd->delay_change_time = dtime;
|
||||
}
|
||||
|
||||
EAPI double
|
||||
elm_index_delay_change_time_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_INDEX_CHECK(obj) 0.0;
|
||||
double ret = 0.0;
|
||||
eo_do((Eo *)obj, elm_obj_index_delay_change_time_get(&ret));
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
_delay_change_time_get(Eo *obj __UNUSED__, void *_pd, va_list *list)
|
||||
{
|
||||
double *ret = va_arg(*list, double *);
|
||||
Elm_Index_Smart_Data *sd = _pd;
|
||||
*ret = sd->delay_change_time;
|
||||
}
|
||||
|
||||
static void
|
||||
_class_constructor(Eo_Class *klass)
|
||||
{
|
||||
|
@ -1450,6 +1484,8 @@ _class_constructor(Eo_Class *klass)
|
|||
EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET), _indicator_disabled_get),
|
||||
EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET), _horizontal_set),
|
||||
EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET), _horizontal_get),
|
||||
EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET), _delay_change_time_set),
|
||||
EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET), _delay_change_time_get),
|
||||
EO_OP_FUNC_SENTINEL
|
||||
};
|
||||
eo_class_funcs_set(klass, func_desc);
|
||||
|
@ -1472,6 +1508,8 @@ static const Eo_Op_Description op_desc[] = {
|
|||
EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET, "Get the value of indicator's disabled status."),
|
||||
EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET, "Enable or disable horizontal mode on the index object."),
|
||||
EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET, "Get a value whether horizontal mode is enabled or not."),
|
||||
EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET, "Set a delay change time value for index object."),
|
||||
EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET, "Get a delay change time value for index object."),
|
||||
EO_OP_DESCRIPTION_SENTINEL
|
||||
};
|
||||
static const Eo_Class_Description class_desc = {
|
||||
|
|
|
@ -77,6 +77,8 @@ enum
|
|||
ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET,
|
||||
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET,
|
||||
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET,
|
||||
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET,
|
||||
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET,
|
||||
ELM_OBJ_INDEX_SUB_ID_LAST
|
||||
};
|
||||
|
||||
|
@ -306,6 +308,31 @@ enum
|
|||
* @see elm_index_horizontal_get
|
||||
*/
|
||||
#define elm_obj_index_horizontal_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||
|
||||
/**
|
||||
* @def elm_obj_index_delay_change_time_set
|
||||
* @since 1.8
|
||||
*
|
||||
* Change index delay change time.
|
||||
*
|
||||
* @param[out] ret
|
||||
*
|
||||
* @see elm_index_delay_change_time_get
|
||||
*/
|
||||
#define elm_obj_index_delay_change_time_set(dtime) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET), EO_TYPECHECK(double, dtime)
|
||||
|
||||
/**
|
||||
* @def elm_obj_index_delay_change_time_get
|
||||
* @since 1.8
|
||||
*
|
||||
* Get index delay change time.
|
||||
*
|
||||
* @param[out] ret
|
||||
*
|
||||
* @see elm_index_delay_change_time_set
|
||||
*/
|
||||
#define elm_obj_index_delay_change_time_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET), EO_TYPECHECK(double *, ret)
|
||||
|
||||
/**
|
||||
* @addtogroup Index
|
||||
* @{
|
||||
|
@ -635,6 +662,32 @@ EAPI void elm_index_horizontal_set(Evas_Object *obj, Eina_B
|
|||
*/
|
||||
EAPI Eina_Bool elm_index_horizontal_get(const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Set a delay change time for index object.
|
||||
*
|
||||
* @param obj The index object.
|
||||
* @param delay_change_time The delay change time to set.
|
||||
*
|
||||
* @note delay time is 0.2 sec by default.
|
||||
*
|
||||
* @see elm_index_delay_change_time_get
|
||||
*
|
||||
* @ingroup Index
|
||||
*/
|
||||
EAPI void elm_index_delay_change_time_set(Evas_Object *obj, double delay_change_time);
|
||||
|
||||
/**
|
||||
* Get a delay change time for index object.
|
||||
*
|
||||
* @param obj The index object.
|
||||
* @return delay change time in seconds
|
||||
*
|
||||
* @see elm_index_delay_change_time_set
|
||||
*
|
||||
* @ingroup Index
|
||||
*/
|
||||
EAPI double elm_index_delay_change_time_get(const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
|
@ -28,6 +28,7 @@ struct _Elm_Index_Smart_Data
|
|||
int level;
|
||||
Evas_Coord dx, dy;
|
||||
Ecore_Timer *delay;
|
||||
double delay_change_time;
|
||||
Eina_Bool level_active[2];
|
||||
|
||||
Eina_Bool down : 1;
|
||||
|
|
Loading…
Reference in New Issue