Commit Graph

100 Commits

Author SHA1 Message Date
Stefan Schmidt f47b03f7fa elm_check: make sure of the correct naming of header files
We use a header wrapper _eo.h here instead of using the eo.h file
directly. By not doing so the automagic in our build system will not
work.
2017-05-22 12:13:17 +09:00
Amitesh Singh bd743d93ac rename elm_check to Efl.Ui.Check
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-22 12:13:13 +09:00
Jean-Philippe Andre 093938e5d9 win: Remove special class Efl.Ui.Win.Standard
All windows should be standard, really. Except when using legacy
elm_win_add() or if type_set() was called with a specific type.

I dislike type_set...

Ref T5322
2017-05-17 10:39:43 +09:00
Jean-Philippe Andre f1bb8c7ad9 elm_test: Add EO version of "Flip Page" test
This is a copy of the "Flip Page" map usage example that relies
on the new set of APIs for EO. This was used to test the API
and show its usage.

The calculation being done in absolute values, this does not
really exploit the new API, but instead proves that it is on
par feature-wise.

The performance is worse than with legacy, because of extra list
walkings, map calculations, small struct allocations and eo calls.
This fixes the shadow of the page which was broken with the legacy
API (as color_get did not recalc the map).

A better implementation can probably be done without having
to rely so much on absolute coordinates.
2017-05-12 11:59:16 +09:00
Stefan Schmidt 2e149f6046 tests: elm: make sure the new focus_common.h file gets into dist
Needed to run check from the dist tarballs.
2017-05-02 17:23:49 +02:00
Jean-Philippe Andre abc2f9b906 tests: Fix make check with build dir
This changes how the eo files are compiled for the focus test
case, and adds the include folder with -I.
2017-04-24 11:56:15 +09:00
Marcel Hollerbach 8afa54f179 elementary: fix focus tests 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 800390bcb0 focus_tests: fix the test suite
this brings back the working testsuite and fixes a bug in the
submanager.
2017-04-20 14:38:59 +02:00
Marcel Hollerbach 01f46ae205 efl_ui: introduce a focus manager and sub manager object
The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
2017-04-20 14:38:57 +02:00
Jean-Philippe Andre 096af26dd6 elm_test: Add a test case for evas snapshot
This showcases the object (not a widget) and will be the basis
for a necessary optimization patch.
2017-04-14 11:26:43 +09:00
Larry Jr 093c592188 efl: add efl_model and efl_ui_view classes
Efl.Model.Container and Efl.Model.Item to efl/interfaces are used
to create Efl.Model objects with predefined property values.
This is useful to any situation where we want an Efl.Model with
explicit defined property values.

Efl.Ui.View and Efl.Ui.Factory are used to connect Efl.Models with
Widgets, Elm.Layout and Efl.Ui.Image has changed to use news interfaces

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-06 15:26:21 -08:00
Andy Williams 5851a9d4a8 elm_code: Add initial simple syntax highlighting for C code
For c source and headers lookup a simple syntax definition.
Use a very simple text processing line by line to tokenise.
Simple but it gets us one step closer to cross-language syntax
2017-01-20 22:11:01 +00:00
Jean-Philippe Andre a07877bd57 elm: Add a test case for evas masking
This tests masks of masks in a genlist, with maybe a map.
Nothing crazy.
2016-12-16 19:18:29 +09:00
Carsten Haitzler 0bf269d966 elm - add test for efl ui win stacking api 2016-12-16 16:16:53 +09:00
Jean-Philippe Andre bcfc33fd00 elm_test: Add a test case for gfx filters
This adds a test window for the efl_gfx_filter (also known as
evas filters). The builtin examples are not incredibly pretty
but they showcase some of the most basic features. They also
show that some of the filters need to be improved.

Note that the code contains a lot of FIXME due to the incompleteness
of our EO API. Also, Efl.Ui.Text still has quite a few issues (sizing,
lack of a working change event, ...) so the UI doesn't even look as
designed (a label is missing). Hopefully this should get fixed over
time.

Oh and this is mostly using EO APIs but that's a terrible idea as
evas_object_text is not going to be exposed in EO land... except
it's the only object implementing filter support (with image).
2016-12-13 16:12:27 +09:00
Daniel Hirt a8cea307dc Ui text: implement non-editable beahvior
Non-editable behavior resembles a label. It doesn't allow changing the
text in any interactive form. The blinking cursor is also hidden.
Selection, however, it allowed.

Among the changes, I added a test which you can run using:
"elementary_test -to "efl ui text label".
2016-12-12 10:48:28 +02:00
Andy Williams 60cd219792 tests: Update for elm_code indent changes 2016-11-28 01:01:35 +00:00
Andy Williams f6486473ed elm_code: Slightly smarter indent logic
Continue comment blocks where appropriate...
A bunch of refactoring of text/indent code to expand further
2016-11-27 23:15:46 +00:00
Jean-Philippe Andre 29e7d477b1 win: Simplify modal legacy API and add test case
This fixes the modality of windows shown after setting
the flag.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 6bcaa8a0b9 elm: Add Efl.Ui.Box.Stack for stack boxes (EO only)
This is a very simple implementation for EO of the stack mode
of boxes, as implemented in evas_object_box_layout_stack.

@feature
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 0e52264ae0 win: Add background part to the win border
Use Efl.Part for window to manipulate the background.

Two part names are used in EDC:
 - elm.rect.background
 - elm.swallow.background

For apps the part name is only "background".

To set a solid color background (alpha is ok):
 efl_gfx_color_set(efl_part(win, "background"), r, g, b, a);

To set an image:
 efl_file_set(efl_part(win, "background"), "image.jpg", NULL);

To set an object:
 efl_content_set(efl_part(win, "background"), subobj);

The solid bg is invisible by default, will become visible and use
COPY render mode if a color is set. Standard window uses the
swallow part.

@feature
2016-11-23 13:04:12 +09:00
Gustavo Sverzut Barbieri fa8630a9b1 elm: convert downloads to efl_net_dialer_http.
Remove Elm_Url and use efl_net_dialer_http with an efl_io_copier to
fetch stuff.

The code was also slightly improved, particularly in elm_photocam
destruction be explicit and clear the grid before deleting... this
will ensure any pending preload are stopped before we remove the
backing memory.
2016-11-22 13:24:16 -02:00
Daniel Zaoui 18d27683fa Tests/Elm_Code: fix access to test files
Test files were not installed.
2016-11-20 09:22:10 +02:00
Amitesh Singh b8903b87d8 elm: remove datetime widget internal code
datetime legacy APIs are based on Efl.Ui.Clock public APIs.
2016-11-09 16:13:38 +05:30
Stefan Schmidt 93fd5caa8a efl_ui_clock: make sure the headers are disted in to the final tarball
Fixes make distcheck after the new efl_ui_clock was introduced.
2016-11-04 12:28:11 +01:00
Amitesh Singh 23b1c2af56 elm: fix build break
"/usr/local/include/elementary-1/Elementary.h:266:30: fatal error:
efl_ui_clock.eo.h: No such file or directory"
2016-11-03 14:54:50 +05:30
Amitesh Singh 0bcb0302fb efl_ui_clock: Merge datetime/dayselector/clock widgets into efl_ui_clock.
Summary:
Datetime widget is module based, so datetime widget is used as base for efl_ui_clock and merged dayselector/clock features into efl_ui_clock.
Added day selection and seconds support in efl_ui_clock.
 Added clock features like auto updation of time, stop timer etc in efl_ui_clock.
 Added API to enable/disable edit_mode. efl_ui_clock can be configurable to display either only day/date/time or display any two of them or display all three.
Added efl_ui_clock.c and test_ui_clock.c. Theme and Module is added in another patch by Amitesh.

Original author is Yeshwanth <r.yeshwanth@samsung.com>. I have polished this patch a bit and make it compatible with current EFL code.

Test Plan: test_ui_clock

Reviewers: bu5hm4n, tasn, yashu21985, jpeg, cedric, raster

Subscribers: CHAN, woohyun

Differential Revision: https://phab.enlightenment.org/D3938
2016-11-03 12:00:17 +05:30
Amitesh Singh b0d2e987f3 Efl.Ui.Clock: Add elm module & theme
Summary: depends on D3938

Reviewers: yashu21985, bu5hm4n, woohyun, Hermet, raster, jpeg

Subscribers: gohwoon.jeong, cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3939
2016-11-03 11:59:32 +05:30
Marcel Hollerbach d896e3efc5 elementary: split up the build options from the main header
This splits up the definitions from the buildtool into a seperated file
called Elementary_Options.h.
Reason for that is, that every single time when someone adds or changes
something in Elementary.h.in you need to rerun configure, to get the new
up to date Elementary.h file. With this commit you have a static none
generated Elementary.h file and the Elementary_Options.h file, which
will be regenerated when platform things are changing.

The version of elementary is now defined as the version of efl, since
they are always the same. So we dont need to generate a seperated
version field.
2016-10-27 13:27:25 +02:00
Jean-Philippe Andre bd9c752d3f elm: Fix elementary uninstalled eo headers
This fixes compilation for terminology for example.
Thanks to @Etrunko for the report.

Note: My builds originally worked fine because my installed
      include folder contained the old files :(
2016-10-27 10:00:08 +09:00
Jean-Philippe Andre d4929e58fc elm: Remove some eo files from installation
These are some of the EO files that shouldn't be part of the public
EO API:
- elm_access (old)
- actionslider
- bubble
- diskselector
- flipselector (a fancy spinner)
- hoversel (use combobox instead)
- icon (use image instead)
- inwin
- naviframe (unreplaced for now)
- photo (use image)
- prefs
- segment control
- separator
- slideshow
- thumb (use image)

Note: This breaks the use of the elm_widget_xxx.h headers. Those
      were internal headers anyway. Exposed because of a lack of
      a proper inheritance API.
2016-10-26 13:42:54 +09:00
Jean-Philippe Andre 7c2259adc8 elm: Remove elm app client/server implementation & APIs
This removes EO APIs related to an unmaintained client/server
model for applications. The reasons for this removal are the
following:
- unused
- no support in E
- relies on dbus as the sole transport layer
- unmaintained since the original patches
- only EO API (iow: beta, never released API)

I've also never seen the test cases (in elementary_test) actually
work.

According to Gustavo (k-s), the original author of this feature
is not involved in EFL at the moment, and unlikely to be in the
near future.

Note that terminology has in the past used those APIs when it
was still using some beta EO APIs. This code is now long gone,
removed in terminology commit 3ffcbadd6f9881472db6 (2014/12/13,
for version 0.8.0)

If someone wants to step in and maintain the implementation,
protocol and (EO) API, then feel free to revert this patch
and revive the feature. But it will need to be more solid than
this implementation.
2016-10-20 14:55:48 +09:00
Felipe Magno de Almeida eb1fd44dbb cxx: Fix Makefiles for C++ compilation and installation 2016-10-13 17:56:11 +09:00
Tom Hacohen c197edc23f Efl text interactive: Don't ship internal header. 2016-08-12 11:05:44 +01:00
Stefan Schmidt 00227b81f4 build: do not dist now longer available files
Another cleanup for commit dd1d3f0d2d. These
makefiles are now longer available better not try to dist them.
2016-08-02 08:32:13 +02:00
Stefan Schmidt 488dfa3c3e elm: efl_ui_frame: add back last efl_ui_frame_eo.h header
During the rename this header got lost and distcheck broke for me due to
problems when generating the files from eo. I fixed a similar problem after
the rename ro efl_ui_flip in commit c3c344da41

Subhransu, please keep this in mind when renaming another one so I do not have
to do another of these fixes. :)
2016-07-07 12:22:12 +02:00
Subhransu Mohanty 53035f23e6 elm_frame: updated the eo prefix and documentation
Summary: No idea what else can be done with this widget.

Reviewers: jpeg, cedric, woohyun

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3930
2016-07-04 20:21:12 +09:00
Jean Guyomarc'h fd5f07300f edje_external: add combobox external
The combobox widget can now be used from edje externals.
It accepts the "guide" parameter, which is of type string.
2016-07-03 21:35:07 +02:00
Jean-Philippe Andre 54e515bdca config: Add support for profiles and save
Most of these functions actually shouldn't be used by
standard applications. Some are hidden behind @protected.

flush_all() and reload() have not been implemented, on
purpose (save() should flush, and reload is automatic).
2016-06-24 17:10:21 +09:00
Jean-Philippe Andre 47a1fae200 efl: Introduce general Efl.Config API
This is to port elm_config to EO APIs.

The current implementation relies on the legacy API, by
simply forwarding calls.

The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...

Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums

Profiles are also not handled at this point.

@feature
2016-06-24 16:57:04 +09:00
Yeshwanth Reddivari 549e274acb efl_ui_video: convert elm_video to efl_ui_video
Test Plan: elementary_test -to video

Reviewers: singh.amitesh, raster, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:05:09 -07:00
Tom Hacohen 2fd8861874 Ui text: Add an editable variant (tiny wrapper).
As part of this commit, also add a way to change whether the widget is
editable or not.
2016-06-22 14:34:38 +01:00
Stefan Schmidt fffe6dc7b8 build: clean generated js and lua files manually to avoid problems with CLEANFILES
We hit another argument too long error with CLEANFILES. Moving the generated
files for js and lua into separated variables and cleaning them manually fixes
the issue.
2016-06-21 17:07:13 +02:00
Jean-Philippe Andre 1434891e9e elm: Add internal eo files to EXTRA_DIST
This should fix make distcheck
2016-06-20 12:06:12 +09:00
Daniel Hirt dbc82782d1 Ui text: introduce this new text widget
This composite object utilizes the Efl.Canvas.Text, Efl.Canvas.Text.Cursor and
Efl.Ui.Interactive API to server as a proper replacement for the Elm Entry
widget.

@feature
2016-06-16 19:15:20 +01:00
Tom Hacohen eabf319b11 Ui text interactive: introduce this new object (rebase squash)
@feature

Ui text: Add a new interactive version of Canvas.Text

This object is internal and is essentially a Canvas.Text that accepts
key and mouse input. It should be used by Ui.Text as the text
layout/input driver.

Ui text interactive: Add include guard to header.

Ui internal text: Improve input handling support and add selection.

Ui internal text: Add a lot of imf stuff.

Add more text selection handling code.

Add support for allowing selection.

Efl.Ui.Text.Interactive: (reword) code format fix.

Efl.Ui.Text.Interactive: Remove useless struct members.

Add multiline toggle support and a constructor.

Text interactive: Add support for legcay newline.

Text interactive: Use the new cursor_equal function.

Efl.Ui.Text.Interactive: (Rebase split) fixup cursor

Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage

Text interactive: Cleanup tab/return handling.

Text interactive: Use cursor_equal more.

Text interactive: Simplify and unify selection handling in key input.

Text interactive: Fix user text change reporting.

This is useful for implementing undo/redo.

Text interactive: Add documentation to event.

Efl text interactive: (Rebase reword) Add a new interface to be used later.

Ui text interactive: Migrate one missing change_info call.

Ui text interactive: Mark the correct type for the change event.

Ui text interactive: (Edited) Move to elementary and add "selection,changed".

This is useful for implementing selection handlers. We had to move it to
elementary because we started referencing cursors.

Ui internal: Emit an event for selection changed.

Ui text interactive: Remove unused code.

Ui text interactive: Remove more unused code.

Ui text interactive: Remove more unused code.

Ui text interactive: Rename improperly named function.

Ui text interactive: Update code to the new canvas text api.

Ui text interactive: provide access to the selection cursors.

This is the new API for manipulation selection outside of the object.
Just manipulate these cursors to manipulate the selection.

Fix previous commit.

Ui interactive: Clean up internal functions.

Ui interactive: Fix abuse of selection in word deletion.

Ui text interactive: Fix selection.

Ui text interactive: Fix right key to move next.

Ui text interactive: Fix selection using keyboard.

Ui text interactive: Don't emit selection changed events twice.

We now use the cursor changed event to track changes, so no need
to manually emit events ourselves.

Ui Text interactive: Remove selection,cleared signal, use changed instead.

If the selection cursors are equal, there's no selection, if they are
different, there is.

Ui text interactive: remove redundant code.

Ui text interactive: Don't emit selection changed events on init.

Ui text interactive: Remove unused variable.

Efl.Ui.Interactive: fixup char_coor usage

Ui text interactive: Fix some fixmes.

Ui text interactive: fix selection_cursors_get

Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-16 19:15:20 +01:00
Vincent Torri c5fc0dae0c Elm: fix elementary quicklaunch build on Solaris 2016-06-13 13:24:08 +09:00
Andy Williams 0b693bb6ca elementary: merge code test widgets to main test app 2016-06-11 12:20:47 +01:00
Stefan Schmidt 93eadd76d6 build: split EXTRA_DIST files in src/ off from DISTFILES and handle separately
This is again to avoid the "Argument list too long" error we are hitting more and
more now. Given we just merged elementary, emotion generic players, evas generic
loaders and elm_code it is not surprising we are hitting it again.

This time the number of files being hold in DISTFILES has just grown to big so a
make dist was no longer possible. If one looks at what the DISTFILES variable
from automake holds you can image it grows a lot with all the source files plus
generated files we have in tree now.

DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)

To cut off a big chunk but still keep all the other automagic in place for
SOURCE files I went and renamed the EXTRA_DIST in src/ to EXTRA_DIST2 and handle
the files in a dist-hook now.

Another thing to note here is that this also only happens as we have the one big
Makefile with includes. If we go back to per directory Makefiles this problem
should vanish as well. In any case we need a solution for 1.18 now and this is
what I have to offer. If you have a cleaner solution in mind feel welcome to
test it out and if everything we need keeps working (make, make examples,
make check, make benchmark, make dist and make distcheck) go ahead.
2016-06-10 13:04:18 +02:00
Jean-Philippe Andre 18eaa22d01 tests: Add test case for Grid.Static
This is copy of test_grid.c converted to EO.
2016-06-10 14:44:26 +09:00