efl/src/lib/elementary/efl_ui_widget_scrollable_co...

55 lines
1.9 KiB
Plaintext

import eina_types;
mixin @beta Efl.Ui.Widget.Scrollable_Content requires Efl.Object
{
[[Efl widget scrollable content mixin
This can be used to provide scrollable contents and text for widgets.
Widgets can set the "__efl_scrollable_content_scroller_style" key data during
their constructor to apply a style to the internal scroller widget.
]]
c_prefix: efl_ui_widget;
event_prefix: efl_ui_widget_scrollable_content;
data: Efl_Ui_Widget_Scrollable_Content_Data;
methods {
@property scrollable_content_did_group_calc @protected @beta {
[[Widgets can call this function during their @Efl.Canvas.Group.group_calculate
implementation after the super call to determine whether the internal scroller
has performed sizing calculations.
The @.optimal_size,calc event will have been emitted during the super call if
this method returns $true.
In the case that this returns $true, it's likely that the widget should be completing
its internal sizing calculations from the @.optimal_size,calc callback using
`efl_canvas_group_calculate(efl_super(ev->object, EFL_UI_WIDGET_SCROLLABLE_CONTENT_MIXIN));`
in order to skip the scrollable sizing calc.
]]
get {}
values {
did_group_calc: bool; [[Whether the internal scroller has done sizing calcs.]]
}
}
@property scrollable_content {
[[This is the content which will be placed in the internal scroller.
]]
set {
return: bool; [[True on success]]
}
get {}
values {
content: Efl.Canvas.Object; [[The content object.]]
}
}
}
events {
optimal_size,calc: Eina.Size2D; [[The optimal size for the widget based on scrollable content.]]
}
implements {
Efl.Object.destructor;
}
}