elementary/naviframe : Naviframe is now supporting focus_direction.
This commit is contained in:
parent
cfe2ab206e
commit
2cb1f66c54
|
@ -1140,3 +1140,4 @@
|
|||
2013-03-11 WooHyun Jung
|
||||
|
||||
* Fixed a bug that naviframe's focus_next didn't work after changing evenry item to elm_layout.
|
||||
* Naviframe is now supproting .
|
||||
|
|
|
@ -83,6 +83,7 @@ Improvements:
|
|||
* Improve support on 64bits system.
|
||||
* Improve gengrid item append performance.
|
||||
* Naviframe works for H/W Back key event.
|
||||
* Naviframe is now supproting focus_direction.
|
||||
|
||||
Fixes:
|
||||
|
||||
|
|
|
@ -1230,6 +1230,42 @@ _elm_naviframe_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
|
|||
eina_list_free(l);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_naviframe_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
|
||||
{
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
*ret = EINA_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_naviframe_smart_focus_direction(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
|
||||
{
|
||||
Evas_Object *base = va_arg(*list, Evas_Object *);
|
||||
double degree = va_arg(*list, double);
|
||||
Evas_Object **direction = va_arg(*list, Evas_Object **);
|
||||
double *weight = va_arg(*list, double *);
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
if (ret) *ret = EINA_FALSE;
|
||||
Eina_Bool int_ret;
|
||||
|
||||
Eina_List *l = NULL;
|
||||
Elm_Naviframe_Item *top_it;
|
||||
void *(*list_data_get)(const Eina_List *list);
|
||||
|
||||
top_it = (Elm_Naviframe_Item *)elm_naviframe_top_item_get(obj);
|
||||
if (!top_it) return;
|
||||
|
||||
list_data_get = eina_list_data_get;
|
||||
|
||||
l = eina_list_append(l, VIEW(top_it));
|
||||
|
||||
int_ret = elm_widget_focus_list_direction_get
|
||||
(obj, base, l, list_data_get, degree, direction, weight);
|
||||
|
||||
if (ret) *ret = int_ret;
|
||||
eina_list_free(l);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_naviframe_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
||||
{
|
||||
|
@ -1996,6 +2032,9 @@ _class_constructor(Eo_Class *klass)
|
|||
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_naviframe_smart_focus_next_manager_is),
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT), _elm_naviframe_smart_focus_next),
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_naviframe_smart_focus_direction_manager_is),
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION), _elm_naviframe_smart_focus_direction),
|
||||
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME), _elm_naviframe_smart_theme),
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ACCESS), _elm_naviframe_smart_access),
|
||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_EVENT), _elm_naviframe_smart_event),
|
||||
|
|
Loading…
Reference in New Issue