1mixin @beta Efl.Ui.Focus.Composition requires Efl.Ui.Widget { 2 [[This defines the inheriting widget as Composition widget. 3 4 A composition widget is a widget that's the logical parent of another set of widgets 5 which can be used for interaction. 6 ]] 7 methods { 8 @property composition_elements @protected { 9 [[Set the order of elements that will be used for composition 10 11 Elements of the list can be either an @Efl.Ui.Widget, an @Efl.Ui.Focus.Object or an @Efl.Gfx.Entity. 12 13 If the element is an @Efl.Ui.Widget nothing is done and the widget is simply part of the order. 14 15 If the element is an @Efl.Ui.Focus.Object, then the mixin will take care of registering the element. 16 17 If the element is an @Efl.Gfx.Entity, then the geometry is used as focus geometry, 18 the focus property is redirected to the evas focus property. The mixin will take care of registration. 19 ]] 20 values { 21 logical_order : list<Efl.Gfx.Entity> @move; [[The order to use]] 22 } 23 } 24 dirty @protected { 25 [[Mark this widget as dirty, the children can be considered to be changed after that call 26 ]] 27 } 28 prepare @protected { 29 [[A call to prepare the children of this element, called if marked as dirty 30 31 You can use this function to call composition_elements. 32 ]] 33 } 34 @property logical_mode @protected { 35 [[Set to true if all children should be registered as logicals]] 36 values { 37 logical_mode : bool; [[$true or $false]] 38 } 39 } 40 } 41 implements { 42 Efl.Object.invalidate; 43 Efl.Ui.Widget.focus_state_apply; 44 Efl.Ui.Focus.Object.setup_order_non_recursive; 45 @empty .prepare; 46 } 47} 48