54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
mixin Efl.Ui.Focus.Composition (Efl.Interface, Efl.Ui.Widget) {
|
|
[[This defines the inheriting widget as Composition widget.
|
|
|
|
A composition widget is a widget that's the logical parent of another set of widgets which can be used for interaction.
|
|
]]
|
|
methods {
|
|
@property composition_elements @protected {
|
|
[[Set the order of elements that will be used for composition
|
|
|
|
Elements of the list can be either an Efl.Ui.Widget, an Efl.Ui.Focus.Object or an Efl.Gfx.
|
|
|
|
If the element is an Efl.Gfx, then the geometry is used as focus geometry, the focus property is redirected to the evas focus property. The mixin will take care of registration.
|
|
|
|
If the element is an Efl.Ui.Focus.Object, then the mixin will take care of registering the element.
|
|
|
|
If the element is a Efl.Ui.Widget nothing is done and the widget is simply part of the order.
|
|
]]
|
|
values {
|
|
logical_order : list<Efl.Gfx> @owned; [[The order to use]]
|
|
}
|
|
}
|
|
dirty @protected {
|
|
[[ Mark this widget as dirty, the children can be considered to be changed after that call
|
|
]]
|
|
}
|
|
prepare @protected {
|
|
[[A call to prepare the children of this element, called if marked as dirty
|
|
|
|
You can use this function to call composition_elements.
|
|
]]
|
|
}
|
|
@property custom_manager @protected {
|
|
[[Register all children in this manager
|
|
|
|
Set to $null to register them in the same manager as the implementor is
|
|
]]
|
|
values {
|
|
custom_manager : Efl.Ui.Focus.Manager; [[EFL 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 {
|
|
Efl.Ui.Widget.focus_state_apply;
|
|
Efl.Ui.Focus.Object.prepare_logical_none_recursive;
|
|
@empty .prepare;
|
|
}
|
|
}
|