the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.
For now the fade manager is the only thing that uses that.
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358
the previous commits introduced a abstraction for drag in drop which can
be now used for this here. With this commit all the direct protocol
handling in efl.ui is removed, and only the ecore evas API is used.
Additionally, this lead to a giant refactor of how APIs do work. All
Efl.Ui. interfaces have been removed except Efl.Ui.Selection and
Efl.Ui.Dnd, these two have been restructored.
A small list of what is new:
- In general no function pointers are used anymore. They feel very
uncompftable in bindings and in C. For us its a lot easier to just
listen to a event when a drop enters or leaves, there is no need to
register custom functions for that.
- Asynchronous data transphere is handled via futures, which proved to
be more error safe.
- Formats and actions are handled as mime types / strings.
- 0 is the default seat if you do not know what else to take.
- Content is in general passes as a content container from eina, this
also allows applications to pass custom types
The legacy dnd and cnp API is implemented based on that.
All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11190
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
buffer with a Eina_Content, these content pointer ownerships are
passed to the called. Internally ecore_evas code will memorieze the
pointer, and pass on function callbacks to the modules, which then do
not have to deal with the ownership.
- In case the module does not specify these APIs, the callback
implementation will be called, which only works for cnp *not* dnd.
- Action and mime types are handled as strings, which allows way better
custom organisations.
(The docs needs improvement)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.
Depends on D11142
Reviewers: segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11143
Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon
However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator
However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11142
Summary:
this is just like elm_separator, just written for unified widgets.
This inherits from item, which has the advantage that this separator can
also be added into item container.
Reviewers: zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11125
Summary:
Since "View" is a reserved word for MVVM, change the class name appropriately.
Efl.Ui.Animation_View => Efl.Ui.Vg_Animation
ref T8476
Depends on D10931
Test Plan: elementary_test -> "Vector Graphcis Animation"
Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D10939
Summary:
Just removed elm_slider_eo.legacy.h which did not
have any dependency with other files
Test Plan:
1. sudo ninja install
2. elementary_test
3. Slider
Reviewers: segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10876
Summary:
This class is the same as efl_ui_text, efl_ui_text is editable by default.
This class should be removed
Reviewers: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10831
This has never been fully finished or really used. The GeoClue project
dbus API moved on to a newer version as well. We still have it marked as
beta so we should take the chance and get rid of it to cleanup our tree
a little bit.
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10788
They are just helpers, so a user does not need to handcreate spotlight
managers. This also leaves us the possibility of letting
spotlight_managers beeing @beta.
ref T7991
Differential Revision: https://phab.enlightenment.org/D10773
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 <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10675
The idea of this widget is to provide to MVVM what Efl.Ui.Collection provide and
leverage the same shared logic for layout.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9958
This interface is currently focusing on being use by widget like
Efl.Ui.Collection_View or Efl.Ui.Select_Model. I have decided that
it should not be available along with Efl.Ui.Multi_Selectable.
Differential Revision: https://phab.enlightenment.org/D9957
For most event it is actually meaningful to share them with Efl.Ui.Collection_View so let's do it.
Differential Revision: https://phab.enlightenment.org/D9956
this was somehow actually a legacy header which duplicated elm_calendar.h
...sort of
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9980
these seem to randomly have been changed when they shouldn't have
also install elm_clock_eo.h since this is required but we didn't install it
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9971
Summary:
Select and View is ui characteristic features,
so Efl_Select_Model and Efl_View_Model move to elementary from ecore
seems more natural.
namespace also should changed to Efl.Ui as it's right place.
Test Plan: run the test while building it
Reviewers: cedric, felipealmeida, bu5hm4n, zmike, lauromoura
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9820
I introduced the property for item a few patches earlier. I do not want
to use a part for this, as i would have to implement the class twice
(Once in the part, once as a selfstanding object).
It would also be kind of weird to have code like:
efl_content_set(efl_part(efl_part("item"), "tab"),bla).
The purpose of this part also got a little bit replaced when the item
was introduced, as this is the central point of data for the tab bar
icon. So need for an additional editition part.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9728
Summary:
Tab bar used a direct layout to implement all this functionality by its
own. However, it seems that we can reuse a lot of object functionality
that is already part of efl.ui.item. With this commit the features that
are not part of Efl.Ui.Item are moved to Efl.Ui.Tab_Bar_Default_Item.
The tab bar is changed in a way that you do not need to pass the icon
and label by hand anymore, you can rather just pass the tab_bar default
item. Additionally, the item for a tab_page can now directly be
generated from a page.
This is the first commit in order to cleanup efl_ui_tab_bar, tab_page &
tab_pager. The goal is also to implement our interfaces for inserting
elements on those objects. So our common test suites can also be used.
Reviewers: zmike, segfaultxavi, cedric, woohyun, bowonryu
Reviewed By: woohyun
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9726
before data access has been a property on
Efl.Ui.Position_Manager.Entity. However, we are not sure how stable all
this will be, and maybe we have the demand to change that in future, in
order to allow more high-performance item passing here.
Additionally, this patch addresses a few lectures learned from the past,
that includes:
- direct group header filling.
- direct group sizing
- difference between size for caching, and size for displaying
- Have a end_id which is the maximum of id that is filled.
ref T8179
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9754
this can now be done by simply calling
efl_ui_widget_scrollable_content_scrollable_text_set on an alert popup
tests have been adjusted for this
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9677
this can now be done by simply calling efl_ui_widget_scrollable_content_set
on an alert popup
tests have been adjusted for this
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9675
this allows content to be set with a scroller that automatically handles
its own sizing calcs so that widgets/apps don't have to
@feature
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9674
Summary:
all functionality is now merged into the base popup class. this greatly
simplifies the codebase and deduplicates a lot of code
ref T7902
Depends on D9651
Reviewers: cedric
Reviewed By: cedric
Subscribers: herb, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7902
Differential Revision: https://phab.enlightenment.org/D9652
Summary:
This is a new convenient ui control that designed to load vector resources
-svg, json-, and control animations if it supports.
Please turn on evas-loaders-json in meson options,
if you'd like to use Lottie Animation.
Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>
@feature
Reviewers: #committers, jsuya, zmike, bu5hm4n
Reviewed By: #committers, bu5hm4n
Subscribers: zmike, bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9451
this brings a group item in the style of genlist / gengrid group items.
The group item theme does currently not provide the signals in the theme
that would be needed for selecting it. This is kind of intended, but we
might need API to express that.
ref T8115
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9583
these parts are hard copies of the part implementations given from the
layouts. Replacing them with the layout implementation just works
ref T8115
Differential Revision: https://phab.enlightenment.org/D9582
default item is used as base class for all "normal style" efl items.
A "normal style" efl item does have a text,content & extra part.
- The text part is usally used to express some text in the item
- Content part is the *main* content part where the user attention is
on.
- Extra can be used to display some elements that are not directly
getting the attention of the user, it can be seen as something more than
the decoration item field.
ref T8115
Differential Revision: https://phab.enlightenment.org/D9629
right now they are just thin wrappers from what have been in
efl_ui_collection. This is just a first effort, the interfaces have to
be equipped with more and better API, more events, and tests.
ref T8057
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9515
Summary:
the behaviour here is that the next item according to the direction is
getting focused. This sounds easy but is quite complex given the fact
that the items might be hidden. This is the first draft for this, to see
how good it performes.
Reviewers: zmike, stefan_schmidt, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9496
this is meant to be implemented by entities that *can* be selectabled
(not to be confused with containers that can have selected contents)!
ref T8057
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9503
efl_ui_clickable_util was only for efl_input_clickable interface,
but there can be more cases which want to connect object event
to specific action interfaces (such as scrolling) in the future.
For that extension, efl_ui_action_connector seems better.
ref: T7847
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9486
this is the first rename of the main widget, the renames of the test
suites will follow
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9408
this is not needed anymore, the grid items can also just inherit
directly from the items.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9395
this has nothing usefull in it. Additionally, future commits will brings
up another design where there is a central default item style, which can
be hinted.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9394
This does the following rename as per T8058:
Efl.Ui.Item_Position_Manager -> Efl.Ui.Position_Manager.Entity
Efl.Ui.Grid_Position_Manager -> Efl.Ui.Position_Manager.Grid
Efl.Ui.List_Position_Manager -> Efl.Ui.Position_Manager.List
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9388
This also refactors the example a little bit.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9385
this also reformats the example, removes
comments that are misleading, removes UI elements that have no purpose.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9384
this is a new widget which aims to replace Efl.Ui.Grid / Efl.Ui.List.
The widget is split up in a widget and a interface for item placement.
Efl_Ui_Item_Position_Manager: The interface contains API which is used
by the Item_Container to place the items, there is also a set of common
tests which tests for the casual tripping wires, and ensures that the
events are emitted in the correct moments (the later part still can be
improved)
Efl_Ui_Item_Container: The widget itself, it contains the API for the
enduser to add Items to the widget, it handles the different modes for
selection type and emits the events for selection changes. The pack API
is conform with the spec unit test. An additional set of tests is
defined which should be able to be run on every widget with a specific
position_manager beeing set.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9285