path: root/src/lib/elementary/efl_ui_grid.eo (follow)
AgeCommit message (Collapse)Author
2019-11-25efl_ui_multi_selectable: clean this upMarcel Hollerbach
this commit merges common functions from efl_ui_multi_selectable and efl_ui_multi_selectable_async. Additionally, the two different aspects of accessing the elements in a multi_selectable widget (numerical or object based) are now abstracted into interfaces called range_numeric and range_object. numeric APIs are also prefixed with id's, so its possible for one widget to implement both (if there will ever be the demand to do that in future). The main reason for this split is: - there is no good common path between mvvm based multi_selectable and object based multi_Selectable, so there is no way that both sides would benefit, without the other one suffering. - If we find later on the demand to implement both on one widget, we now can fully do that - Common API is available for both types, so its less API and less confusion for the API user. ref T7871 ref T8265 Reviewed-by: Cedric BAIL <> Differential Revision:
2019-10-14eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1WooHyun Jung
Summary: This is not the end of fixing eolian errors. I need to keep fixing more. Test Plan: 1. export EOLIAN_ENFORCE_SINCE=1 2. ninja Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho Reviewed By: segfaultxavi, Jaehyun_Cho Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-25efl_ui : change selected_items_get to selected_iterator_new.SangHyeon Jade Lee
multi_selectable_aync already changed name as selected_iterator_new so multi_selectable change name also for unity of API. not sure about we need unselected_items_get in multi_selectable, so skip to create new api for this time. Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-09-24declare first round of classes stableMarcel Hollerbach
this stabelizes the "stableized" column of the efl: api workboard. fixes T8208, fixes T8158, fixes T8156, fixes T8025, fixes T8024, fixes T7976, fixes T7946, fixes T7928, fixes T7923, fixes T7905, fixes T7902, fixes T7901, fixes T7900, fixes T7898, fixes T7897, fixes T7895, fixes T7894, fixes T7893, fixes T7891, fixes T7880, fixes T7873, fixes T7869, fixes T7867, fixes T7865, fixes T7862, fixes T7854, fixes T7847, fixes T7881, fixes T7870, fixes T9086 Differential Revision:
2019-08-30docs: Proper documentation for Collection and Item classesXavi Artigas
Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl, #documentation Differential Revision:
2019-08-29efl_ui_grid/list: update single class docMarcel Hollerbach
Summary: its not much more, but a little bit. All other information about the features in this widget can be found via the implemented interfaces. ref T7881 ref T7870 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7881, T7870 Differential Revision:
2019-07-25elementary: use data:null to remove unecessary structure declaration.Cedric BAIL
Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-07-25rename efl_ui_item_container -> efl_ui_collectionMarcel Hollerbach
this is the first rename of the main widget, the renames of the test suites will follow Reviewed-by: Cedric BAIL <> Differential Revision:
2019-07-25efl_ui_grid_item: remove thisMarcel Hollerbach
this is not needed anymore, the grid items can also just inherit directly from the items. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-07-24efl_ui_grid: make it work with item_containerMarcel Hollerbach
this also reformats the example, removes comments that are misleading, removes UI elements that have no purpose. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-05-26eolian: rename @warn_unused and its associated APIDaniel Kolesa
@warn_unused in syntax is now called @no_unused - this is because "warning about unused" is a C thing (or rather, an extension to C) and various languages might want to use stricter behavior for this. Its associated API does the reverse now - it lets you query whether being unused is allowed at all. This is to match future behavior of Eolian (once it supports versioning) that will likely reverse it. @feature
2019-05-24Rename Efl.Ui.Direction -> Efl.Ui.Layout_OrientationXavi Artigas
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: Reviewers: zmike, bu5hm4n, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-05-14efl_ui: remove Efl.Ui.Clickable from containersMarcel Hollerbach
Summary: these widgets here are containers, means: they contain items that can be clicked, but the container itself cannot be clicked. Later on, we should introduce a new interface which contains events that reflect the clicked event of theire items. Depends on D8827 Reviewers: zmike, segfaultxavi, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-04-26efl_pack: split algin and padding propertyMarcel Hollerbach
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 <> Differential Revision:
2019-02-28interfaces: don't inherit efl.ui.layout anymoreMike Blumenkrantz
Summary: this removes efl.file from the class hierarchy Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl_api Differential Revision:
2019-02-14Mark BETA classes individuallyXavi Artigas
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:
2019-01-23elm: note down all composite sections for widgetsMarcel Hollerbach
Summary: A lot of new widgets are using the new Scrollmanager class, the instance of this class is then attached via composition to the widget. This is providing the implementation for Efl.Ui.Scrollbar & Efl.Ui.Scrollable_Interactive. In the text widgets the same applies to the internal interactive text widgets. The tags widget is using the text entry as composite, and thus provides efl.ui.text api. The addition of those composite { } sections are removing the particular unimplemented APIs from the eolian errors. ref T7652 Depends on D7737 Reviewers: zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7652 Differential Revision:
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <> Reviewed-by: Xavi Artigas <> Differential Revision:
2018-11-20efl_ui_grid : introduce new packable grid widget for Efl.Ui.WidgetSangHyeon Jade Lee
Summary: Introduce new packable grid for Efl.Ui.Widget toolkits. most of parts are same as Efl.Ui.List, and it also support Efl.Pack_Linear, although it will not support Efl.Pack_Table, because item must be arranged sequential orders. Test Plan: We will make the tests on efl ui test suite. please test by make check. Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun Reviewed By: Hermet, eagleeye Subscribers: CHAN, bu5hm4n, cedric Tags: #efl Differential Revision:
2017-12-19interface : change efl_pack_grid and efl_ui_grid to efl_pack_table and ↵SangHyeon Lee
efl_ui_table Summary: Change name of 'grid' to 'table' for matching on common ui naming and avoiding confusion with 'gengrid' and 'grid view'. grid will be introduced as grid image view after. Test Plan: checked make & make install checked make check - there are errors but not related with these changes. checked make examples - there are errors in cxx but not related with these changes. checked make discheck - failed test in elementary_test with Efl.Ui.Table and Table_static. Reviewers: raster, cedric, jpeg, felipealmeida Differential Revision:
2017-11-20efl: Split Efl.Container and Efl.ContentJean-Philippe Andre
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_grid: remove old api!Marcel Hollerbach
2017-08-10grid: Switch to Efl.Ui.Dir (EO)Jean-Philippe Andre
Ref T5870
2017-05-19evas/elm: Make group_add/group_del internal functionsJean-Philippe Andre
This hides those two legacy functions from the EO API.
2017-04-18eo/elm: Simplify box/grid EO APIJean-Philippe Andre
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 Kolesa
2016-11-17docs: efl_ui: fill gaps in efl_ui eo file documentationStefan Schmidt
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-06-17Evas: Rename smart object into Efl.Canvas.GroupJean-Philippe Andre
2016-06-17Evas: Add smart_ prefix to all smart functions (eo)Jean-Philippe Andre
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 Andre
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 Hacohen
2016-05-12Efl pack: Fix namespacing to use . and not _.Tom Hacohen
2016-05-12Evas object smart: Fix namespace to use . and not _.Tom Hacohen
2016-04-26Efl: Rename some packing functions and return boolJean-Philippe Andre
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: Introduce Efl.Container and unify APIsJean-Philippe Andre
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 Andre
- 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.Grid: Implement custom layout functionsJean-Philippe Andre
Untested yet. Will need to add the common 3 classes: - standard - homogenous - homogenous max_size And then implement a true custom layout function, that respects weights in a certain manner (need to define it clearly).
2016-04-20Efl.Ui.Grid: Fix new API behaviourJean-Philippe Andre
This fixes the linear API usage with a table. TODO: - remove internal table (as it doesn't support layout funcs) - implement multiple layout functions (regular, homogenous, ...)
2016-04-20Elm_test/Grid: Add linear API test for Efl.Ui.GridJean-Philippe Andre
At this point, it proves that the grid API does not work. Some things still need to be implemented or fixed.
2016-04-20Efl.Ui.Grid: Add implementation of a grid/tableJean-Philippe Andre
This is only a partial implementation, work in progress. The grid object should be a replacement for evas and elementary's table and grid. Only the layout of items inside the container is different, otherwise the API should be the same. For now, this widget is based on an evas table but the full layout logic will need to be reimplemented, eventually. @feature