2018-05-16 10:30:28 -07:00
mixin Efl.Ui.Focus.Layer (Efl.Interface, Efl.Ui.Widget, Efl.Gfx.Entity, Efl.Ui.Widget_Focus_Manager) {
2017-09-25 09:07:54 -07:00
[[This defines the inheriting widget as focus layer
2018-01-04 04:16:23 -08:00
A focus layer is the uppermost one which received 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 movement.
2017-09-25 09:07:54 -07:00
2018-01-04 04:16:23 -08:00
Once the object is hidden or destroyed the focus will go back to the mainwindow, where it was before.
2017-09-25 09:07:54 -07:00
]]
2017-10-02 13:47:53 -07:00
methods {
@property enable @protected {
2017-12-08 05:47:34 -08:00
[[Enable property]]
2017-10-02 13:47:53 -07:00
values {
v : bool; [[$true to set enable the layer $false to disable it]]
}
}
@property behaviour @protected {
[[Constructor for setting the behaviour of the layer]]
values {
2018-01-04 04:16:23 -08:00
enable_on_visible : bool; [[$true means layer will set itself once the inheriting widget becomes visible, $false means the layer isn't enabled automatically]]
2017-10-02 13:47:53 -07:00
cycle : bool; [[If $true the focus will cycle in the layer, if $false]]
}
}
}
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;
Efl.Object.destructor;
}
}