Daniel Kolesa [Wed, 6 Dec 2017 13:04:58 +0000 (14:04 +0100)]
eolian: store aliases in temporary state
Daniel Kolesa [Wed, 6 Dec 2017 12:59:17 +0000 (13:59 +0100)]
eolian: store classes in temporary state
Daniel Kolesa [Wed, 6 Dec 2017 12:46:10 +0000 (13:46 +0100)]
eolian: create an internal temporary state
Shinwoo Kim [Wed, 6 Dec 2017 05:54:49 +0000 (14:54 +0900)]
elm: Use EFL_UI_WIN_CLASS to check if an object is window
The EFL_ACCESS_WINDOW_INTERFACE was used to check if an object is window.
This could make sense. But it would be better to use EFL_UI_WIN_CLASS for
consistency.
Shinwoo Kim [Wed, 6 Dec 2017 02:53:06 +0000 (11:53 +0900)]
elm: Fix _elm_widget_onscreen_is for window
A window is using ecore_evas geometry value for its evas_object geometry value.
The evas_output_viewport x(y) value which is used in _elm_widget_onscreen_is
is always 0. So _elm_widget_onscreen_is could return EINA_FALSE, if ecore_evas
geometry x(y) value is bigger than 0, even though a window object is on screen.
So it is not correct to compare ecore_output_viewport and evas_object geometry
for a window object. Moreover it does not make sense.
Amitesh Singh [Wed, 6 Dec 2017 03:15:39 +0000 (12:15 +0900)]
edje: rename Edje.Object to Efl.Canvas.Layout
Amitesh Singh [Wed, 6 Dec 2017 01:49:26 +0000 (10:49 +0900)]
Efl.Canvas.Object.eo: indent correction
Amitesh Singh [Wed, 6 Dec 2017 01:20:58 +0000 (10:20 +0900)]
update gitignore.
Marcel Hollerbach [Tue, 5 Dec 2017 20:53:12 +0000 (20:53 +0000)]
eo: add definition of function back
Andy Williams [Tue, 5 Dec 2017 17:04:19 +0000 (17:04 +0000)]
eo: Update header for readability
Author: Nate Drake
Reviewer: Andy Williams
Marcel Hollerbach [Sun, 3 Dec 2017 15:47:26 +0000 (16:47 +0100)]
efl_ui_focus_user/object: fix api duplication
just like the commit before, this fixes duplicated api names
Marcel Hollerbach [Sun, 3 Dec 2017 12:26:16 +0000 (13:26 +0100)]
efl_ui_focus_manager: fix api duplication
Daniel Kolesa [Tue, 5 Dec 2017 15:47:19 +0000 (16:47 +0100)]
eolian cxx: free state on exit
Daniel Kolesa [Tue, 5 Dec 2017 15:40:04 +0000 (16:40 +0100)]
eolian: pass state where necessary
This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.
Daniel Kolesa [Mon, 4 Dec 2017 13:44:29 +0000 (14:44 +0100)]
eolian: add initial refcounting for database objects
This will be necessary once the unit system is in (it will be used
to keep track of multiple references to objects across units).
Daniel Kolesa [Mon, 4 Dec 2017 10:44:56 +0000 (11:44 +0100)]
eolian: pass unit within validation engine
Daniel Kolesa [Sun, 3 Dec 2017 20:18:20 +0000 (21:18 +0100)]
eolian: contain master state in a larger structure
Daniel Kolesa [Sun, 3 Dec 2017 20:10:44 +0000 (21:10 +0100)]
eolian: add API for master unit creation
Daniel Kolesa [Sun, 3 Dec 2017 19:57:43 +0000 (20:57 +0100)]
eolian: create an actual unit structure for files
Units now form an actual tree stored in their own hash. This will
later replace all global state of Eolian, by introducing a master
unit that you will pass around.
Yeongjong Lee [Tue, 5 Dec 2017 08:57:44 +0000 (17:57 +0900)]
elm_widget: simplify _eval_registration_candidate
Test Plan: make check
Reviewers: bu5hm4n, jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5588
Stefan Schmidt [Tue, 5 Dec 2017 08:26:22 +0000 (09:26 +0100)]
build: fix examples build without c# bindings enabled
Listing it here without guards will break for builds without c# enabled.
It was actually taken care of a few lines below where it gets included
with the right guards. This one was just around by accident I think.
Amitesh Singh [Tue, 5 Dec 2017 07:00:08 +0000 (16:00 +0900)]
edje: rename intf Efl.Canvas.Layout_Group to Efl.Layout.Group
Amitesh Singh [Tue, 5 Dec 2017 06:29:07 +0000 (15:29 +0900)]
edje: rename intf Efl.Canvas.Layout_Calc to Efl.Layout.Calc
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.