View is something that is expected in the context of MVVM, so using it somewhere else is
going to lead to some confusion. Spotlight does descrive the objective of all of this
widget in actually a more explicit way as they all give the spotlight to one sub widget
at a time.
I have also renamed the View_Manager to be just Manager as the View there wasn't useful.
This class helps widgets which contain a numerical value and must display it,
like Progressbar (units label), Spin, Spin_Button, Slider (both units and popup
labels, in legacy), Tags (when in shrunk mode) or Calendar (year_month label).
Previously this was a mix of interface and mixin: widgets had to support setting a
formatting func, and the mixin offered support for formatting strings, by setting
an internal formatting func. On top of that, the spinner widget supported "special
values", a list of values that should be shown as certain strings instead.
This has now been simplified and unified:
Widgets including this mixin can use the formatted_value_get() method which accepts
an Eina_Value and returns a string. Thats's it.
The mixin adds three properties to the widget (format_values, format_func and
format_string) which users can use to tailor formatting. The widget does not need
to know which method has been used, it just retrieves the resulting string.
This removes a lot of duplicated widget code, and adds functionality which was
missing before. For example, all widgets support passing a list of values now.
Widgets must implement the apply_formatted_value() method so they are notified
of changes in the format and they can redraw anything they need.
Tests have been added to the Elementary Spec suite for all cases.
Legacy widgets behavior has not been modified, although a few needed some code
changes.
Summary:
it seems something is leading to weird stack behavior with gcc when we
do not delete the widget here. Later deletion in _elm_win_shutdown leads
to a crash like:
#0 0x00007f7b30dd5bd7 in _elm_win_shutdown () at ../src/lib/elementary/efl_ui_win.c:3805
#1 0x01007f7b30cdf3a2 in ?? ()
#2 0x00007fffa4e60570 in ?? ()
#3 0x0000000000407b14 in _elm_suite_shutdown () at ../src/tests/elementary/suite_helpers.c:52
which is kind of weird. After a day of debugging i did not get any
further, so maybe it is better to do add a hack, so we are having at
least a running CI again
Reviewers: stefan_schmidt, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9112
Summary: this was simply not tested before. But works now.
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9109
This can be done with Efl.Ui.Active_View
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8907
this widget tries to replace efl.ui.stack efl.ui.flip & efl.ui.pager
In general those widgets do the same thing, they get content. And
display them with some sort of animations. The new idea here is, that
the basic widget active_view only handles the ownership etc. of the
content that gets added to this. Then there is a view_manager object. The
view_manager object gets notified over the new contents, and requests for
displaying particular contents. The transition then handles those
things.
The version here is feature complete with Efl.Ui.Stack and Efl.Ui.Pager.
Additional features can be implemented in the corresponsing transition
classes. Examples and tests will follow
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8784
Summary:
legacy full style item is introduced Efl.Ui.ListEmptyItem Class in new Efl Interface,
but using "Empty" name is too ambiguous to present style usage.
Thanks to @cedric and @segfaultxavi,
I found better name for this class, Efl.Ui.ListPlaceHolderItem,
as item hold the place which need to be replaced and relayouted by user generated content.
Depends on D8582
Reviewers: cedric, segfaultxavi, eagleeye
Reviewed By: eagleeye
Subscribers: cedric, #reviewers, segfaultxavi, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9034
Summary:
We now also fail in the focus tests
Depends on D9021
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9022
This adds support for OpenBSD with meson build
system. Also use better paths. This resolves
further issues when building EFL.`
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9028
Summary:
frame now uses efl.ui.clickable, which ensures correct click emittion.
The click event is not needed in the event anymore. However, now
efl,action,press / efl,action,unpress is needed.
Depends on D8825
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8826
Summary:
the implementation of efl_ui_clickable is now used to tricker the
events. efl,action,click and efl,action,click,double is not needed
anymore from the theme.
Depends on D8824
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8825
Summary:
the mixin is now used to emit the events of the mixins. This is verified
by the testsuite. The testsuite needs a special treatment for the
object, because a missing image-file of the object would result in a 0x0
image size.
Depends on D8822
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8823
Summary:
the new test checks if the events are correctly emitted
Depends on D8821
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8822
Now, efl_content_iterate, efl_content_count, efl_pack, efl_pack_unpack,
efl_pack_unpack_all and efl_pack_clear are available for relative_layout.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8631
sooo, this test suite is testing interfaces. And when a content needs to
be passed into the API, a lightweight version of a widget will be passed
in. But sometimes implementations *do* requires special classes, they
can now be specified with a custom-mapping in json.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8701
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
for now the widgets which are tested are encoded in the test files where
the tests are implemented. This is for now done in a simple json format,
just for the sake of simplicity.
ref T7815
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8685
this commit ensures the following:
- Delete content when new content is set
- Content set input validation
- Correct parent setting
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8682
This patchset ensures that the following features are supported:
- content-widget deletion on set content
- content-widget validation on set calls
- invalid cases return false
- event emission
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8681
when you inherit from widget_parent, you MUST call the super function.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8680
there are no tests for Efl.Pack_Table for now, so here comes unification
for Efl.Pack tests.
Differential Revision: https://phab.enlightenment.org/D8557
We have two elementary test suite, what is more obvious than just adding
a third one! This testsuite aims for establishing a standard behaviour
for the interfaces we have added in efl now. This first part here brings
a few testcases for Efl.Pack which are currently only passing for
Efl.Ui.Box. More widgets will be added afterwards.
The testcases themself are not defined after what worked or did not
work, but rather what made sence (in my opinion ^_^).
ref T7767
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8518