Amitesh Singh [Tue, 5 Dec 2017 05:39:20 +0000 (14:39 +0900)]
edje: rename intf Efl.Canvas.Layout.Signal to Efl.Layout.Signal
Jean-Philippe Andre [Tue, 5 Dec 2017 05:48:29 +0000 (14:48 +0900)]
c#: Fix test case
return -1 in a void function breaks the build for me (clang)
Jean-Philippe Andre [Tue, 5 Dec 2017 05:33:03 +0000 (14:33 +0900)]
ecore_wl2: Fix a warning
Jean-Philippe Andre [Tue, 5 Dec 2017 05:31:22 +0000 (14:31 +0900)]
eo: Move hacky API auto_unref to C only
This API is meant to be used by parts only, and by bindings dealing with
part objects. This patch fixes make check which got broken in the after
the previous one (cxx).
Jean-Philippe Andre [Tue, 5 Dec 2017 01:47:09 +0000 (10:47 +0900)]
cxx: Fix compilation after merge
This resolves a few issues and brings back the experimental features.
Also, disable some of the ugliest experiments:
- manual function overrides,
- define APIs only in eo_cxx namespace
Some APIs are generated behind EFL_CXXPERIMENT (eg. event_name_cb_add or
some weak pointer stuff). I believe they are useful but would like to
make sure there are no serious drawbacks with generating those.
Jean-Philippe Andre [Tue, 28 Nov 2017 12:32:45 +0000 (21:32 +0900)]
cxx: Define types after forward declarations
This is useful if the types refer to the current class.
Jean-Philippe Andre [Tue, 28 Nov 2017 12:18:28 +0000 (21:18 +0900)]
cxx: Include edje from elementary
Jean-Philippe Andre [Tue, 28 Nov 2017 12:17:32 +0000 (21:17 +0900)]
cxx: Fix one conversion to Eina_Value
Jean-Philippe Andre [Tue, 28 Nov 2017 08:24:06 +0000 (17:24 +0900)]
cxx: Update slider example
Jean-Philippe Andre [Tue, 28 Nov 2017 07:26:25 +0000 (16:26 +0900)]
cxx: Add global _delete() method to all objects
This is really just calling efl_del() and detaching the internal pointer
from the C++ object. This will not affect other references, which means
after del the object may still be alive, probably without a parent.
Jean-Philippe Andre [Tue, 28 Nov 2017 07:21:40 +0000 (16:21 +0900)]
cxx: Use per-function guards in efl object
This prevents generation of del().
I also removed constructor, finalize and destructor as I believe this
requires special work with eo_inherit (where did this work go??).
Jean-Philippe Andre [Tue, 28 Nov 2017 06:39:39 +0000 (15:39 +0900)]
cxx: Include definition header in impl header
Good for IDE's. Not extremely useful considering how unreadable those
files are.
Jean-Philippe Andre [Tue, 28 Nov 2017 06:32:02 +0000 (15:32 +0900)]
cxx: Add header guards for manual definitions
This will be used for things like efl_del
efl_part was a lucky case where the entire class was to be implemented
manually, thus the global header guard was sufficient.
Jean-Philippe Andre [Tue, 28 Nov 2017 05:37:33 +0000 (14:37 +0900)]
cxx: Give ref to returned objects
This should give a ref to obj in the following scenario:
auto obj = other.function();
Where obj is an eo object.
Jean-Philippe Andre [Tue, 28 Nov 2017 05:17:51 +0000 (14:17 +0900)]
cxx: Implement support for @class static functions
Jean-Philippe Andre [Mon, 27 Nov 2017 14:54:43 +0000 (23:54 +0900)]
cxx: Fix indentation of ifdef guard
Jean-Philippe Andre [Mon, 27 Nov 2017 13:24:01 +0000 (22:24 +0900)]
win: Allow unref until deletion
This is for bindings. I wish I could actually distinguish the use case
more (between efl_add() from C and instantiation from C++).
Jean-Philippe Andre [Mon, 27 Nov 2017 10:52:44 +0000 (19:52 +0900)]
cxx: Implement support for parts
This generates methods like this:
Part_Class part_name() const;
Which can then be used like:
slider.indicator().format_string_set("%1.1f");
Jean-Philippe Andre [Thu, 23 Nov 2017 05:43:06 +0000 (14:43 +0900)]
cxx: Fix evas compile test and Evas.hh
The c++ header was checking the wrong header guard. Fixing that would
break the compilation test, as it was doing the wrong thing. Also I
think config.h should not be included for compilation tests. This should
make things slightly better.
Jean-Philippe Andre [Thu, 23 Nov 2017 05:10:24 +0000 (14:10 +0900)]
cxx: Fix bg examples
One uses the Bg widget and the other one uses the part.
Jean-Philippe Andre [Thu, 23 Nov 2017 04:51:10 +0000 (13:51 +0900)]
cxx: Implement proper part support (wrt. refs)
It's VERY hacky, but works as expected: no leak, no extra unref. This is
a lucky case of simply overriding efl_part() implementation in C++,
without having to modify the declaration.
Jean-Philippe Andre [Wed, 22 Nov 2017 13:35:11 +0000 (22:35 +0900)]
cxx: Add header guards to .impl.hh
Those are included headers after all, even if they're only included once
from Elementary.hh (or whatever Efl_Header.hh).
Jean-Philippe Andre [Wed, 22 Nov 2017 11:50:11 +0000 (20:50 +0900)]
cxx: Avoid pedantic warning with -Wold-style-cast
This affects the generated headers.
Jean-Philippe Andre [Wed, 22 Nov 2017 11:46:26 +0000 (20:46 +0900)]
cxx: Use set for forward classes
This avoids duplication. Not very important as there are FWD_GUARD
macros anyway.
Jean-Philippe Andre [Wed, 22 Nov 2017 11:35:18 +0000 (20:35 +0900)]
cxx: Fix some pedantic warnings from clang
Shadow variables, 0 used as nullptr.
clang still complains that usage() is not declared as noreturn.
Jean-Philippe Andre [Wed, 22 Nov 2017 11:25:29 +0000 (20:25 +0900)]
cxx: Add implicit conversion to Eo* pointer
This is part of the experimental stuff.
Allows calling C functions without using ._eo_ptr() explicitly. Probably
not super useful, assuming the interfaces are done :)
Jean-Philippe Andre [Wed, 22 Nov 2017 11:16:21 +0000 (20:16 +0900)]
cxx: Only use eo_cxx:: for methods
Add an experimental (disabled) macro to only generate functions inside
the eo_cxx equivalent of a class, instead of inside both the eo_cxx and
the normal class definition.
I guess the duplicated definition had something to do with doxygen, but
I'm not sure this is quite necessary as doc will be generated with
custom scripts.
Jean-Philippe Andre [Wed, 22 Nov 2017 10:45:56 +0000 (19:45 +0900)]
cxx: No instantiate ctors for non-regular classes
Only regular classes can be instantiated, this should be reflected in
the C++ binding as well.
Jean-Philippe Andre [Wed, 22 Nov 2017 08:17:04 +0000 (17:17 +0900)]
cxx: Add define EFL_CXXPERIMENTAL for testing
I'll hide some controversial features behind this, until we come to an
agreement with @felipealmeida and people who actually know C++ (iow: not
just me^^).
Features protected:
- easy wref (using -> without locking)
- xxx_event_cb_add() functions in object classes
- instantiate(obj) to create a new object
- add as a synonym for instantiate (both in efl::eo)
Jean-Philippe Andre [Wed, 22 Nov 2017 08:14:55 +0000 (17:14 +0900)]
cxx: Showcase function pointer in calendar example
This is just a work-in-progress example.
Jean-Philippe Andre [Wed, 22 Nov 2017 07:54:57 +0000 (16:54 +0900)]
cxx: Add support for function pointers
This was tested on the function pointer Efl.Ui.Format_Func_Cb
Jean-Philippe Andre [Wed, 22 Nov 2017 07:50:57 +0000 (16:50 +0900)]
cxx: Add strbuf to the list of recognized builtins
Jean-Philippe Andre [Wed, 22 Nov 2017 07:47:27 +0000 (16:47 +0900)]
cxx: Add FIXME note in eina_value.hh
I think some concepts are not handled properly in this set of classes.
I'll do some more experiments to see if I can find a working solution,
but I think we need 3 variants of eina_value, instead of just the two
provided.
Jean-Philippe Andre [Wed, 22 Nov 2017 07:28:56 +0000 (16:28 +0900)]
format: Use strbuf builtin type instead of ptr()
Jean-Philippe Andre [Wed, 22 Nov 2017 06:44:06 +0000 (15:44 +0900)]
eolian: Add builtin type "strbuf"
Refers to Eina_Strbuf*
Jean-Philippe Andre [Wed, 22 Nov 2017 06:04:30 +0000 (15:04 +0900)]
cxx: Add strbuf support
Comes in two fashions:
- strbuf_view (read-only)
- strbuf (read/write)
Jean-Philippe Andre [Tue, 14 Nov 2017 08:41:24 +0000 (17:41 +0900)]
cxx: No need to declare the current class twice
This avoids double _FWD_GUARD for the current class in a .eo.hh header.
Jean-Philippe Andre [Mon, 13 Nov 2017 02:43:04 +0000 (11:43 +0900)]
cxx: Some code style in examples
Use the common form
Class a(instantiate);
instead of
auto a = Class(instantiate);
Also modify bg example to not use an policy.
Jean-Philippe Andre [Fri, 10 Nov 2017 10:04:23 +0000 (19:04 +0900)]
cxx: Add event_cb_add functions to events
This enables a syntax like:
button.clicked_event_cb_add([]() { std::cout << "Hello" << std::endl; });
I could not manage to pass the std::placeholders inside the template,
depending on whether the lambda has arguments or not. Not sure if
that's even possible.
Jean-Philippe Andre [Fri, 10 Nov 2017 09:04:53 +0000 (18:04 +0900)]
cxx: Add alternative form to instantiate object
This still uses the instantiate object but provides a more convenient
syntax for objects declared before their creation (eg. a global win).
Note: I wonder if we shouldn't rename instantiate to add. It would be
closer to EFL API's while being much much easier to type.
Felipe Magno de Almeida [Mon, 4 Dec 2017 22:32:06 +0000 (20:32 -0200)]
eolian: Add inarray and inlist to source generation
Vitor Sousa [Mon, 4 Dec 2017 16:11:41 +0000 (14:11 -0200)]
efl_mono: fix switched reference to generated and non-generated source file in build system
Lauro Moura [Mon, 4 Dec 2017 18:48:04 +0000 (15:48 -0300)]
eolian_mono: Add evas_table_mirrored_get/set to bl
Clashing with efl_ui_mirrored/get/set
Lauro Moura [Fri, 1 Dec 2017 03:43:12 +0000 (00:43 -0300)]
eolian_mono: Generate placeholder fields for empty structs
Mono's JIT fails to generate function pointer for delegates with empty
structs in the signature, leading to those mini-amd64.c crashes on empty
fields.
This commit generates a placeholder IntPtr field in empty structs.
Lauro Moura [Thu, 30 Nov 2017 20:49:35 +0000 (17:49 -0300)]
efl_mono: Fix eina_value_set.
Instead of messing around with varargs, create individual wrappers for
each type supported.
The va_list approach was getting problems with float/double on Windows.
Lauro Moura [Tue, 7 Nov 2017 20:01:56 +0000 (17:01 -0300)]
ecore: Fix compilation for GCC 4
Summary:
GCC4 support compound literals for static initializers only in C89. This
commit reverts to the previous behavior when using this version.
Currently we are using it to build on Windows.
Reviewers: felipealmeida, cedric, barbieri
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5518
Lauro Moura [Wed, 22 Nov 2017 19:44:44 +0000 (16:44 -0300)]
elm: Move legacy enums to elm_general.eot.
efl_ui_text and friends uses some enums currently defined in
elm_entry.eo. The latter is exported outside the elm public eolian eos
and never generated.
This commit moves the enums to the "transition" file elm_general.eot.
Lauro Moura [Fri, 24 Nov 2017 01:10:05 +0000 (22:10 -0300)]
efl_mono: Add buildystem integration.
The C# bindings are built using the --enable-csharp-bindings (disabled
by default).
Lauro Moura [Fri, 24 Nov 2017 01:01:25 +0000 (22:01 -0300)]
efl_mono: Add examples code.
Buildsystem support will be enabled in a future commit
Lauro Moura [Fri, 24 Nov 2017 00:57:45 +0000 (21:57 -0300)]
efl_mono: Add native support library
Buildsystem integration will come in a future commit
Lauro Moura [Fri, 24 Nov 2017 00:56:11 +0000 (21:56 -0300)]
efl_mono: Add msbuild file generator
Buildsystem integration will come in a future commit.
Lauro Moura [Fri, 24 Nov 2017 00:53:28 +0000 (21:53 -0300)]
efl_mono: Added test files for the C# bindings.
Buildsystem integration will come in a future commit.
Lauro Moura [Fri, 24 Nov 2017 00:50:16 +0000 (21:50 -0300)]
eolian_mono: Added code for eolian_mono generator
Based on the eolian_cxx library generators. Buildsystem files will come
in a future commmit.
Lauro Moura [Fri, 24 Nov 2017 00:49:22 +0000 (21:49 -0300)]
efl_mono: Adding support code for the C# binding
This is the C# manual code for the binding. Buildsystem integration will
come in a future commit.
Lauro Moura [Fri, 24 Nov 2017 00:47:25 +0000 (21:47 -0300)]
eolian_cxx: Many changes for the C# bindings
- Added helper function to get all methods of a given class (local and
inherited methods)
- Add filename information to klass
- Added new defs: enum, value (currently only integers), struct
- Generator refactoring
- Eolian C compatibility
Lauro Moura [Fri, 24 Nov 2017 00:46:55 +0000 (21:46 -0300)]
eolian: Add inarray and inlist
Stefan Schmidt [Mon, 4 Dec 2017 15:43:12 +0000 (16:43 +0100)]
docs: fill in missing docs for efl_animation_ eo classes
Stefan Schmidt [Mon, 4 Dec 2017 15:34:23 +0000 (16:34 +0100)]
docs: fill in missing docs for efl_ui_calendar_item eo class
Stefan Schmidt [Mon, 4 Dec 2017 15:33:57 +0000 (16:33 +0100)]
docs: fill in missing docs for efl_animation eo class
Stefan Schmidt [Mon, 4 Dec 2017 14:42:36 +0000 (15:42 +0100)]
docs: fill in missing docs for efl_ui_popup_alert eo class
Stefan Schmidt [Mon, 4 Dec 2017 14:32:48 +0000 (15:32 +0100)]
docs: fill in mising docs for efl_ui_popup_anchor class
Stefan Schmidt [Mon, 4 Dec 2017 14:17:32 +0000 (15:17 +0100)]
docs: fill in mising eo file docs for efl_ui_popup
Pawel Aksiutowicz [Mon, 4 Dec 2017 10:35:06 +0000 (19:35 +0900)]
ecore: removed warning from ecore_anim
Reviewers: stanluk, lukasz.stanislawski, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5535
Pawel Aksiutowicz [Mon, 4 Dec 2017 10:32:46 +0000 (19:32 +0900)]
ecore: munmap() call get size of the same type as nmap() call in "len" argument
Reviewers: stanluk, lukasz.stanislawski, jpeg
Reviewed By: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5553
Amitesh Singh [Fri, 1 Dec 2017 02:51:56 +0000 (11:51 +0900)]
efl.gfx: move scale{} from efl.ui.base to efl.gfx
Cedric Bail [Mon, 4 Dec 2017 00:30:53 +0000 (16:30 -0800)]
ecore: rename efl_loop_Eina_FutureXXX_timeout to efl_loop_timeout.
Cedric Bail [Mon, 4 Dec 2017 00:20:20 +0000 (16:20 -0800)]
ecore: remove efl_loop_timeout.
Cedric Bail [Mon, 4 Dec 2017 00:09:14 +0000 (16:09 -0800)]
ecore: remove efl_loop_timeout tests.
Cedric Bail [Mon, 4 Dec 2017 00:01:09 +0000 (16:01 -0800)]
ecore: remove a test from old efl_promise to remove use of efl_loop_timeout.
Al Poole [Sun, 3 Dec 2017 21:46:15 +0000 (21:46 +0000)]
Revert "BSD: resolve issue of missing symbols building E on FreeBSD."
This reverts commit
482724d52aaebb21ebb228eead9ddc107b094780.
Sorry!!!
Al Poole [Sun, 3 Dec 2017 13:37:42 +0000 (13:37 +0000)]
BSD: resolve issue of missing symbols building E on FreeBSD.
Al Poole [Sat, 2 Dec 2017 11:45:53 +0000 (11:45 +0000)]
eina_file_win32: also check for copy before unmapping region.
Chris Michael [Fri, 1 Dec 2017 20:32:35 +0000 (15:32 -0500)]
ecore-evas-drm: Check for XDG_SEAT existence
Small patch to allow specifying a different seat via XDG_SEAT env
variable. If no seat name is passed as ecore_evas options, then we
would always default to 'seat0'. As this may not be desirable in all
situations, allow for an override via XDG_SEAT env var.
ref T6455
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Derek Foreman [Thu, 30 Nov 2017 21:33:38 +0000 (15:33 -0600)]
ecore_wl2: Add API ecore_wl2_window_surface_flush
This allows something that only has the Ecore_Wl2_Window (ie: something
that isn't engine code) to force dropping of all the buffers.
This should be safe to call at any time as the buffer handling logic
will properly cleanup the buffers when async render is done with them
or the compositor releases them.
This will eventually be used when a wayland client receives a
wl_output.leave events to indicate it isn't displayed on any outputs.
Derek Foreman [Thu, 30 Nov 2017 21:19:17 +0000 (15:19 -0600)]
ecore_wl2: Add ecore_wl2_surface_flush
This removes all buffers from a surface.
Derek Foreman [Thu, 30 Nov 2017 21:10:22 +0000 (15:10 -0600)]
ecore_wl2: add Ecore_Wl2_Surface to Ecore_Wl2_Window
Track the surface of a window and only allow one.
Eventually this might be worthwhile to apply to subsurfaces, but for today
lazy is the way.
Derek Foreman [Thu, 30 Nov 2017 19:15:15 +0000 (13:15 -0600)]
ecore_wl2: Make Ecore_Wl2_Buffer struct private
Nothing needs these members anymore. If need arises in the future then
proper getter/setter functions can be added.
Derek Foreman [Thu, 30 Nov 2017 18:48:08 +0000 (12:48 -0600)]
ecore_wl2 wayland_shm: Move surface functions into ecore_wl2
Finish pushing these all into ecore_wl2
Derek Foreman [Thu, 30 Nov 2017 18:20:01 +0000 (12:20 -0600)]
wayland_shm: Rename all the evas_dmabuf functions
These are going to find a home in ecore_wl2, and this is the last
step before moving them all over there.
Derek Foreman [Thu, 30 Nov 2017 17:59:41 +0000 (11:59 -0600)]
wayland_shm: No longer include dmabuf header in engine.h
There's no longer any need for code outside of evas_dmabuf.c to
know anything about dmabuf.
Derek Foreman [Thu, 30 Nov 2017 17:58:18 +0000 (11:58 -0600)]
wayland_shm: move surface structure to evas_dmabuf.c
This is no longer needed by the outbuf code.
Derek Foreman [Thu, 30 Nov 2017 17:56:23 +0000 (11:56 -0600)]
wayland_shm: Use wrapper functions instead of function pointers
switch to the new "API"
Derek Foreman [Thu, 30 Nov 2017 17:53:53 +0000 (11:53 -0600)]
wayland_shm: Wrap function pointers for surface
This is going to be an API soon.
Derek Foreman [Thu, 30 Nov 2017 17:44:23 +0000 (11:44 -0600)]
wayland_shm: Move surface free into surface_destroy
The caller shouldn't have to free this.
Derek Foreman [Thu, 30 Nov 2017 17:43:21 +0000 (11:43 -0600)]
wayland_shm: Remove struct _Dmabuf_Surface
It's all piled into Surface now.
Derek Foreman [Wed, 29 Nov 2017 21:56:04 +0000 (15:56 -0600)]
wayland_shm: Stop using outbuf and engine info in surface code
The surface stuff now no longer needs knowledge of those structures.
Derek Foreman [Wed, 29 Nov 2017 21:50:12 +0000 (15:50 -0600)]
wayland_shm: Pass alpha to surface_create
Stop extracting it from other structures, pass it directly.
Derek Foreman [Wed, 29 Nov 2017 21:46:31 +0000 (15:46 -0600)]
wayland_shm: pass the ecore_wl2_window to surface create
No longer extract this from the engine info.
Derek Foreman [Wed, 29 Nov 2017 21:31:17 +0000 (15:31 -0600)]
wayland_shm: Store width and height in surface struct
No longer query these from the outbuf.
Derek Foreman [Wed, 29 Nov 2017 21:24:02 +0000 (15:24 -0600)]
wayland ee: Don't clear the window pointer during session recovery
The same pointer is valid post recovery, and anything that used to
check this for NULL now checks that the window's display is NULL
which is handled in ecore_wl2 now.
Derek Foreman [Wed, 29 Nov 2017 21:17:36 +0000 (15:17 -0600)]
ecore_wl2: Return NULL from ecore_wl2_window_display_get during recovery
This should save us from having to set the window to in the engine info
NULL and then back during/after recovery.
Derek Foreman [Wed, 29 Nov 2017 20:52:43 +0000 (14:52 -0600)]
wayland evas: Remove Ecore_Wl2_Display from engine info
We've got the Ecore_Wl2_Window so we can always get the display from
that.
Derek Foreman [Mon, 27 Nov 2017 22:12:12 +0000 (16:12 -0600)]
wayland_shm: Remove Shm_Surface
only Dmabuf_Surface is used, so let's remove this and lose the union.
Derek Foreman [Mon, 27 Nov 2017 22:08:39 +0000 (16:08 -0600)]
wayland_shm: Move surface create into dmabuf code
These functions can be combined since there's now only the dmabuf
path.
Derek Foreman [Mon, 27 Nov 2017 21:27:23 +0000 (15:27 -0600)]
wayland_shm: remove useless wrapper function
This no longer has multiple call sites. Goodbye.
Andy Williams [Fri, 1 Dec 2017 16:44:34 +0000 (16:44 +0000)]
Revert "elm_code: Call parent theme_apply when we're applying"
This reverts commit
3e5e9943601fe84b7a3ebb1d4a0c9a10bb49bf27.
This crashes within Edi. The partial solution is not good enough.
Amitesh Singh [Fri, 1 Dec 2017 15:54:21 +0000 (00:54 +0900)]
focus: use elm_object_focus_get instead
Cedric Bail [Fri, 1 Dec 2017 08:38:09 +0000 (00:38 -0800)]
ecore_con: use eina_future based timeout for tests.
Cedric Bail [Thu, 30 Nov 2017 17:41:27 +0000 (09:41 -0800)]
elementary: move to use Eina_Future based timeout.
Yeongjong Lee [Fri, 1 Dec 2017 03:05:10 +0000 (12:05 +0900)]
efl_ui_spin_button: check focus state
Summary:
Because toggle_entry function control entry focus, it need to check
focus state in focus changed callback
Test Plan:
1. elementary_test - Efl.Ui.Spin.Button
2. Click the entry of spin_button
Reviewers: Jaehyun_Cho, CHAN
Reviewed By: Jaehyun_Cho
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5569