Commit Graph

57793 Commits

Author SHA1 Message Date
Carsten Haitzler 6f31f36aa8 put efl app test back with mods to match app as superclass 2018-03-03 13:40:33 +09:00
Carsten Haitzler 1bdd9e4dd1 ecore - a different take on efl.app class as a super class to efl.loop
so the MAIN loop is actually an efl.app object. which inherits from
efl.loop. the idea is that other loops in threads will not be efl.app
objects. thread on the creator side return an efl.thread object.
inside the thread, like the mainloop, there is now an efl.appthread
object that is for all non-main-loop threads.

every thread (main loop or child) when it spawns a thread is the
parent. there are i/o pipes from parnet to child and back. so parents
are generally expected to, if they want to talk to child thread, so
use the efl.io interfaces on efl.thread, and the main loop's elf.app
class allows you to talk to stdio back to the parent process like the
efl.appthread does the same using the efl.io interfaces to talk to its
parent app or appthread. it's symmetrical

no tests here - sure. i have been holding off on tests until things
settle. that's why i haven't done them yet. those will come back in a
subsequent commit

for really quick examples on using this see:

https://phab.enlightenment.org/F2983118
https://phab.enlightenment.org/F2983142

they are just my test code for this.

Please see this design document:

https://phab.enlightenment.org/w/efl-loops-threads/
2018-03-03 13:40:33 +09:00
Carsten Haitzler 1c74aaa7e9 Revert "cxx: Fix manual code after efl_app change."
This reverts commit 135154303b.

Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit 3dbca39f98.

Revert "efl: add test suite for efl_app"
This reverts commit 3e94be5d73.

Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit 28fe00b94e.

Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?

1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)

etc.
2018-03-03 13:40:33 +09:00
Lauro Moura 6f092071ac eolian cxx,csharp: Update after eolian changes
Closes D5829.
2018-03-02 23:58:20 +01:00
Daniel Kolesa 9e8d96671e elua: add missing APIs to eolian bindings 2018-03-02 14:39:57 +01:00
Daniel Kolesa 93dad9d6bb elua: objectify unit and redo class retrieval 2018-03-02 14:04:41 +01:00
Daniel Kolesa b799fb1959 eolian: remove old APIs for path retrieval 2018-03-02 13:53:34 +01:00
Daniel Kolesa 9144045925 elua: update path retrieval APIs 2018-03-02 13:52:13 +01:00
Daniel Kolesa b45dc505cd eolian: remove old directory_scan/file_parse APIs 2018-03-02 13:46:57 +01:00
Daniel Kolesa 5701ce22a3 elua: remove old dir scan/parse APIs 2018-03-02 13:43:16 +01:00
Daniel Kolesa e27336cee1 elua: add new API prototypes in eolian bindings 2018-03-02 13:37:00 +01:00
Daniel Kolesa 9ab4560459 eolian*: replace various directory_scan/file_parse 2018-03-02 13:30:27 +01:00
Daniel Kolesa b7e0553b61 eolian: replace directory_scan and file_parse in tests 2018-03-02 13:21:20 +01:00
Davide Andreoli 939cb26bd9 Pyolian: new APIs for typedecl lookups 2018-03-01 17:08:56 +01:00
Davide Andreoli 20f7d6f35f Pyolian: new variable lookup APIs
with adjusted tests
2018-03-01 16:35:22 +01:00
Davide Andreoli 0a51dbf2ff Pyolian: new APIs for class retrieval
Also updated tests, generator and gendoc accordly
2018-03-01 15:51:59 +01:00
Carsten Haitzler ed077d5d92 efl file interface - fix reyturn if no file set to return a null file 2018-03-01 22:35:47 +09:00
Daniel Kolesa f8505eddbd eolian: new APIs for typedecl lookups 2018-03-01 12:42:40 +01:00
Daniel Kolesa e28e481cca eolian: new variable lookup APIs 2018-03-01 12:16:28 +01:00
Daniel Kolesa d6382f3f2b eolian: new APIs for class retrieval 2018-03-01 12:16:28 +01:00
Carsten Haitzler ca93267670 Revert "theme: rename "default" theme to "dark""
This reverts commit d764e0b279.

The whole idea of renaming the default theme is an "api break" even if
config is changed. and symlinks don't work on windows as a solution.
(well on ntfs only as only as administrator, so they don't exist).

modifying config for switch from default to dark also will break the
case where someone put ~/.elementary/themes/default.edj there and it just
is different to the system one and how their theme changes on them as
it switches to dark.

basically we can't rename a theme like this mid-flight in efl. default is
default and has to stay that name. it can change the look, but not the
name.

i think the apparent reasoning behind this is not a good one. the work on
flat is temporary. i don't think we will ever maintain multiple "default
themes" as its just far too much work.

we can maintain color SCHEMES which are just a list of colorclasses and
colors for them - that's separate to a theme and would override. right now
these things don't exist. we are not going to create a dark.edj and a
light.edj just to store differing default colorclass values. we should be
doing the above with colorclass "color palette/scheme/whatever" files
that override those named colorclasses globally on init.

so reverting because this is an api break and we shouldn't break api
unless there is really absolutely no other choice.

here the choice is to just temporarily work in a branch and modify
default and then merge the branch when done.
2018-03-01 16:44:01 +09:00
Derek Foreman 9111811b83 evas: Check for NEON via eina_cpu_features if possible
On linux we can do this test without firing a SIGILL and trapping it,
if getauxval() is present.

ref T6711
2018-02-28 18:07:53 -06:00
Mike Blumenkrantz 977b2731ee eet: add doc note for EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY_STRING 2018-02-28 16:02:39 -05:00
Mike Blumenkrantz 0b6aade84d elm config: hide theme and profile config in gui when running in enlightenment
put some small effort into preventing the user from destroying their config
2018-02-28 16:02:39 -05:00
Mike Blumenkrantz d764e0b279 theme: rename "default" theme to "dark"
this inhibits maintenance and development of multiple stock themes

a symlink is created to 'default.edj' to preserve compatibility
2018-02-28 16:02:39 -05:00
Mike Blumenkrantz 7f67f99111 elm: fix config upgrades for user profiles
loading the system profile only works if the current profile has the
same name as a system profile
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz bf7890c806 theme: add fallback matching when referenced theme is not found
if done properly, this should never occur, but at least find some
layout to use if one is available
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 07d0fb03db theme: introduce theme overlay/extension matching
after this commit, efl base themes should now specify:

data.item: "efl_theme_base" "theme_name";

and overlays/extensions which match a given theme should use:

data.item: "efl_theme_match" "theme_name";

this will cause overlays and extensions with the data.item to only
be loaded when the corresponding theme is in use. note that this
should not be specified for theme-independent overlays/extensions
as it will completely block loading of themes
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 7353fc1cb8 elm_theme: deduplicate theme apply code
the "default" style fallback code here was identical, so just call again
with "default" instead of copy and pasting the same code
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz fe0bd38f4c elm_theme: massively simplify internals
instead of maintaining separate lists for the file and the edje file,
maintain a single list of structs containing both of these

also dynamically manage a string list of files to preserve compat with
existing (bad) functions which return this directly
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz a0f7dd5aa9 elm: set default theme name internally when applying config
for whatever reason this is only generated in elm_theme_get(), so call
that whenever doing theme string parsing

@fix
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 3d9dcbd478 edje: add ability to reference images from other edje files
this uses the just-added "id" property to allow referencing images
by name from that theme. example:

=FILE1=
id: "myfile";
images.image: "someimage.png" COMP;

=FILE2=
requires: "myfile";
images.image: "someimage.png" EXTERNAL "myfile";

FILE2 will now load someimage.png from FILE1 at runtime if FILE1 is
currently opened in edje, and FILE1 will be kept open until FILE2 is
closed

@feature
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 3a86768f3b edje_cc: add "id" toplevel property
this can be used by edje files to identify themselves
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 30378f26fa edje: reformat bin/ c files
a lot of this was unreadable due to mixed tabs/spaces or just random
formatting
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 645c573efb edje: EDJE_IMAGE_SOURCE_TYPE_EXTERNAL -> EDJE_IMAGE_SOURCE_TYPE_USER
no functional changes, just a confusing define rename
2018-02-28 16:02:37 -05:00
Derek Foreman 976b0d24cc Revert "wayland_imf: Fix bug in shutdown"
This reverts commit fb01a697dd.

The problem this commit was anticipating never happened.

Now the next version of wayland will allow us to make protocol symbols
private, so it makes more sense to have this stuff back where it was
in the first place.
2018-02-28 13:35:10 -06:00
Davide Andreoli d176a37f32 Pyolian: add APIs to retrieve units from a state
Also fixed a declaration error from previous commit
2018-02-28 14:31:59 +01:00
Davide Andreoli b7de65272f Pyolian: add API to get file name of a unit 2018-02-28 14:31:59 +01:00
Davide Andreoli 686aae5572 Pyolian: add API to get children of a unit 2018-02-28 14:31:59 +01:00
Davide Andreoli 9a90343df2 Pyolian: reorder the header file
No functional changes, just reordered the declarations
2018-02-28 14:31:59 +01:00
Marcel Hollerbach 507cabd44e Revert "elm: make elm_view_list legacy"
This reverts commit d2d63a8c23.

This broke compilation of efl applications, since elm_view_list.eo.h
is required, however, this again leaves the installed .eo files broken.
2018-02-28 09:49:05 +01:00
subhransu mohanty 2bad5fffce eina/bezier: use FLT_EQ marcro for float equal comparison.
Reviewers: SanghyeonLee, jpeg, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5828
2018-02-28 15:15:20 +09:00
Derek Foreman ec3784774d ecore_wl2: Disable horizontal resize optimization
We had a "clever" optimization that would keep a buffer on resize
if it was resizing up horizontal and fit within the previously
allocated stride.

Unfortunately, there still needs to be a buffer reconfigure between
client and compositor that wasn't taking place.  Remove this for now.
2018-02-27 16:27:56 -06:00
Davide Andreoli cb431b2b0e Pyolian: rename Eolian to Eolian_State 2018-02-27 19:14:38 +01:00
Davide Andreoli 191ca9096e Pyolian: eolian_file_parse -> eolian_state_file_parse 2018-02-27 19:14:38 +01:00
Davide Andreoli 2e43fd3f1c Pyolian: rename path/filename retrieval APIs 2018-02-27 19:14:38 +01:00
Davide Andreoli e90c551d74 Pyolian: rename all_files_parse functions 2018-02-27 19:14:38 +01:00
Davide Andreoli 541f04aa79 Pyolian: new APIs for directory scanning
eolian_directory_scan => eolian_state_directory_add
eolian_system_directory_scan => eolian_state_system_directory_add
2018-02-27 19:14:38 +01:00
Al Poole 34a25f0318 eio_file: fix some indentation.
Make this easier to read.
2018-02-27 17:33:47 +00:00
Daniel Kolesa 7a68ea5edb eolian: rename path/filename retrieval APIs 2018-02-27 16:12:35 +01:00