Commit Graph

409 Commits

Author SHA1 Message Date
Jean-Philippe Andre 6cd8811fe9 container: Remove method part_name_get
Remove this for now, as it may not apply to all contents.
Note that this was a new API in EO.
2017-05-11 17:53:50 +09:00
Jean-Philippe Andre e274512c81 efl/gfx: Remove unused function
This fixes a warning with -Wunused-function
2017-04-25 21:22:32 +09:00
Jean-Philippe Andre acb9ae70fe eo/elm: Simplify box/grid EO API
After talking with @eunue I realised that the way I'd first
implemented the box/grid "pack" API was simply too complicated.
I had tried to make it possible to change the layout function
at runtime, like good old evas box, but since there are no function
pointers in EO the final design was really convoluted.

If someone really needs to change the layout of a box at runtime,
just create your own subclass, or unpack all items and repack them
in a new box.

Note: there are still some issues with the layout params & flow
2017-04-18 15:34:29 +09:00
Jean-Philippe Andre e79f27ae0c efl: Remove manual definitions of event "changed"
Honestly I can't see why gfx & gfx.path "changed" need a manual
definition, instead of relying on EO. If the API needs to be
internal only, then EO needs to handle internal APIs. In this
case, the event was exposed as a C API but not a EO... why?
2017-04-18 11:07:46 +09:00
Jeeyong Um f370ea803b Efl.Gfx.Path: Fix wrong condition check in _find_ellipsis_coords
Summary:
In previous patch, !w should be replaced with EINA_FLT_EQ(w, 0.0), but it was
replaced with !EINA_FLT_EQ(w, 0.0). This breaks rounded rectangle.

T5291

Test Plan: compile and run attached file

Reviewers: cedric, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D4787
2017-04-14 10:16:48 +09:00
Bryce Harrington 8b95b78dee efl vpath: Check and terminate execution if set*uid() calls fail
Summary:
Quells warnings:
    lib/efl/interfaces/efl_vpath_core.c:117:9: warning: ignoring return
    value of ‘setuid’, declared with attribute warn_unused_result
    [-Wunused-result]
         setuid(geteuid());
         ^
    lib/efl/interfaces/efl_vpath_core.c:169:9: warning: ignoring return
    value of ‘setreuid’, declared with attribute warn_unused_result
    [-Wunused-result]
         setreuid(uid, geteuid());
         ^

Reviewers: raster, jpeg

Reviewed By: raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4768
2017-04-13 16:41:02 +09:00
Stefan Schmidt a10771605f efl: add since tag to new invalid object error type 2017-02-14 21:47:15 +01:00
Carsten Haitzler 76244d89a7 vpath file - add a keey property to know if obj should be kept around
if its a file downloading (to a tmp location) or a zip/tar/whatever
file being extracted also to a tmp location and that tmp file needs to
be removed after ...you need to keep the obj around to know when to
delete the file. this makes the keeping optional and you query if the
vpath obj is meant to be kept or not. if it's not it's safe to del
immediately.

this cuts down 1 obj per image obj/edje obj when generally unused.
save some mem.
2017-02-13 16:51:49 +09:00
Stefan Schmidt eb0a4221de docs: efl mvc: document all new model view controller related eo files 2017-02-09 14:47:21 +01:00
Carsten Haitzler 810b17e7a4 efl vpath - for runtime dir dont fall back to tmp but instead abort
if we can't create a runtimedir maybe its best to abort. also ensure
it is created as the effective user id.
2017-02-09 20:43:59 +09:00
Carsten Haitzler 1a481cfe4d eina utils and vpath - use euid not uid if setuid for correct user
was using uid not euid for "if setuid use safe way to get location" -
ie the user that effectively owns the process, not nominally.

@fix
2017-02-09 18:50:15 +09:00
Carsten Haitzler e77f3b75d6 efl vpath - be paranoid about setuid execution and dont use env vars
if setuid, do not trust env vars for any xdg stuff at all.
2017-02-08 21:19:39 +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
Gustavo Sverzut Barbieri 3cc60ce5f3 cmake: sync EFL_EO_API_SUPPORT definition with autotools.
in autotools we always define that symbol in config.h (thus now done
in common.cmake), while the Efl_Config.h that is generated never have
it, what's left is to enable/disable the legacy and beta APIs.

This fixes building eldbus_suite with cmake.
2017-02-03 12:36:50 -02:00
Gustavo Sverzut Barbieri 28960d7851 cmake: add ector. 2017-01-27 10:56:02 -02:00
Gustavo Sverzut Barbieri 205348383c cmake: add efl library.
still no tests and no binaries, but compiles the interfaces required
by other libraries such as ecore.
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri fa92926469 cmake: major rework of check and pkg-config dependencies.
make FUNC_CHECK(), TYPE_CHECK() and HEADER_CHECK() more general and
they can be set to a scope, like "eina", then all symbols are prefixed
with that. The scope is created with CHECK_INIT(), and
EFL_HEADER_CHECKS_FINALIZE() will finish that.

This makes it possible for cmake/config/eina.cmake +
cmake/post/eina.cmake to add stuff to the generated file, better than
hand edit the template.

CHECK_APPEND_DEFINE(name val) is now the base to add symbols to the
generated file in the current scope.

Then convert cmake/config/eina.cmake to use that and match the
autotools values (were a bit off).

This exposed enabling valgrind was broken due incorrect pkg-config
usage with cmake (it's not obvious), it was using just the libraries,
while LDFLAGS are needed to get -L/usr/lib/valgrind. Then also convert
to CFLAGS provided by pkg-config and make that automatic for
PKG_CONFIG_REQUIRES and PKG_CONFIG_REQUIRES_PRIVATE.

Also, eina-mempool modules use valgrind and must use that now that's
propagating correctly.
2017-01-23 23:55:33 -02:00
Marcel Hollerbach 27504d7db0 cmake: add eo 2017-01-23 20:02:06 +01:00
Gustavo Sverzut Barbieri fe7a21170c cmake: reduce number of redundant variables set in cmake.
Avoid redundant variables in cmake, whenever they are needed as
duplicates, only do that in the template.
2017-01-23 18:23:41 +01:00
Marcel Hollerbach 34074fd0e7 build: use CMAKE defined variables 2017-01-23 18:23:40 +01:00
Marcel Hollerbach 6c87f62b90 build: make eina working
This brings in the checks for all the headers and function that are
required in eina. With this commit only a few other checks are missing.
This is NOT tested on windows or mac os i can just verify that it runs
here on a arch linux system.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 40cb00dc57 build: set MODULE_ARCH correctly 2017-01-23 18:23:40 +01:00
Marcel Hollerbach 2a5c2a0c3c cmake: improve versioning
The version defines are now done all the time. and the version pattern
does mach the one from autotools. And supports release mode now.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 9f2a2f7968 cmake: we need to enable beta api support
otherwise we cannot build our own api...
2017-01-23 18:23:40 +01:00
Marcel Hollerbach fe1863e30d cmake: move PACKAGE defines into a sane place
this should support all the vars used in all efl subsystems
2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri 76212a9162 CMake: infra to build modules (static, on or off). 2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri dee24c3821 CMake: rework to use some helper macros.
This tries to defines some macros to create a cleaner build system.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 88283204c1 build: switch eina to half baked cmake 2017-01-23 18:23:40 +01:00
Felipe Magno de Almeida a1f2db255b cxx: Modify how to generate C++ headers and allow cyclic dependencies
Allow cyclic dependencies in generated C++ headers by changing order
of includes and creating forward declarations.
2017-01-18 22:47:04 -02:00
Daniel Kolesa cb3f8304e0 eolian: change eo file syntax @virtual_pure -> @pure_virtual 2017-01-13 15:44:09 +01:00
Daniel Kolesa 85fbc333dd eolian: enforce specification of both get and set in prop impls
Now you can't use the same syntax as you would for a method to
implement a property as whole, instead you need to specify the
getter and/or setter explicitly. This is to allow parent classes
to expand their properties without altering behavior of the child
classes.
2017-01-11 16:38:41 +01:00
Cedric BAIL 8f1c071d6a eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ. 2017-01-06 15:58:46 -08:00
Carsten Haitzler 9e01cf2698 evas image async preload - add option to also make header load async
to date if you use async preload we still load the header
synchronously and this can be horrible especially with generic
loaders. there is no way to farm this off to the preload thread. now
there is. youhave to set it as a skip head load option before doing a
file_set AND you need to issue a preload ... but now it's possible.

@feature
2017-01-02 18:53:56 +09:00
Daniel Kolesa 9056f25b54 efl: move some eo files to new property impl syntax 2016-12-27 16:06:19 +01:00
Cedric BAIL e9ebad1519 efl: in read only case this might get uninitialized. 2016-12-20 16:39:29 -08:00
Gustavo Sverzut Barbieri 08c38713ce do not emit events from efl_io_closer_close() on destructor.
On destructor we're not supposed to emit events, I even thought that
would be implicit, but it's not. If we do, for example an event
handler that would 'efl_del()' on "EFL_IO_CLOSER_EVENT_CLOSED" would
trigger too-many unrefs.
2016-12-20 10:18:32 -02:00
Gustavo Sverzut Barbieri 963e3a793d efl_io_reader/writer: always set 'can_*' to FALSE on errors.
If user tries to read or write and that fails then set 'can_read' or
'can_write' to false, regardless of the error code.
2016-12-20 10:18:32 -02:00
Cedric BAIL fa66613ed0 efl: remove float comparison warning from Efl.Gfx.Path code. 2016-12-19 16:33:46 -08:00
Gustavo Sverzut Barbieri c2aedc117a efl_io_buffer: adopt read-only and read-write buffers.
todo--, allow buffer backing store to be provided by Eina_Slice
(rdonly) or Eina_Rw_Slice (rdwr).
2016-12-19 16:50:58 -02:00
Gustavo Sverzut Barbieri 25a9e1d886 Efl.Io.{Queue,Buffer,Buffered_Stream}: slice_get is now a property.
Previously we couldn't return a slice, instead required the user to
pass a slice and we'd fill it since Eolian couldn't generate fallbacks
for structures.

Since @q66 fixed eolian, we can now return the structure itself as
initially wanted, ditching some TODO from the code.
2016-12-19 15:30:56 -02:00
Gustavo Sverzut Barbieri 416fa27066 efl_io_buffer: callbacks may close the buffer.
direct or indirect events (ie: can_read_set/can_write_set) may trigger
the user to close the buffer.
2016-12-09 13:47:04 -02:00
Gustavo Sverzut Barbieri 36612adeff efl_io_queue: callbacks may close the queue.
For example, _efl_io_queue_update_cans() triggers "can_read,changed"
and from there users may close the queue, in such case we shouldn't
set can_write.
2016-12-09 13:47:04 -02:00
Cedric BAIL 889944fefe efl: extend possible error while decoding an image to be cancelled. 2016-12-06 16:26:08 -08:00
Stefan Schmidt e90622ec41 all: use void if we really want to make sure we do not accept parameters
In C we need this to make clear that we really do not accept parameters.
Found by the smatch source code matcher. I had run and fixed this before
but it seems to creep in again over time.
2016-12-06 17:16:24 +01:00
Guilherme Iscaro e0af7384a2 Efl.Input.Device: Do not ref/unref devices children devices.
When a mouse/keyboard is removed from its seat under the Wayland backend,
it was not immediately deleted from EFL, because its parent was keeping
a reference to it. Since the mouse/keyboard is no longer present in the system
there's no reason the keep them around. To prevent this delayed deletion do
not ref/unref them when the parent is set.
2016-12-02 15:12:56 -02:00
Stefan Schmidt 33f5074206 docs: efl_ui: fill gaps in newly introduced eo files
These two eo files have been introduced by commit
a58e2e1a79

Sadly three items have been left undocumented. With this patch we are back to
100% doc coverage.
2016-11-30 11:01:39 +01:00
Jean-Philippe Andre ad250d0ffb menu: Fix crash in main menu and eo files
This amends the previous commit to avoid a crash in the main
menu, and adjust the eo files formatting.
2016-11-30 17:59:56 +09:00
Amitesh Singh a58e2e1a79 Menu,Item Interface: Common interface for menu, toolbar and ctxpopup
Summary:
efl_ui_menu interface provides common functions of menu, toolbar and ctxpopup.
efl_ui_item interface provides common functions of menu_item, toolbar_item and ctxpopup_item.
Also implemented some missing functions like selected_item set/get in ctxpopup.
efl_ui_item interface should be used for other widget items as well.

Test Plan: elementary_test

Reviewers: jpeg, felipealmeida, raster, SanghyeonLee, cedric, yashu21985

Subscribers: bu5hm4n

Differential Revision: https://phab.enlightenment.org/D3897
2016-11-30 17:59:56 +09:00
Guilherme Iscaro b77f0086f5 Efl.Canvas: Use Efl.Input.Focus as event info for object,focus.in/out. 2016-11-24 19:18:47 -02:00
Guilherme Iscaro fd6f6c14c1 Evas: Use events to set canvas focus in/out. 2016-11-24 19:18:47 -02:00