enum Efl.Ui.Focus.Direction {
- right = 0,
- left = 1,
- down = 2,
- up = 3,
- next = 4,
- prev = 5,
+ [[Those values are desribing a direction from the position of view from one item]]
+ right = 0, [[Coorinate-wise the next element on the right hand side ]]
+ left = 1, [[Coorinate-wise the next element on the left hand side ]]
+ down = 2, [[Coorinate-wise the next element on the down hand side ]]
+ up = 3, [[Coorinate-wise the next element on the up hand side ]]
+ next = 4, [[Logically-wise the next item in the logical tree]]
+ prev = 5, [[Logically-wise the prev item in the logical tree]]
last = 6
}
class Efl.Ui.Focus.Manager (Efl.Object) {
+ [[Calculates the directions of Efl.Ui.Focus.Direction
+
+ Each registered item will get a other registered object into each direction, you can get those items for the currently focused item if you call request move
+ ]]
methods {
move {
[[Move the focus into the given direction
abstract Efl.Ui.Focus.Manager.Sub (Efl.Ui.Focus.Manager, Efl.Ui.Focus.Object, Efl.Ui.Focus.User)
{
+ [[A abstract class to have a sub manager
+
+ This submanager will register its border elements on the parent manager. The parent manager is found with the Efl.Ui.Focus.User interface.
+
+ Each submanager also has to be a focus object, the object itself will be registered into the parent manager. It will be used as logical parent while registering the border elements.
+
+ The border elements can be filtered by using the select_set function.
+ ]]
methods {
select_set {
+ [[filters the given iterator for which elements should be registered in the upper manager]]
params {
- objects : iterator<Efl.Ui.Focus.Object>;
+ objects : iterator<Efl.Ui.Focus.Object>; [[The objects to filter]]
}
- return : list<Efl.Ui.Focus.Object>;
+ return : list<Efl.Ui.Focus.Object>; [[The rest set from objects to use]]
}
@property parent {
+ [[The logical parent which is used to register the object itself in the parent manager]]
values {
- node : Efl.Ui.Focus.Object;
+ node : Efl.Ui.Focus.Object; [[object to use]]
}
}
}
-mixin Efl.Ui.Focus.User {
+interface Efl.Ui.Focus.User {
+ [[Interface which is used to handle the manager of a user]]
methods {
@property manager {
+ [[describes which manager is used to register or should be used to register this user]]
get {
}
values {
- manager : Efl.Ui.Focus.Manager;
+ manager : Efl.Ui.Focus.Manager; [[The manager object]]
}
}
}
- implements {
- @empty .manager.get;
- }
events {
manager,changed : Efl.Ui.Focus.Manager; [[emitted if a new manager is the parent for this one]]
}