2019-02-14 08:37:02 -08:00
|
|
|
mixin @beta Efl.Ui.Focus.Layer requires Efl.Ui.Widget extends Efl.Ui.Widget_Focus_Manager {
|
2019-09-03 08:56:23 -07:00
|
|
|
[[This defines the widget as a focus layer.
|
2017-09-25 09:07:54 -07:00
|
|
|
|
2019-09-03 08:56:23 -07:00
|
|
|
A focus layer is the uppermost widget which receives input and handles all focus related events for as long as
|
|
|
|
it exists and is visible. It's not possible to escape this layer with focus movements.
|
2017-09-25 09:07:54 -07:00
|
|
|
|
2019-09-02 07:24:26 -07:00
|
|
|
Once the object is hidden or destroyed the focus will go back to the main window, where it was before.
|
2017-09-25 09:07:54 -07:00
|
|
|
]]
|
2017-10-02 13:47:53 -07:00
|
|
|
methods {
|
|
|
|
@property enable @protected {
|
2019-09-03 08:56:23 -07:00
|
|
|
[[Whether the focus layer is enabled.
|
|
|
|
This can be handled automatically through @Efl.Gfx.Entity.visible and @.behaviour.]]
|
2017-10-02 13:47:53 -07:00
|
|
|
values {
|
2019-09-03 08:56:23 -07:00
|
|
|
v : bool; [[$true to set enable.]]
|
2017-10-02 13:47:53 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@property behaviour @protected {
|
2019-09-03 08:56:23 -07:00
|
|
|
[[Sets the behaviour of the focus layer.]]
|
2017-10-02 13:47:53 -07:00
|
|
|
values {
|
2019-09-03 08:56:23 -07:00
|
|
|
enable_on_visible : bool; [[$true means layer will enable itself once the widget becomes visible]]
|
|
|
|
cycle : bool; [[If $true the focus will cycle (from last object to first, and vice versa) in the layer.]]
|
2017-10-02 13:47:53 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2017-09-25 09:07:54 -07:00
|
|
|
implements {
|
2018-05-16 10:30:28 -07:00
|
|
|
Efl.Ui.Widget_Focus_Manager.focus_manager_create;
|
2018-01-07 20:55:35 -08:00
|
|
|
Efl.Ui.Widget.focus_state_apply;
|
2018-04-05 01:47:26 -07:00
|
|
|
Efl.Gfx.Entity.visible {set;}
|
2017-09-25 09:07:54 -07:00
|
|
|
Efl.Ui.Focus.Manager.move;
|
2018-01-16 12:17:11 -08:00
|
|
|
Efl.Ui.Focus.Object.focus_manager { get; }
|
2018-04-07 08:25:35 -07:00
|
|
|
Efl.Ui.Focus.Object.focus_parent { get; }
|
2017-09-25 09:07:54 -07:00
|
|
|
Efl.Object.constructor;
|
2019-08-07 07:24:08 -07:00
|
|
|
Efl.Object.invalidate;
|
2017-09-25 09:07:54 -07:00
|
|
|
}
|
|
|
|
}
|