Eina_List *adapters;
Efl_Ui_Focus_Manager *registered, *custom_manager;
Eina_Bool dirty;
+ Eina_Bool logical;
} Efl_Ui_Focus_Composition_Data;
static void
EINA_LIST_FOREACH(pd->register_target, n, o)
{
- efl_ui_focus_manager_calc_register(manager, o, obj, NULL);
+ if (!pd->logical)
+ efl_ui_focus_manager_calc_register(manager, o, obj, NULL);
+ else
+ efl_ui_focus_manager_calc_register_logical(manager, o, obj, NULL);
pd->registered_targets = eina_list_append(pd->registered_targets, o);
}
return pd->custom_manager;
}
+EOLIAN static void
+_efl_ui_focus_composition_logical_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Composition_Data *pd, Eina_Bool logical_mode)
+{
+ pd->logical = logical_mode;
+}
+
+EOLIAN static Eina_Bool
+_efl_ui_focus_composition_logical_mode_get(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Composition_Data *pd)
+{
+ return pd->logical;
+}
#include "efl_ui_focus_composition.eo.c"
custom_manager : Efl.Ui.Focus.Manager;
}
}
+ @property logical_mode @protected {
+ [[Set to true if all children should be registered as logicals]]
+ values {
+ logical_mode : bool; [[$true or $false]]
+ }
+ }
}
implements {
Elm.Widget.focus_state_apply;