efl: apply the stabilzed column of the efl api board
Summary:
The project https://phab.enlightenment.org/tag/efl_api/ has been used in
the last few weeks to figure out which classes can be stablized and
which cannot. This commit moves those dedicated classes outside beta.
And makes them stable.
ref T7601
ref T7600
ref T7599
ref T7598
ref T7597
ref T7596
ref T7594
ref T7593
ref T7591
ref T7590
ref T7589
ref T7588
ref T7583
ref T7582
ref T7581
ref T7576
ref T7570
ref T7567
ref T7564
ref T7563
ref T7560
ref T7559
ref T7672
ref T7584
ref T7577
ref T7571
ref T7558
ref T7555
ref T7554
ref T7553
ref T7512
ref T7511
Depends on D8272
Reviewers: cedric, stefan_schmidt, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7672, T7601, T7600, T7599, T7598, T7597, T7596, T7594, T7593, T7591, T7590, T7589, T7588, T7584, T7583, T7582, T7581, T7577, T7576, T7571, T7570, T7567, T7564, T7563, T7560, T7559, T7558, T7555, T7554, T7553, T7512, T7511
Differential Revision: https://phab.enlightenment.org/D8273
2019-03-09 04:44:17 -08:00
abstract Efl.Ui.Layout_Base extends Efl.Ui.Widget implements Efl.Container,
2019-02-12 11:55:50 -08:00
Efl.Ui.Factory_Bind,
2019-02-27 10:17:16 -08:00
Efl.Layout.Calc, Efl.Layout.Signal,
Efl.Layout.Group
{
2019-09-25 06:02:52 -07:00
[[EFL layout widget abstract.
A "layout" in the context of EFL is an object which interfaces with the internal layout engine.
Layouts are created using the EDC language, and any widget which implements this abstract must
have a corresponding theme group to load in order to graphically display anything.
Theme groups for EFL widgets must be versioned. This means having a "version" $[data.item] key in
the theme group for the widget. If the loaded theme group for a widget has version info which
is lower than the currently-running EFL version, a warning will be printed to notify the user that
new features may be available. If the loaded theme group for a widget has no version info, an
error will be generated. If the loaded theme group for a widget has a version that is newer than
the currently-running EFL version, a critical error will be printed to notify the user that
the theme may not be compatible.
2019-03-22 08:25:22 -07:00
@since 1.22
]]
2019-05-09 07:16:42 -07:00
c_prefix: efl_ui_layout;
2019-02-27 10:17:16 -08:00
data: Efl_Ui_Layout_Data;
methods {
2019-07-30 10:11:35 -07:00
@property finger_size_multiplier {
[[Set a multiplier for applying finger size to the layout.
By default, any widget which inherits from this class will apply
the finger_size global config value with a 1:1 width:height ratio during sizing
calculations. This will cause the widget to scale its size based on the finger_size
config value.
To disable finger_size in a layout's sizing calculations, set the multipliers for both
axes to 0.
@since 1.23
]]
set {}
get {}
values {
multiplier_x: uint; [[Multiplier for X axis.]]
multiplier_y: uint; [[Multiplier for Y axis.]]
}
}
2019-02-27 10:17:16 -08:00
@property theme {
[[The theme of this widget, defines which edje group will be used.
Based on the type of widget ($klass), a given $group and a
$style (usually "default"), the edje group name will be formed
for this object.
Widgets that inherit from this class will call this function
automatically so it should not be called by applications, unless
you are dealing directly with a @Efl.Ui.Layout object.
2019-03-28 09:12:27 -07:00
Note that $style will be the new style of this object, as retrieved by
@Efl.Ui.Widget.style. As a consequence this function can only be
called during construction of the object, before finalize.
If this returns $false the widget is very likely to become non-functioning.
2019-02-27 10:17:16 -08:00
]]
set {
2019-03-04 10:37:07 -08:00
return: Eina.Error;
2019-04-02 05:57:35 -07:00
[[Whether the theme was successfully applied or not, see
the Efl.Ui.Theme.Apply_Error subset of @Eina.Error for more information.]]
2019-02-27 10:17:16 -08:00
}
get {
}
values {
klass: string; [[The class of the group, eg. "button".]]
group: string("base"); [[The group, eg. "base".]]
style: string("default"); [[The style to use, eg "default".]]
}
}
2019-03-04 10:36:31 -08:00
@property automatic_theme_rotation @beta {
2019-02-27 10:52:14 -08:00
[[This flag tells if this object will automatically mirror the rotation changes of the window to this object.
]]
values {
automatic : bool; [[$true to mirror orientation changes to the theme $false otherwise]]
}
}
2019-03-04 10:36:31 -08:00
theme_rotation_apply @beta {
2019-02-27 10:52:14 -08:00
[[Apply a new rotation value to this object.]]
params {
2019-05-20 08:52:10 -07:00
orientation : int; [[The new rotation angle, in degrees.]]
2019-02-27 10:52:14 -08:00
}
}
2019-12-20 07:13:58 -08:00
@property theme_version {
[[The version a theme does offer
A theme might offer older theme versions, with this property you can detect which version is running. The theme version is bound to the efl-version, the oldest version you will get here is 123. The newest of released EFL.
This property is only valid after @Efl.Ui.Widget.theme_apply has been called.
In case there is no version specified, 0 is returned.
]]
get {
}
values {
version : int; [[Theme version of this objec, for a EFL version called 1.23, this property will return 123.]]
}
}
2019-02-27 10:17:16 -08:00
}
implements {
class.constructor;
Efl.Object.constructor;
Efl.Object.finalize;
2019-07-11 10:56:51 -07:00
Efl.Object.invalidate;
2019-02-27 10:17:16 -08:00
Efl.Canvas.Group.group_calculate;
2020-03-31 09:40:25 -07:00
Efl.Canvas.Group.group_change;
2019-02-27 10:17:16 -08:00
Efl.Layout.Calc.calc_freeze;
Efl.Layout.Calc.calc_thaw;
Efl.Layout.Calc.calc_auto_update_hints { get; set; }
Efl.Layout.Calc.calc_size_min;
Efl.Layout.Calc.calc_parts_extends;
Efl.Layout.Calc.calc_force;
Efl.Layout.Signal.signal_callback_add;
Efl.Layout.Signal.signal_callback_del;
Efl.Layout.Signal.signal_emit;
Efl.Layout.Signal.message_send;
Efl.Layout.Signal.signal_process;
Efl.Layout.Group.group_data { get; }
Efl.Layout.Group.group_size_min { get; }
Efl.Layout.Group.group_size_max { get; }
Efl.Layout.Group.part_exist { get; }
Efl.Ui.Widget.widget_sub_object_add;
Efl.Ui.Widget.theme_apply;
2019-02-27 11:00:14 -08:00
Efl.Ui.Widget.disabled {set;}
2019-02-27 10:17:16 -08:00
Efl.Ui.Widget.widget_sub_object_del;
Efl.Ui.Focus.Object.on_focus_update;
Efl.Container.content_count;
Efl.Container.content_iterate;
Efl.Part.part_get;
Efl.Ui.Property_Bind.property_bind;
Efl.Ui.Factory_Bind.factory_bind;
2019-08-14 10:25:53 -07:00
Efl.Ui.L10n.l10n_text { get; set; }
Efl.Ui.I18n.language { get; set; }
2019-02-27 10:17:16 -08:00
}
events {
theme,changed: void; [[Called when theme changed]]
}
}