declare first round of classes stable
this stabelizes the "stableized" column of the efl: api workboard.
fixes T8208,
fixes T8158,
fixes T8156,
fixes T8025,
fixes T8024,
fixes T7976,
fixes T7946,
fixes T7928,
fixes T7923,
fixes T7905,
fixes T7902,
fixes T7901,
fixes T7900,
fixes T7898,
fixes T7897,
fixes T7895,
fixes T7894,
fixes T7893,
fixes T7891,
fixes T7880,
fixes T7873,
fixes T7869,
fixes T7867,
fixes T7865,
fixes T7862,
fixes T7854,
fixes T7847,
fixes T7881,
fixes T7870,
fixes T9086
Differential Revision: https://phab.enlightenment.org/D10008
2019-09-09 02:23:04 -07:00
|
|
|
class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
|
2019-09-24 06:16:45 -07:00
|
|
|
Efl.Pack_Linear,
|
2019-06-29 07:19:08 -07:00
|
|
|
Efl.Ui.Layout_Orientable,
|
2019-11-20 04:36:02 -08:00
|
|
|
Efl.Ui.Multi_Selectable_Object_Range,
|
2019-06-29 07:19:08 -07:00
|
|
|
Efl.Ui.Focus.Manager_Sub,
|
2019-09-15 14:38:03 -07:00
|
|
|
Efl.Ui.Widget_Focus_Manager,
|
2019-09-25 18:59:14 -07:00
|
|
|
Efl.Ui.Item_Clickable
|
2019-09-19 08:32:56 -07:00
|
|
|
composites
|
2019-09-23 01:48:02 -07:00
|
|
|
Efl.Ui.Scrollable,
|
2019-09-06 06:08:27 -07:00
|
|
|
Efl.Ui.Scrollbar,
|
|
|
|
Efl.Ui.Focus.Manager
|
2019-06-29 07:19:08 -07:00
|
|
|
{
|
2019-08-30 02:53:40 -07:00
|
|
|
[[This widget displays a list of items in an arrangement controlled by an external @.position_manager
|
|
|
|
object. By using different @.position_manager objects this widget can show unidimensional lists or
|
|
|
|
two-dimensional grids of items, for example.
|
2019-06-29 07:19:08 -07:00
|
|
|
|
2019-08-30 02:53:40 -07:00
|
|
|
This class is intended to act as a base for widgets like @Efl.Ui.List or @Efl.Ui.Grid, which hide
|
|
|
|
this complexity from the user.
|
|
|
|
|
|
|
|
Items are added using the @Efl.Pack_Linear interface and must be of @Efl.Ui.Item type.
|
|
|
|
|
|
|
|
The direction of the arrangement can be controlled through @Efl.Ui.Layout_Orientable.orientation.
|
|
|
|
|
|
|
|
If all items do not fit in the current widget size scrolling facilities are provided.
|
|
|
|
|
|
|
|
Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode
|
2019-11-20 04:36:02 -08:00
|
|
|
policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new.
|
2019-10-14 00:55:52 -07:00
|
|
|
|
|
|
|
@since 1.23
|
2019-06-29 07:19:08 -07:00
|
|
|
]]
|
|
|
|
methods {
|
|
|
|
item_scroll {
|
2019-08-30 02:53:40 -07:00
|
|
|
[[Brings the passed item into the viewport.]]
|
2019-06-29 07:19:08 -07:00
|
|
|
params {
|
2019-08-30 02:53:40 -07:00
|
|
|
@in item: Efl.Ui.Item; [[The target to move into view.]]
|
|
|
|
@in animation: bool; [[If you want to have an animated transition.]]
|
2019-06-29 07:19:08 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
item_scroll_align {
|
2019-08-30 02:53:40 -07:00
|
|
|
[[Brings the passed item into the viewport and align it.
|
2019-06-29 07:19:08 -07:00
|
|
|
|
2019-08-30 02:53:40 -07:00
|
|
|
$align selects the final position of the object inside the viewport. 0.0 will move the object
|
|
|
|
to the first visible position inside the viewport, 1.0 will move it to the last visible
|
|
|
|
position, and values in between will move it accordingly to positions in between, along the
|
|
|
|
scrolling axis.
|
2019-06-29 07:19:08 -07:00
|
|
|
]]
|
|
|
|
params {
|
2019-08-30 02:53:40 -07:00
|
|
|
@in item: Efl.Ui.Item; [[The target to move into view.]]
|
|
|
|
@in align: double; [[0.0 to have this item at the upper or left side of the viewport,
|
|
|
|
1.0 to have this item at the lower or right side of the viewport.]]
|
|
|
|
@in animation: bool; [[If you want to have an animated transition.]]
|
2019-06-29 07:19:08 -07:00
|
|
|
}
|
|
|
|
}
|
declare first round of classes stable
this stabelizes the "stableized" column of the efl: api workboard.
fixes T8208,
fixes T8158,
fixes T8156,
fixes T8025,
fixes T8024,
fixes T7976,
fixes T7946,
fixes T7928,
fixes T7923,
fixes T7905,
fixes T7902,
fixes T7901,
fixes T7900,
fixes T7898,
fixes T7897,
fixes T7895,
fixes T7894,
fixes T7893,
fixes T7891,
fixes T7880,
fixes T7873,
fixes T7869,
fixes T7867,
fixes T7865,
fixes T7862,
fixes T7854,
fixes T7847,
fixes T7881,
fixes T7870,
fixes T9086
Differential Revision: https://phab.enlightenment.org/D10008
2019-09-09 02:23:04 -07:00
|
|
|
@property position_manager @beta {
|
2019-06-29 07:19:08 -07:00
|
|
|
[[Position manager object that handles placement of items.]]
|
2019-12-06 06:57:52 -08:00
|
|
|
get {
|
|
|
|
values {
|
|
|
|
position_manager : Efl.Ui.Position_Manager.Entity; [[A borrowed handle to the item container.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
set { }
|
2019-06-29 07:19:08 -07:00
|
|
|
values {
|
2019-09-06 08:01:05 -07:00
|
|
|
position_manager : Efl.Ui.Position_Manager.Entity @move; [[Ownership is passed to the item container.]]
|
2019-06-29 07:19:08 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
|
|
|
Efl.Object.constructor;
|
|
|
|
Efl.Object.finalize;
|
|
|
|
Efl.Object.destructor;
|
|
|
|
Efl.Object.invalidate;
|
|
|
|
Efl.Container.content_iterate;
|
|
|
|
Efl.Container.content_count;
|
|
|
|
Efl.Ui.Layout_Orientable.orientation { get; set; }
|
|
|
|
Efl.Ui.Widget.theme_apply;
|
|
|
|
Efl.Pack.pack_clear;
|
|
|
|
Efl.Pack.unpack_all;
|
|
|
|
Efl.Pack.unpack;
|
|
|
|
Efl.Pack.pack;
|
|
|
|
Efl.Pack_Linear.pack_end;
|
|
|
|
Efl.Pack_Linear.pack_begin;
|
|
|
|
Efl.Pack_Linear.pack_before;
|
|
|
|
Efl.Pack_Linear.pack_after;
|
|
|
|
Efl.Pack_Linear.pack_at;
|
|
|
|
Efl.Pack_Linear.pack_unpack_at;
|
|
|
|
Efl.Pack_Linear.pack_index_get;
|
|
|
|
Efl.Pack_Linear.pack_content_get;
|
2019-09-23 01:48:02 -07:00
|
|
|
Efl.Ui.Scrollable.match_content { set; }
|
2019-06-29 07:19:08 -07:00
|
|
|
Efl.Ui.Widget_Focus_Manager.focus_manager_create;
|
|
|
|
Efl.Ui.Widget.focus_state_apply;
|
|
|
|
Efl.Ui.Focus.Manager.move;
|
2019-08-06 10:55:40 -07:00
|
|
|
Efl.Ui.Single_Selectable.last_selected { get; }
|
|
|
|
Efl.Ui.Multi_Selectable.select_mode {get; set;}
|
2019-09-25 00:39:30 -07:00
|
|
|
Efl.Ui.Multi_Selectable.all_select;
|
|
|
|
Efl.Ui.Multi_Selectable.all_unselect;
|
2019-11-20 04:36:02 -08:00
|
|
|
Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new;
|
|
|
|
Efl.Ui.Multi_Selectable_Object_Range.range_select;
|
|
|
|
Efl.Ui.Multi_Selectable_Object_Range.range_unselect;
|
2019-08-20 09:22:00 -07:00
|
|
|
Efl.Ui.Single_Selectable.fallback_selection {get; set;}
|
2020-01-02 06:07:13 -08:00
|
|
|
Efl.Ui.Single_Selectable.allow_manual_deselection {get; set;}
|
2019-06-29 07:19:08 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|