efl/src/lib/elementary/efl_ui_focus_composition.eo

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;
}
}