Commit Graph

216 Commits

Author SHA1 Message Date
Amitesh Singh c99b37ad47 Efl.Ui.Progressbar: implement range min max 2018-01-31 17:44:20 +09:00
Sungtaek Hong f3d3104a14 elm_test: add elementary_test for Efl.Ui.Button
Test Plan: Run elementary_test->Efl.Ui.Button

Reviewers: jpeg, cedric, Jaehyun_Cho

Reviewed By: jpeg

Subscribers: jsuya

Differential Revision: https://phab.enlightenment.org/D5741
2018-01-30 13:55:52 +09:00
Carsten Haitzler 42dfee3744 elm - fix makefile to install missing header for elm_code 2018-01-24 23:39:03 +09:00
Sungtaek Hong cb25699dac efl_ui_legacy: add new interface to indicate legacy widget
Summary:
For now, how to check whether a widget is legacy or not
is to check flags in private data or static flag, which is set
during elm_legacy_add.
If Efl.Ui.Legacy interface is added, it can be easilly checked
by efl_isa(obj, EFL_UI_LEGACY_INTERFACE)

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5748
2018-01-24 18:14:26 +09:00
Daniel Hirt 4a905a22a4 Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text
This interface has a simple 'create' method to create Efl.Canvas.Object
given a key.
This is used higher-up in Ui.Text in the next commit.

Ui text: add ability to set item factories

Added API to set an item factory object.
This is similar to the previous item providers (that worked with
callbacks).

You instantiate a factory object and set it on the Ui.Text object.
Each factory implements the "create" method from
Efl.Canvas.Text.Item_Factory.

This also includes 3 public factories (Image, Emoticon and Fallback):
  - Image factory: creates images from added entries (key strings)
  - Emoticon factory: creates emoticons by querying the theme
  - Fallback: creates image, then falls back to emoticon

If no factory is set, then the fallback (internal) factory is used.

See the added "Ui.text Item Factory" test in elementary_test for an
example of usage.

@feature
2018-01-18 10:20:28 -08:00
Yeongjong Lee 210db8fc5d efl_ui_focus: merge efl_ui_focus_user and efl_ui_focus_object into one mixin
Summary:
focus_user and focus_object are similar classes. by merging them into
one mixin, we can maintain consistency.

Test Plan: make check

Reviewers: bu5hm4n

Subscribers: cedric, Jaehyun_Cho, woohyun, jpeg

Differential Revision: https://phab.enlightenment.org/D5734
2018-01-16 22:39:13 +01:00
Thiep Ha e88bbaa1e3 cnp_dnd: make legacy APIs use new interfaces
Legacy APIs can uses efl_selection, efl_ui_dnd, efl_ui_dnd_container interfaces
with helper functions.
2018-01-11 17:56:24 +09:00
Thiep Ha 35339504b0 dnd: add efl_ui_dnd_container
efl_ui_dnd_container is the interface of dnd for container objects.
2018-01-11 17:56:24 +09:00
Thiep Ha e6ab4b41ed dnd: add efl_ui_dnd
Efl_Ui_Dnd is the interface for drag and drop of elm_cnp.
2018-01-11 17:56:24 +09:00
Thiep Ha f191d6821f selection: add efl_selection interface
Efl_Selection is the object interface for selection api of elm_cnp.
It allows get, set, clear, check selection.
2018-01-11 17:56:24 +09:00
Thiep Ha 763daa870e cnp_dnd: add selection manager
Selection manager implements functions for selection (cnp)
and drag and drop.
All objects can uses it APIs. It also supports multi-seat.
2018-01-11 17:56:24 +09:00
Amitesh Singh 44d3227beb widget: rename elm widget to Efl.Ui.Widget. 2018-01-08 21:28:10 +09:00
Carsten Haitzler 5436908d7b try and fix osx build with symbols missing...
try and fix T6448 last comment. not sure if it does...
2017-12-20 17:26:32 +09:00
SangHyeon Lee 0f16a06710 interface : change efl_pack_grid and efl_ui_grid to efl_pack_table and 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: https://phab.enlightenment.org/D5668
2017-12-19 14:25:08 +09:00
Wonki Kim 47bf356435 scroller: Introducing Efl.Ui.Scroller
Summary:
scrollable widgets had a interface_scrollable as a mixin so that the
widgets had a 'is-a' relation with interface_scrollabe.  however, new
scroller concept don't have 'is-a' relationship, but 'has-a'
relationship.  scrollable widgets should have a scroll manager inside
them, then scroll manager handles event from user and api
implementations.  and also we cut the features such as paging because
there will be aka 'elm_pager'.

we are expecting that the new concept make us to maintain the scroller
easier.  please excuse for many unorganized code and logics. : (

[contained commit]
scrollable: add efl_ui_scroller example
scrollable: refactoring for behavior in case of multiple scroller
scrollable: remove repetitive scrollbar code.
scrollable: combine calculating bounce distance code.
scroll_manager: mouse up function refactoring
scroll_manager: mouse move function refactoring
scroll_manager: warp animator wip
scroll_manager: fix denominator value when calculating flicking behavior.
Fix to disconnect bounce animator once animation is done
gather duplicated animator drop logics
gather duplicated conditions
Rearrange prototypes and append comment
Add manipulate functions for animators
scroll_manager: change member_add function.
scroll_manger: apply mirroring logic
scroll_manager: apply scrollbar
apply API to scroller widget
scroll_manager: apply scroll event callback
Change logics for all about scroll animating
efl_ui_pan: add efl_ui_pan
scrollable:  change content_min_limit to match_content
scroll theme: apply overlapped scrollbar
+ many others!

Reviewers: akanad, woohyun, cedric, jpeg

Subscribers: jenkins, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5222

Note by @jpeg:
Unfortunately this patch comes in a massive single blob, after too many
rebase operations. It has now come to a point where I think the API is
nice and it works as I'd expect.
Now I only wonder how applicable this will be for Efl.Ui.List. As we can
see Photocam (legacy and unified API) could be transformed to use this
new API.
2017-12-19 10:26:25 +09:00
Sungtaek Hong 25136ddf8c efl_ui_bg: add Efl.Ui.Bg interface
Summary:
- Previous class efl_ui_bg moved to efl_ui_bg_widget.
- Scale_type moved to efl_image from efl_ui_image.
- Previous enum Efl_Ui_Image_Scale_Type moved to Efl_Image_Scale_Type.

Test Plan:
Run elementary_test
1.Image Scale Type
2.Efl.Ui.Bg
3.Efl.Ui.Win
4.Part Background

Reviewers: jpeg, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D5616
2017-12-18 20:49:45 +09:00
Carsten Haitzler ec2b6e4d67 elementary: fix building agaiunst efl - missing installed headers
yet again a fix needed for something that should have been tested
BEFORE a push. build stuff AGAINST efl. seriously. do you forget to
put your pants on before you leave your home? is it that hard to do
something as simple as BUILD AGAINST EFL before a push if any commit
you did made changes that MIGHT affect that? serousoly? do i have to
remind peolpe to put their pants on? i already have done this several
times recently. thigns that would have been caught by simply building
against efl after changes and before a push. this is a basic thing to
do like putting your pants on. do it.
2017-12-15 03:35:47 +09:00
Jean-Philippe Andre d29f01e5ee tests: Add an example test case for shadows
This is fun.
2017-12-14 20:32:29 +09:00
Jean-Philippe Andre a13e61a37b elm: Add "shadow" part to all widgets
This makes it possible to very easily create drop shadows and glow
effects on any widget. This is absolutely not optimized, though the main
performance bottleneck is that the proxy images get redrawn after just
moving.

@feature
2017-12-14 18:03:49 +09:00
Felipe Magno de Almeida e67d6484b8 efl-cxx: Fixes to make dist 2017-12-13 14:13:09 -02:00
Felipe Magno de Almeida fd92dec358 elementary: Add efl_ui_list widget 2017-12-13 14:13:09 -02:00
Amitesh Singh 57a92a26c9 elm test: add efl.ui.panes test code in separate file. 2017-12-13 16:50:45 +09:00
Amitesh Singh b7419f4069 elm test: Add test for Efl.Ui.Slider 2017-12-12 14:00:53 +09:00
Jean-Philippe Andre 0de20aeafa elm: Rename slider part to part_indicator
This is specific to the indicator.

Fixes T6376
Fixes T5361
2017-12-12 11:14:04 +09:00
Hosang Kim 26272bf3a2 win: apply conformant features.
Summary:
- implement indicator enable/disable
- implement indicator type
- add indicator swallow area to border.edc
- add 'test win indicator' sample

Test Plan: elementary_test -> win_indicator

Reviewers: woohyun, cedric, jpeg

Subscribers: taxi2se, jypark, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5418
2017-12-12 10:53:14 +09:00
Jaehyun Cho c752d8fe6b efl_ui_popup: Make backwall efl part object of Efl.Ui.Popup 2017-11-28 17:15:42 +09:00
Jaehyun Cho f82779efc2 test_ui_popup: Move code for Efl.Ui.Popup classes from test_popup
Code refactoring to replace legacy APIs and move test code for
Efl.Ui.Popup and its sub classes from test_popup to test_ui_popup.
2017-11-28 17:15:42 +09:00
JinYong Park 2b2bc50e8b efl_ui_popup: replace title_set to efl_text_set with efl_part
Summary: Replace Efl.Ui.Popup.Alert's title set method to using efl_text_set with efl_part

Test Plan: elementary_test -to efluipopupalert

Reviewers: jpeg, Jaehyun_Cho, woohyun, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5359
2017-11-28 17:15:42 +09:00
JinYong Park c8c7ac8aae efl_ui_popup_anchor: add Efl.Ui.Popup.Anchor class
Summary:
Add initial code for Efl.Ui.Popup.Anchor class.
It supports adding anchor object to popup.

Test Plan: 1. run elementary_test -to efluipopupanchor

Reviewers: Jaehyun_Cho, thiepha, herb, jpeg, cedric, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5126
2017-11-28 17:15:42 +09:00
Taehyub Kim 3dccf133bb efl_ui_popup_alert_text: add Efl.Ui.Popup.Alert.Text Class
Summary:
Add initial code for Efl.Ui.Popup.Alert.Text Class.
It supports setting texts on the content area.

Test Plan: 1. run elementary_text -to efluipopupalerttext

Reviewers: Jaehyun_Cho, jpeg, thiepha, cedric, woohyun, Blackmole

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5124
2017-11-28 17:15:42 +09:00
Taehyub Kim f22d40b1e6 efl_ui_popup_alert_scroll: add Efl.Ui.Popup.Alert.Scroll class
Summary:
Add initial code for Efl.Ui.Popup.Alert.Scroll Class.
It supports scrolling content.

Test Plan: 1. run elementary_test -to efluipopupalertscroll

Reviewers: Jaehyun_Cho, jpeg, thiepha, cedric, Blackmole, woohyun

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5123
2017-11-28 17:15:42 +09:00
Taehyub Kim d3a14d08b0 efl_ui_popup_alert: add Efl.Ui.Popup.Alert class
Summary:
Add initial code for Efl.Ui.Popup.Alert class.
It supports setting title and buttons.

Test Plan: 1. run elementary_test -to efluipopupalert

Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun

Differential Revision: https://phab.enlightenment.org/D5108
2017-11-28 17:15:42 +09:00
Taehyub Kim 996a975506 efl_ui_popup: add Efl.Ui.Popup class
Summary: add initial code for Efl.Ui.Popup class

Test Plan: 1. run elementary_test -to efluipopup

Reviewers: Jaehyun_Cho, Blackmole, thiepha, woohyun, cedric

Reviewed By: Jaehyun_Cho

Subscribers: bu5hm4n, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5037
2017-11-28 17:15:42 +09:00
Woochan Lee eefcb49419 efl_ui_spin: Add new spin and spin_button widgets
Summary:
https://phab.enlightenment.org/T5900

Creating base class(efl_ui_spin) to support various shape of spinner.

Added button interaction widget efl_ui_spin_button inherited from efl_ui_spin.

Test Plan: Add tests in elementary_test.

Reviewers: Jaehyun_Cho, woohyun, jpeg, singh.amitesh

Subscribers: jenkins, id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5424
2017-11-27 19:40:31 +09:00
Sungtaek Hong 3c47a4f9f9 efl_ui_layout: create efl_ui_bg when efl_part for background is called.
Reviewers: woohyun, jpeg, cedric

Subscribers: felipealmeida, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5151
2017-11-24 16:00:22 +09:00
Marcel Hollerbach 738cb8a2bb efl_ui_focus_util: add a util class
the util class is for common code that is just added again and again.
2017-11-17 16:08:14 +01:00
Lukasz Stanislawski c838e30a24 elm: Rename elm_interface_atspi_widget_action mixin
Reviewers: jpeg

Subscribers: jenkins, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5400
2017-11-16 12:00:18 +09:00
Cedric Bail 663e31413a Revert "Revert series of patches from cedric (due to dependencies and conflicts)"
This reverts commit 2cea85db38.

Their was a typo that I made during cleanup of the patch before pushing that I didn't
notice broke some stuff. But also you may have an old efl_general.h in your elementary
directory that is now being picked instead of the one provided by the tree.
2017-11-14 20:08:09 -08:00
Carsten Haitzler 2cea85db38 Revert series of patches from cedric (due to dependencies and conflicts)
Revert "elementary: currently double declare elm_init/shutdown."
This reverts commit 44bb0c1848.
Revert "elementary: fix efl_ui_multibutton installed headers."
This reverts commit 32a213dc72.
Revert "elementary: introduce Efl_Ui.h."
This reverts commit df3d3f7334.
Revert "ecore: do not display error message on cancel."
This reverts commit 99654b7cd2.
Revert "efl: and don't forget to install the new dependencies."
This reverts commit 814ffb9b6b.
Revert "ecore: remove EFL_OBJECT_BETA as Efl_Core.h is for Efl new inerfaces."
This reverts commit 619d0f3cff.
Revert "ecore: move EAPI_MAIN from elementary to ecore."
This reverts commit e5d84da864.

as such commit e5d84da864 starts the
breaking. enlightenment, terminologya and other apps can't compile
against that efl anymore. 619d0f3cff
then makes this even worse with even more header errors and undefined
types. on top of this df3d3f7334 then
starts making elementary_test segfault when it runs. it wont even
start up.

asu such of these 7 commits in the first 4 (that are then relied on
later) 3 of these first 4 cause serious breakage. this simply is a
complete lack of testing changes, so i've rolled fl back to before
these things so it builds and works again and you can build against it.

PLEASE test these things. this looks ot me to be obviously a lack of
any testing... :(
2017-11-15 11:48:55 +09:00
Cedric BAIL 32a213dc72 elementary: fix efl_ui_multibutton installed headers. 2017-11-14 16:53:16 -08:00
Cedric BAIL df3d3f7334 elementary: introduce Efl_Ui.h. 2017-11-14 16:36:17 -08:00
Marcel Hollerbach 53052abaa6 elm_widget_item: refactor logic from gengrid into seperated class 2017-11-11 20:21:56 +01:00
Cedric Bail bd83a76393 ecore: move EFL_MAIN to Efl_Core.h
This make EFL_MAIN available and working with just Ecore. For simplicity
it is available with Efl_Core.h. Ideally it should also work with Efl_Net.h
alone and finally with an Efl_Ui.h.

T6262
2017-11-09 15:13:37 -08:00
Carsten Haitzler a3b1b5d540 efl - fix build after cedric breakage
25b6a280c0 broke the build...
specifically building AGAINST efl.
2017-11-08 15:05:11 +09:00
Amitesh Singh d6c9b37925 Efl.Ui.Slider: implement Slider.part & Ui.format functions
indicator_format_set/get & indicator_format_function_set are
now legacy APIs.
indicator format can be set by using generic Ui.Format function
e.g.
efl_ui_format_string_set(efl_part(sliderObj, "indicator"), "1.0%f");
2017-11-07 17:13:44 +09:00
WooHyun Jung 68b366c831 efl_ui_calendar: apply efl_ui_focus_composition 2017-11-06 16:28:29 +09:00
Jean-Philippe Andre 824792f09d elm: Major cleanup of EO files
This prevents legacy EO classes from being exposed through .eo.h headers
or .eo in share/eolian/includes. Also removes a slew of useless xxx_eo.h
intermediate headers.

Notes:
 - elm_systray has no proper API: it's not clear if the EO API should be
   released (in which case it needs to be renamed to efl_something) and
   there is no legacy API to create a systray object.
 - Some files have been placed in a "FIXME" section, as I believe they
   are necessary within EO land, but at the same time still don't
   conform to the interfaces (eg. name starts with elm_).
 - elm_interface_scrollable is required by photocam. This means photocam
   needs to be adapted to fit the EO scroller API (still to be
   completed, I believe).

Bugs:
 - This breaks most C++ examples. I KNOW. And I'm working on it.

Ref T5301
2017-11-01 21:23:31 +09:00
WooHyun Jung 02f179628c efl_ui_calendar: apply new format_cb 2017-10-31 11:21:15 +09:00
WooHyun Jung 9442f4687c efl_ui_calendar: create new efl_ui_calendar
Summary:
This calendar widget will support basic functionality of calendar.
I've separated this widget from elm_calendar since elm_calendar had
lots of unuseful things inside.

Reviewers: jpeg, singh.amitesh, cedric, CHAN, Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5346
2017-10-25 16:50:01 +09:00
Woochan Lee 6c3bc915df elm: rename elm_multibuttonentry to Efl.Ui.Multibuttonentry
Summary: @ref T5358

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun, bu5hm4n, cedric, jpeg

Maniphest Tasks: T5358

Differential Revision: https://phab.enlightenment.org/D5169

JP's note:
MBE currently has quite a few issues, probably related to focus
handling. This needs to be fixed.
2017-10-24 16:20:09 +09:00