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);
}
}
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"))
{
*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)
{
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);
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 = {
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
};
* @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
* @{
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);
+
+/**
* @}
*/