2018-04-22 23:13:59 -07:00
|
|
|
import efl_ui_list_item;
|
|
|
|
|
2019-02-14 08:37:02 -08:00
|
|
|
class @beta Efl.Ui.List extends Efl.Ui.Layout implements
|
2018-04-22 23:13:59 -07:00
|
|
|
Efl.Ui.Scrollable_Interactive,
|
|
|
|
Efl.Ui.Scrollbar,
|
|
|
|
Efl.Pack_Linear, Efl.Pack_Layout,
|
|
|
|
Efl.Ui.Clickable,
|
|
|
|
Efl.Ui.Selectable,
|
2019-01-18 05:22:23 -08:00
|
|
|
Efl.Ui.Multi_Selectable
|
2018-04-22 23:13:59 -07:00
|
|
|
{
|
|
|
|
[[Simple list widget with Pack interface.]]
|
|
|
|
methods {
|
|
|
|
item_scroll {
|
|
|
|
[[scroll move the item to show in the viewport.]]
|
|
|
|
params {
|
|
|
|
@in item: Efl.Ui.List_Item; [[Target item.]]
|
|
|
|
@in animation: bool; [[Boolean value for animation of scroll move.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
item_scroll_align {
|
|
|
|
[[scroll move the item to show at the align position of the viewport.]]
|
|
|
|
params {
|
|
|
|
@in item: Efl.Ui.List_Item; [[Target item.]]
|
|
|
|
@in align: double; [[align value in Viewport.]]
|
|
|
|
@in animation: bool; [[Boolean value for animation of scroll move.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@property last_selected_item {
|
|
|
|
[[Property data of last selected item.]]
|
|
|
|
get {}
|
|
|
|
values {
|
|
|
|
return: Efl.Ui.List_Item; [[last selected item of list.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
selected_items_get {
|
|
|
|
[[Get the selected items iterator. The iterator sequence will be decided by selection.]]
|
|
|
|
return: iterator<Efl.Ui.List_Item> @owned @warn_unused; [[Iterator covered by selected items list.
|
|
|
|
user have to free the iterator after used.]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
|
|
|
//Efl.Object
|
|
|
|
Efl.Object.constructor;
|
|
|
|
Efl.Object.finalize;
|
|
|
|
Efl.Object.destructor;
|
|
|
|
|
|
|
|
//Efl.Canvas
|
|
|
|
Efl.Canvas.Group.group_calculate;
|
|
|
|
|
|
|
|
//Efl.Container
|
|
|
|
Efl.Container.content_iterate;
|
|
|
|
Efl.Container.content_count;
|
|
|
|
|
|
|
|
//Efl.Ui.Direction.direction { get; set; } //TODO
|
|
|
|
|
|
|
|
//Efl.Ui.Widget
|
|
|
|
Efl.Ui.Widget.theme_apply;
|
|
|
|
|
|
|
|
//Efl.Ui.Focus
|
|
|
|
//Efl.Ui.Focus.Object.on_focus_update;
|
|
|
|
|
|
|
|
//Efl.Pack
|
|
|
|
Efl.Pack.pack_clear;
|
|
|
|
Efl.Pack.unpack_all;
|
|
|
|
Efl.Pack.unpack;
|
|
|
|
Efl.Pack.pack;
|
|
|
|
Efl.Pack_Linear.pack_begin;
|
|
|
|
Efl.Pack_Linear.pack_end;
|
|
|
|
Efl.Pack_Linear.pack_before;
|
|
|
|
Efl.Pack_Linear.pack_after;
|
|
|
|
Efl.Pack_Linear.pack_at;
|
|
|
|
Efl.Pack_Linear.pack_content_get;
|
|
|
|
Efl.Pack_Linear.pack_unpack_at;
|
|
|
|
Efl.Pack_Linear.pack_index_get;
|
|
|
|
Efl.Pack_Layout.layout_update;
|
|
|
|
Efl.Pack_Layout.layout_request;
|
|
|
|
Efl.Pack.pack_padding { get; set; }
|
|
|
|
//Efl.Pack.pack_align { get; set; }
|
|
|
|
|
|
|
|
//Efl.Ui.Scrollable
|
|
|
|
Efl.Ui.Scrollable_Interactive.match_content { set; }
|
|
|
|
|
|
|
|
//Efl.Ui.Multi_Selectable
|
|
|
|
Efl.Ui.Multi_Selectable.select_mode {get; set;}
|
|
|
|
}
|
2019-01-23 11:55:44 -08:00
|
|
|
composite {
|
|
|
|
Efl.Ui.Scrollable_Interactive;
|
|
|
|
Efl.Ui.Scrollbar;
|
|
|
|
}
|
2018-04-22 23:13:59 -07:00
|
|
|
}
|