path: root/src/lib/elementary/efl_ui_box.eo (unfollow)
Commit message (Collapse)AuthorFilesLines
6 daysefl_ui: mark localization methods with @empty for containersMike Blumenkrantz1-0/+2
Summary: these classes cannot be localized Depends on D9560 Reviewers: q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9561
2019-07-11declare a few classes stableMarcel Hollerbach1-1/+1
this is the first wave of stablization declarations fixes T7562 fixes T7846 fixes T7848 fixes T7859 fixes T7860 fixes T7861 fixes T7863 fixes T7878 fixes T7899 fixes T7918 fixes T7919 fixes T7963 fixes T7964 fixes T7965 fixes T7967 fixes T7969 fixes T7970 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9264
2019-07-09docs: Update Efl.Ui.Box documentationXavi Artigas1-16/+24
It has had a big uppercase FIXME text for 2 years.
2019-05-24Rename Efl.Ui.Direction -> Efl.Ui.Layout_OrientationXavi Artigas1-2/+2
Summary: This clarifies a bit the whole Orientation vs. Direction confusion, at the expense of longer names (Image_Orientation vs. Layout_Orientation). Also, the interfaces are now adjectives (Orientable) and the enums have long names (*_Orientation). Pretty big patch, but no functional changes. Relates to T7863 Test Plan: Everything builds and passes tests. Elementary_tests show same behavior, including the "inverted" widgets, which are the only parts which received a bit of code changes. Proof: https://travis-ci.org/Enlightenment/efl/builds/536277282 Reviewers: zmike, bu5hm4n, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8946
2019-04-26efl_pack: split algin and padding propertyMarcel Hollerbach1-5/+5
the pack interface is a general interface for how we pack things into a container. the align and padding property has less to nothing to do with this. Hence this commit splits the two properties into theire own interface. fix T7825 Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D8699
2019-04-26efl_ui: fix not to call _on_child_del() after container is deletedJaehyun Cho1-0/+1
If efl_ref() is called to child, then child may not be deleted when container is deleted. This causes _on_child_del() is called after container is deleted and it causes crash if container data is accessed in _on_child_del(). To resolve the above issue, all callbacks of child are deleted not to call _on_child_del() after container is deleted.
2019-04-17ui.box: remove leagcy evas_box from Efl.Ui.BoxYeongjong Lee1-0/+2
Remove legacy stuff from Efl.Ui.Box. This expect to improve performance by removing internal function call related evas_box. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8417
2019-02-27efl_container: remove content_removeYeongjong Lee1-1/+0
Most of classes implements Efl.Container.content_remove are just calling "unpack" except of "Efl.Canvas.Layout" and "Efl.Ui.Layout". This patch remove the asymmetrical API and add content_remove API of "Efl.Canvas.Layout" and "Efl.Ui.Layout" that child can be remove without efl_part APIs. ref T7576 Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D7913
2019-02-14Mark BETA classes individuallyXavi Artigas1-1/+1
Summary: Instead of surrounding all the #include "*.eo.h" lines in Efl.h with #ifdef EFL_BETA_API_SUPPORT, include these files unconditionally, but mark all classes as @beta in the eo files. This will allow taking them out of beta one by one as we deem them stable enough. Otherwise, the current procedure involves moving the #include line out of the ifdef block, which is cumbersome and messes include order. Depends on D7950 Fixes T7692 Test Plan: Nothing changes Reviewers: zmike, bu5hm4n, cedric Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7692 Differential Revision: https://phab.enlightenment.org/D7951
2019-02-13ui.box: implement homogeneous modeYeongjong Lee1-0/+12
Summary: On homogeneous mode, children are of the same weight and of the same min size which is determined by maximum min size of children. Depends on D7750 Reviewers: Jaehyun_Cho, zmike, jpeg Reviewed By: zmike Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7889
2019-01-26elm: add container api for the two objectsMarcel Hollerbach1-1/+1
this resolves unimplemented API by just mirroring the calls to different API calls. ref T5719 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D7749
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach1-2/+2
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7684
2018-04-24Efl.Pack_* (from Efl.Pack.*)Xavi Artigas1-11/+11
Ref https://phab.enlightenment.org/T6847 Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-01-08widget: rename elm widget to Efl.Ui.Widget.Amitesh Singh1-1/+1
2017-11-20efl: Split Efl.Container and Efl.ContentJean-Philippe Andre1-0/+1
When I first implemented the Efl.Container interface I made a mistake of mixing "single slot" content API's with "multiple children" content API's. This should fix that, by separating API's that are for a single part and those that deal with a list of children. Efl.Content: Single slot. This will be used a lot by efl_part() objects, and for the default content of widgets (eg. the window content). Efl.Container: Multiple children. Used by lists, boxes, layouts (edje/elm), etc... I didn't see any class that implemented both interfaces (note: Layout implements Container and Button implements Content, so technically Button implements both through inheritance). For now the eo_prefix is not changed in Efl.Container. I wonder if it should be reset (to efl_container) or not. This would only affect the C API. Ref T5328
2017-10-10efl_ui_box: remove old api!Marcel Hollerbach1-4/+0
2017-08-10efl.ui.box: Switch to Efl.Ui.Dir (EO)Jean-Philippe Andre1-3/+16
This makes the default box vertical, just like in legacy. The flow box is horizontal by default. Ref T5870
2017-05-19evas/elm: Make group_add/group_del internal functionsJean-Philippe Andre1-2/+0
This hides those two legacy functions from the EO API.
2017-04-18eo/elm: Simplify box/grid EO APIJean-Philippe Andre1-2/+0
After talking with @eunue I realised that the way I'd first implemented the box/grid "pack" API was simply too complicated. I had tried to make it possible to change the layout function at runtime, like good old evas box, but since there are no function pointers in EO the final design was really convoluted. If someone really needs to change the layout of a box at runtime, just create your own subclass, or unpack all items and repack them in a new box. Note: there are still some issues with the layout params & flow
2016-12-27elm: use new property implement syntax everywhereDaniel Kolesa1-8/+4
2016-11-17docs: efl_ui: fill gaps in efl_ui eo file documentationStefan Schmidt1-0/+1
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen1-1/+1
2016-06-17Evas: Rename smart object into Efl.Canvas.GroupJean-Philippe Andre1-3/+3
2016-06-17Evas: Add smart_ prefix to all smart functions (eo)Jean-Philippe Andre1-3/+3
This is a first step at separating legacy smart object features away from standard efl interfaces.
2016-06-03Efl.Pack: Replace pack_direction with Efl.OrientationJean-Philippe Andre1-11/+4
Since I first made the pack_direction before orientation existed, the names didn't match. This should improve API consistency.
2016-05-12Efl: Remove "legacy_prefix: null;" as it's now the default.Tom Hacohen1-1/+0
2016-05-12Efl pack: Fix namespacing to use . and not _.Tom Hacohen1-16/+16
2016-05-12Evas object smart: Fix namespace to use . and not _.Tom Hacohen1-3/+3
2016-04-26Efl: Rename some packing functions and return boolJean-Philippe Andre1-7/+6
This renames some APIs from Efl.Pack in order to try and make them more sensible. Feedback welcome. Also, most APIs now return bool, where false is quite unlikely to happen.
2016-04-26Efl.Pack: Add content_at_removeJean-Philippe Andre1-0/+1
This will match Edje Box remove_at
2016-04-26Efl: Introduce Efl.Container and unify APIsJean-Philippe Andre1-2/+2
This removes Efl.Pack_Named which had a terrible name, removes Elm.Container which should have been renamed Efl.Ui.Container anyway, and introduces an interface Efl.Container instead. The hierarchy tree is now changed as objects don't inherit from Efl.Container (it's an interface, not a regular class) but only implement it. Obviously it is very easy to reintroduce an Efl.Ui.Container parent class if we need it, but I guess it should have some actual logic. It's basically part of what Elm.Widget already does. Some function names have been modified to look better in C with the efl_content prefix. @feature
2016-04-20Efl.Pack: Rename methods and propertiesJean-Philippe Andre1-15/+17
- Children are now contents - Efl.Pack_Layout is now a separate class and merges Pack_Engine. - Removed dumb class Efl.Pack_Item - Updated docs - Added pack_ or grid_ prefixes to some methods
2016-04-20Efl.Ui.Box: Add pack_align propertyJean-Philippe Andre1-0/+2
While at first I wanted to remove the box_align / table_align properties, it ends up being a necessary value in some cases.
2016-04-20Efl.Ui.Box: Implement way to override layout functionJean-Philippe Andre1-1/+5
So, since we don't have function pointers, all the solutions to reimplementing the layout function are quite convoluted: 1. use events 2. reimplement layout func 3. use an extra object 4. use a generic class (non instanciated) Promises don't apply here (layout will run multiple times). Problems: 1. Multiple event callbacks will be called, resulting in potential performance impact, extra events, etc... Also, there is no way to define standard implementations that would be provided by the framework. 2. Reimplementation of a function requires extra EO work (create an EO class, etc...), doesn't allow on-the-fly change of the layout method. 3. Probably the best solution is to have an object implementing the layout. But this means creating an extra object along with the container. 4. To avoid the extra object, use a class, and reimplement a @class function. This unfortunately requires extra EO work. Solution 4. has been selected, but it's not very nice...
2016-04-20Efl.Ui.Box: Add implementation of a simple boxJean-Philippe Andre1-0/+39
This should be the only linear packing container. This replaces: evas box and elm box. Edje box needs to be kept around for compatibility, but it stays an EDC object only (for apps). Lots of things are still to be fleshed out in this box implementation: - Simplify smart object / elm widget code - Maybe stop using evas object box altogether - Implement other layout strategies @feature