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: https://phab.enlightenment.org/D6985
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.
A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.
The major changes are:
Life-cycle:
- Code was split to have 'finalize'
- Item anchors (emoticons, images) were rewritten to have proper
life-cycle
Scrolling logic:
- Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
Elm.Interface_Scrollable implementation. Singe-line and multi-line
modes were fixed as well as sizing calculations. The object is now
swallowed inside the Ui.Text widget.
Copy and paste:
- Code was converted to Efl.Selection logic.
Modified tests:
elementary_test -to "efl.ui.text"
elementary_test -to "efl.ui.text label"
Added tests:
elementary_test -to "efl.ui.text inputfield"
Removed test:
elementary_test -to "efl.ui.text.async"
Summary:
View is not a namespace, but an interface,
So, View_List cannot be under the view namespace for now.
it looks more suite to be end as View than List on this widget name.
Firstly, it follows our common naming rules of class.
Also, List_View is commonly presentable name on most UI frameworks,
so it is very easy to understand what this widget can do for the user.
Test Plan:
Make works.
Example is not works for now til stable model interface.
Reviewers: felipealmeida, woohyun, cedric, Hermet
Reviewed By: Hermet
Subscribers: larryolj, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7234
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
Summary:
this patch refactories a momentum scroll animator logics.
1. animation duration
animating runs within a one second now.
and if it needs more time to animate, it decrease intepolation progress by dividing some value.
current logic makes sense however, it is not easy to read to know how it works.
this patch modify current logic to calculate distance to move, and time to animate.
2. distance to move
we can apply simple physics something like mass of pan and friction of scroller itself.
but this patch apply just geometric seqeunce to calculate distance to go.
it's more easy to customize behavior of scroller than current sine graph based one.
3. accelerate logic
scroller sets 'extra_time' to accelerate a scroller for now.
but this patch modify logic not to use it.
however it uses current momenutum velocity as a bais of next momentum animating.
@feature
Reviewers: zmike, #reviewers, Hermet
Reviewed By: #reviewers, Hermet
Subscribers: Hermet, cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6643
Summary:
by key bindings..
now we can select TAB with the Return/Space key.
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: YOhoho, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6779
Summary:
The Spin_Button class supports two types(horizontal, vertical).
User can use 'efl_ui_direction()' for spin_button.
@feature
Test Plan: elementary_test-> spin_button sample.
Reviewers: Hermet, Jaehyun_Cho
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6680
Summary:
Naviframe provides deferred push/pop signals to begin transition effect and
not to emit signals frequently for transition callbacks.
To handle the deferred naviframe push/pop signals, programs which catch the
signals are added.
@fix
Test Plan: Test naviframe in elementary_test by pressing next and prev buttons.
Reviewers: zmike, Hermet
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6823
Summary:
It turns out elm/uiclock (which was removed in 89675c3219) is actually used,
at least by the datetime legacy widget. Removing this widget broke the
datetime_example test.
This commit reverts 89675c3219 and fixes the elm/uiclock part names:
- Part names are prefixed with 'elm.'
- efl_ui_clock.c (which is used for both the new efl and the legacy elm widgets)
now looks for part names with 'efl.' and 'elm.' prefixes, and without any
prefix, for compatibility with older themes.
Fixes T6928
Test Plan: the Datetime elementary_test (and all other clock-related tests) now work.
Reviewers: zmike, jsuya, CHAN, devilhorns, Jaehyun_Cho
Reviewed By: zmike, jsuya, CHAN
Subscribers: #reviewers, Jaehyun, Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T6928
Differential Revision: https://phab.enlightenment.org/D6577
Summary:
TAB of efl_ui_tab_bar is no longer widget_item.
TAB is now layout,
so, do not need below signals.
"efl,text,visible"
"efl,text,hidden"
"efl,icon,visible"
"efl,icon,hidden"
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6770
as this group is used by an external application, it can never be modified,
and thus namespacing issues cannot ever be resolved. for this reason there is
no other option except to skip validation of this group
fix T7072
Depends on D6388
Differential Revision: https://phab.enlightenment.org/D6389
Summary:
Legacy widget is elm/clock, and the new one is efl/uiclock.
There does not exist a legacy elm/uiclock.
This also reverts commit 20404d79d4
(elm_datetime, efl_ui_clock : Add check 'legacy widget' for layout signal emission)
Since there is no need to check for legacy versions of uiclock.
Ref T6965
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6965
Differential Revision: https://phab.enlightenment.org/D6450
Summary:
This adds the "horizontal_fixed" description to each of the inheriting
parts in their respective inheriting groups "left" and "right".
An issue was observed when an emitted signal caused the part's
description to change to the one inherited from the "default" group.
Fixes T5382
@fix
Reviewers: #committers, devilhorns, Hermet
Reviewed By: #committers, Hermet
Subscribers: cedric, zmike
Tags: #efl
Maniphest Tasks: T5382
Differential Revision: https://phab.enlightenment.org/D6467
Summary:
API parts require namespacing, these parts have been namespaced with
compatibility code added to handle legacy naming
Reviewers: cedric, Hermet, devilhorns, stephenmhouston
Subscribers: segfaultxavi, Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6213
Summary:
API parts require namespacing, these parts have been namespaced with
compatibility code added to handle legacy naming
Depends on D6210
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6211
Summary:
this was released with improperly namespaced parts which must be maintained
for future releases, but the namespacing can be corrected for future
releases while adding aliasing to preserve compatibility
Depends on D6208
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6210
Summary:
this appears to be a remnant of the time before edje had spacer parts
and other part types were randomly used instead
there is no library reference to this part and it is not namespaced so
there is no reason to leave it as a (confusing) swallow
Depends on D6040
Reviewers: cedric, Hermet
Reviewed By: Hermet
Subscribers: Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6208
Summary: non-api parts should avoid using '.' in the name to avoid confusion
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6037
Summary:
this will trigger a build failure if someone modifies the theme in such
a way that namespacing is not used correctly, saving some time when
reviewing larger patches which have many theme changes
ref T6911
Depends on D6036
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Maniphest Tasks: T6911
Differential Revision: https://phab.enlightenment.org/D6042
Summary:
efl_ui_format_string_set was not working well.
Changed default format text. ("++++ %d" text for test only.)
@fix
Reviewers: Jaehyun_Cho, cedric, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: zmike, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6044
Summary:
this is part of the datadir distribution, it should not be in a different
directory than the rest of the datadir distribution
the gnu coding standards (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
define 'datadir' as:
The directory for installing idiosyncratic read-only architecture-independent
data files for this program. This is usually the same place as ‘datarootdir’,
but we use the two separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.
This should normally be /usr/local/share, but write it as $(datarootdir).
(If you are using Autoconf, write it as ‘@datadir@’.)
The definition of ‘datadir’ is the same for all packages, so you should install your
data in a subdirectory thereof. Most packages install their data under $(datadir)/package-name/.
while this text has no clear requirement or suggestion for a corresponding
repository layout, projects typically employ a certain consistency in their
repository layout both for ease of maintenance and ease of learning for new
contributors.
this project has both a data/ directory, which contains the datadir distribution,
as well as the config/ directory, which also contains the datadir distribution.
this complicates matters both for active maintainers/developers who must
remember that the repository and build tree layouts have this exception,
and for new contributors who will initially be confused by this exception
other well-organized open source projects, such as wayland, have chosen to not
use a data/ directory. these projects have the datadir distribution in the base
directory of the repositor, which is a fine practice as it maintains consistency
for the project since all the files for the datadir distribution are in the same
directory.
by applying this patch, the project will move towards a more easily readable and
learnable layout. current and future developers will no longer need to wonder why
this directory is outside of the data/ directory, and anyone attempting to reference
these files from the source/build trees will be able to do so more easily
Reviewers: cedric, stefan_schmidt, raster
Reviewed By: stefan_schmidt, raster
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6013
Summary:
the basic concept of Efl.Ui.Tab_Pager is similar to elm_toolbar.
user can attach Efl.Ui.Tab_Bar to the tab_pager.
user can create an Efl.Ui.Tab_Page to add tab label, tab icon and set the content of the page.
user can pack Efl.Ui.Tab_Page into tab_pager.
The tab and page match one to one.
user can controls tab and page through tab_pager.
See T5317
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: eunue
Differential Revision: https://phab.enlightenment.org/D5988
Summary:
most usage of simple list, items are very limited and loading performance is not serious.
to support those requirement, this efl.ui.list will create scrollable box with efl.pack.
user can create list by packing an pre-loaded item object, Efl.Ui.List.Item class.
Test Plan: tested in efl_ui_list_example_1.c in examples.
Reviewers: cedric, felipealmeida
Subscribers: woohyun, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5861
Summary: remove the elm legacy name of efl ui theme
Test Plan: run elementary_test and test efl ui widget cases
Reviewers: Jaehyun_Cho, woohyun, cedric, raster, jpeg
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5934