forked from enlightenment/efl
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
mixin Efl.Ui.Focus.Composition (Efl.Interface, Elm.Widget ) {
|
|
[[This defines the inheriting widget as Composition widget.
|
|
|
|
A composition widget is a widget that is just the logical parent of a other set of widgets thet can be used as interaction.
|
|
]]
|
|
methods {
|
|
@property composition_elements @protected {
|
|
[[Set the order of elements that will be used for composition
|
|
|
|
Elements of the list can be either A Elm.Widget, A Efl.Ui.Focus.Object, or a Efl.Gfx.
|
|
|
|
If the element is a Efl.Gfx, then the geometry is used as focus geomtry, the focus property is redirected to the evas focus property. The mixin will take care of reistering.
|
|
|
|
If the element is a Efl.Ui.Focus.Object, then the mixin will take care of registering the element.
|
|
|
|
For the case that the element is a Elm.Widget nothing is done and the widget is just part of the order.
|
|
]]
|
|
values {
|
|
logical_order : list<Efl.Gfx> @owned; [[The order to use]]
|
|
}
|
|
}
|
|
elements_flush {
|
|
[[Function that will emit prepare if this is marked as dirty]]
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
@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;
|
|
Efl.Ui.Focus.Object.prepare_logical;
|
|
@empty .prepare;
|
|
}
|
|
}
|