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

84 lines
2.7 KiB
Plaintext

import eina_types;
parse efl_text_format;
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. When a scrollable
text or content is set, this mixin will create and manage an internal scroller object which
will be the container of that text or content.
Only a single content or text can be set at any given time. Setting @.scrollable_content
will unset @.scrollable_text and vice versa.
@since 1.23
]]
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 @[Efl.Ui.Widget_Scrollable_Content.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.
@since 1.23
]]
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.
If a scrollable text string is set, this will return $NULL.
@since 1.23
]]
set {
return: bool; [[True on success]]
}
get {}
values {
content: Efl.Canvas.Object; [[The content object.]]
}
}
@property scrollable_text {
[[The text string to be displayed by the given text object.
The text will use @Efl.Text_Format_Wrap.mixed wrapping,
and it will be scrollable depending on its size relative to the
object's geometry.
When reading, do not free the return value.
@since 1.23
]]
set {
}
get {
}
values {
text: string; [[Text string to display on it.]]
}
}
}
events {
optimal_size,calc: Eina.Size2D; [[The optimal size for the widget based on scrollable content.]]
}
implements {
Efl.Object.destructor;
}
}