Commit Graph

15315 Commits

Author SHA1 Message Date
Carsten Haitzler b7eb3c5fe8 elm_priv.h - improve defines, EAPI EWAPI etc. because sub-includes need
this also makes it build for windows
2017-12-27 14:54:13 +09:00
Carsten Haitzler bfeded7252 ecore/efl loop - use efl_loop_time_get on loop obj where needed
stop using the legacy ecore_loop_time_get() func when it should be
coming from the loop object's loop time. also ecore_time_get should
never fall back on ecore_loop_time_get for similar reasons.

part of making the ecore/efl loop a non-global instance (allow loops
in threads)
2017-12-27 01:40:07 +09:00
Carsten Haitzler 27ac9a2be2 ecore main loop - fix fd handler clearning
so loop object destruction was clearing out fd handlers but those may
be later deleted by destructors of child objects. so leave legacy
fdh's and just remove them from the list
2017-12-23 21:13:47 +09:00
Andy Williams 7b4441e2b8 ecore: Reduce the number of lines in our error log
And align for readability
2017-12-22 14:48:28 +00:00
Daniel Kolesa efb419fd74 eolian: prevent unnecessary hash table allocs 2017-12-22 15:36:31 +01:00
Daniel Kolesa 65ea735fd7 eolian: remove the toplevel information 2017-12-22 15:36:31 +01:00
Daniel Kolesa 7da6675c34 eolian: perform partial class validation every time
This makes sure that duplicate method/part/etc checks are done on
every database update, removing the need for clunky toplevel
checks and improving reliability. It also sacrifices some
performance but it shouldn't be too bad (if a class is already
validated, some checks are avoided to speed things up).
2017-12-22 15:36:31 +01:00
Daniel Kolesa 30c5753172 eolian: deferred parsing of type deps 2017-12-22 15:36:31 +01:00
Daniel Kolesa e1bcd61bdf eolian: move inherit type checking to validation 2017-12-22 15:36:31 +01:00
Andy Williams 6ecad5b873 docs: Update evas canvas eo files for grammar and readability
Author: Nate Drake
2017-12-22 13:45:48 +00:00
Andy Williams 9a4eedb078 Remove all ocurrences of SPANK from our user facing errors.
This has been bugging me for some time but now we are triggering new errors internally
this is appearing to end users for problems they did not cause.

Additionally I was able to improve a couple of the errors by copying the
explanation from code comments into the error message.

Shorter error logs now too :)
2017-12-22 11:18:46 +00:00
Andy Williams 77dd065c52 docs: Update efl interface eo files for grammar and readability
Author: Nate Drake
2017-12-22 10:41:18 +00:00
Andy Williams f0d6a60cf8 docs: Update edje eo files for grammar and readability
Author: Nate Drake
2017-12-22 10:41:18 +00:00
Amitesh Singh 961743475c Efl.Ui.List: fix compiler warning. 2017-12-22 13:43:30 +09:00
Amitesh Singh e2cb16c78b Efl.Gfx.Color: add color_code{}
color_code allows user to pass/get the color hex string
(e.g. efl_gfx_color_code_set(o, "#FFAA22CC"))

Also make this interface as mixin class.
2017-12-22 13:29:20 +09:00
Amitesh Singh 9db0ec554b interface: add Efl.Gfx.Color interface for color related APIs
This would eventually turn into mixin class later after adding
more color related helper functions.
2017-12-22 13:29:20 +09:00
Andy Williams 14d10e8b7b elm_code: Cancel selection if clicked outside of the editor area 2017-12-21 22:05:42 +00:00
Carsten Haitzler 6b70cd5f97 ecore/efl loop - refactor idle stuff to be less convluted when
less jumping around the codebase and no need for a message exists
method on the loop as we can find out internally, so only the process
left.
2017-12-21 19:45:21 +09:00
Carsten Haitzler 04a01c13af ecore/efl loop. remove internal ecore_timer legacy api usage for eflloop
efl.loop was still using legacy ecore_timer_* calls inside. of course
this is a big no-no if we are to allow multiple loops, so clean this
up and convert them to efl.loop.timers.
2017-12-21 17:55:03 +09:00
Lauro Moura 46b202b86c eolian-mono: Add documentation generation support
This commit adds the "documentation" generator, which gets the
documentation_def attribute of the given item and generates xml comments
to be exported by MCS.

For items requiring some customization of the generated comments (e.g.
functions and its parameters), the helpers to generate the preamble
(summary), body (paragraphs) and epilogue (currently just the @since
tag) were added.

Currently we do not support converting Eolian references into xmldoc
references.

As we explicitly generate Get/Set methods for properties, for now the
generator tries to get the get/set specific documentation first. If it
is not present, fallback to the common docs.

Later this could be changed to generate the common one as paragraphs of
the Get/Set.

Also some generated code like the wrappers for calling C# methods
from C can be private. This will cleanup the introspection results
and warnings when generating documentation.

Due to this visibility change, the binbuf tests had to be changed
to add redirect calls to the native methods instead of directly
calling the DllImport'd methods.
2017-12-20 19:57:17 -02:00
Daniel Hirt 4bde4ceada Canvas image: fix endless call to 'load_error_get'
Fixes a bug introduce with c8c4572d70.
My guess is that the true intention was to query the Efl.File mixin
first, and the check the specific load_error.

Basically a call to 'efl_file_load_error_get' on an
Efl.Canvas.Image triggered this.
2017-12-20 09:40:52 -08:00
Andy Williams b9401d7e0a docs: Update ecore_con eo files for grammar and readability
Author: Nate Drake
2017-12-20 17:30:29 +00:00
Carsten Haitzler 75bb46a412 elm - scroll manager - fix up momentum animator code to use real consts
use real constnants and remove useless vasriables as well as fix up
formatting... so we don't get compilers complaining about non-const
values etc.

@fix
2017-12-20 21:49:18 +09:00
Carsten Haitzler b22b2ded1d ecore_con: bug workaround SO_REUSEADDR and EADDRINUSE from bind (fix)
what i'm seeing is this with local unix sockets:

1. server process not cleanly shut down (kill -9 for example).
2. run server process again and bind fails due to EADDRINUSE
3. we ARE doing setsockopt() with SO_REUSEADDR set to 1 ...

this just makes no sense because setsockopt() SHOULD allow use to
re-use... the previous efreetd process for example is gone. no such
process, yet socket is not re-usable. this should just not happen due
to SO_REUSEADDR, but it does. this has nasty consequences like efreetd
maybe never running because of stale sockets. this should never have
happened, but it does. odd. so a hacky workaround:

1. try bind.
2. if bind fails with EADDRINUSE and its a socket path AND
pd->unlink_before_bind is NOT set... then try a connect to the socket.
3. if connect succeeds then fail as normal (close socket and error on
bind'ing)
   if connect fails then we have a stale socket, so unlink it
forcibly. create the socket again and try bind again.

hacky but... fixes the core issue.

@fix
2017-12-20 21:10:53 +09:00
Carsten Haitzler 9c88bc4933 elm build for osx - try another dotting of i's and crossing of t's
try this and fix T6448 ...
2017-12-20 19:07:01 +09:00
Andy Williams 5162d66c51 eo: Update grammar and readability 2017-12-20 09:52:31 +00:00
Andy Williams e942dd6420 Eo docs: update for grammar and readability 2017-12-20 09:41:46 +00:00
Jihoon Kim 4262c33bfc ecore_imf: Add prediction hint hash APIs
Change-Id: Id012fd172d3b15bfa3e9ea10c22216db10ba23b5
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-12-20 17:36:27 +09:00
Jihoon Kim 9e8bd48e70 ecore_imf: Add autofill hints in input hint
Change-Id: I4e51adf179afa69a077de8ecabf7fa763c03f871
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-12-20 17:36:27 +09:00
Carsten Haitzler c102ab9b2f remove all specific including of elm headers inside out src tree
... other than Elementary.h after d6e3ce3df422751cb1c4524f1ea0b16ce897410 etc.
2017-12-20 17:26:32 +09:00
SangHyeon Lee a99941d24f efl_ui_scroll : fix scroll bar size visibility issue in efl_ui_list
Summary :
mostly, bar-related event callback will be registered after
scroll manager creation, so in scroll manager constructor,
visibility_update cannot update their visiblity properly.
2017-12-20 15:27:12 +09:00
Jean-Philippe Andre c2a5ee65d5 elm: Fix duplicate EO API
elm_interface_scrollable is used by legacy but isn't public API.
2017-12-20 15:26:22 +09:00
SangHyeon Lee 0c579c82c3 elm: apply new scroll interface in efl_ui_list
Summary: Apply new scroll inteface in efl_ui_list.

Test Plan: tested by examples

Reviewers: jpeg, eagleeye

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5690
2017-12-20 15:22:22 +09:00
Jean-Philippe Andre 0d85525dc8 loop: Fix loop_get search priority
According to comments by @k-s & @raster.

See 784a5b56a3 this was intended to be a fallback, not the first
lookup indeed. Since this is an error case, let's print an ERR message
at least.
2017-12-20 13:39:11 +09:00
Jean-Philippe Andre 28661cb650 scroller: Fix compilation on Windows
Thanks @vtorri for the report.
Fixes T6528
2017-12-20 11:21:50 +09:00
Cedric BAIL 98aa1a4eb1 eina: fixup EAPI definition. 2017-12-19 09:54:45 -08:00
Carsten Haitzler 036cf62cc7 efl build... let's not break building against efl...
yet again headers messed up and building against efl is broken!
2017-12-20 01:24:58 +09:00
Jean Guyomarc'h e835a02ebb eina: fix random segfaults when displaying BT
Under some circumstances, eina crashes when attempting to display the
backtrace, because dladdr() may yield a dli_fname that is NULL. This is
especially annoying in realease, when the backtrace is shown by default
when CRI/ERR are thrown.

@fix
2017-12-19 16:56:22 +01:00
Jean Guyomarc'h a1e05aa089 evas/elm: fix visibility of some symbols
Public symbols were defined internal to Evas/Elementary on macOS, making
the link of external modules unfeasible.

- EAPI was messed up by an invalid inclusion of evas_text_utils.h, making
  some symbols private instead of public.
- A similar issue was present in evas_font_draw.c, where the symbols
  were directly imported without the proper definition of EAPI.
- Elementary.h did include some eo-generated headers, but for windows
  only. It should not been restricted to windows, as it allows to export
  symbols to external modules.

Fixes T6448.
2017-12-19 15:08:46 +01:00
Jean Guyomarc'h f71444baa8 evas: include missing header
This fixes a compilation warning telling a function was used without
prior declaration.
2017-12-19 14:30:23 +01:00
Jean-Philippe Andre 0f1469280d win: Show windows created by efl_add with a job
This fixes efl_add(WIN) on wayland, using an internal API.
Test scenario:
  ELM_DISPLAY=wl elementary_test -to "Part Shadow"
2017-12-19 20:37:25 +09:00
Jean-Philippe Andre f2b13e4a21 scroll: Fix a warning (and probably the logic too) 2017-12-19 14:25:08 +09:00
Yeongjong Lee 434e7b4470 efl_ui_spin_button: remove needless focus_set
Summary:
because _entry_show_cb callback call focus_set function,
efl_ui_focus_manager_focus_set is unnecessary.
also, this fixes focus error message.

Test Plan:
1. elementary_test -to Efl.Ui.Spin.Button
2. click the entry.

Reviewers: CHAN, Jaehyun_Cho, bu5hm4n

Reviewed By: CHAN

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5641
2017-12-19 14:25:08 +09:00
SangHyeon Lee 0f16a06710 interface : change efl_pack_grid and efl_ui_grid to efl_pack_table and efl_ui_table
Summary:
Change name of 'grid' to 'table' for matching on common ui naming
and avoiding confusion with 'gengrid' and 'grid view'.
grid will be introduced as grid image view after.

Test Plan:
checked make & make install
checked make check - there are errors but not related with these changes.
checked make examples - there are errors in cxx but not related with these changes.
checked make discheck - failed
test in elementary_test with Efl.Ui.Table and Table_static.

Reviewers: raster, cedric, jpeg, felipealmeida

Differential Revision: https://phab.enlightenment.org/D5668
2017-12-19 14:25:08 +09:00
Jean-Philippe Andre c8a28b9780 ecore: Properly shutdown pollers 2017-12-19 13:44:33 +09:00
Jean-Philippe Andre ff24ac2d6d efl: Reset ecore event types on init
This fixes cycles of init/shutdown/init where ecore event types would
become invalid, since they are now stored in a dynamic array rather than
a statically stored array.

The risk here is that if a module of EFL tends to init/shutdown in a
"normal" scenario then the event type array will grow in a leaking
manner. This could be fixed by resetting those event ID's only when the
loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using
EFL_EVENT_DEL in this patch as this would add too many event callbacks
to the main loop object, which may result in slightly slower event calls
to it, affecting the overall performance.
2017-12-19 11:14:37 +09:00
Wonki Kim 47bf356435 scroller: Introducing Efl.Ui.Scroller
Summary:
scrollable widgets had a interface_scrollable as a mixin so that the
widgets had a 'is-a' relation with interface_scrollabe.  however, new
scroller concept don't have 'is-a' relationship, but 'has-a'
relationship.  scrollable widgets should have a scroll manager inside
them, then scroll manager handles event from user and api
implementations.  and also we cut the features such as paging because
there will be aka 'elm_pager'.

we are expecting that the new concept make us to maintain the scroller
easier.  please excuse for many unorganized code and logics. : (

[contained commit]
scrollable: add efl_ui_scroller example
scrollable: refactoring for behavior in case of multiple scroller
scrollable: remove repetitive scrollbar code.
scrollable: combine calculating bounce distance code.
scroll_manager: mouse up function refactoring
scroll_manager: mouse move function refactoring
scroll_manager: warp animator wip
scroll_manager: fix denominator value when calculating flicking behavior.
Fix to disconnect bounce animator once animation is done
gather duplicated animator drop logics
gather duplicated conditions
Rearrange prototypes and append comment
Add manipulate functions for animators
scroll_manager: change member_add function.
scroll_manger: apply mirroring logic
scroll_manager: apply scrollbar
apply API to scroller widget
scroll_manager: apply scroll event callback
Change logics for all about scroll animating
efl_ui_pan: add efl_ui_pan
scrollable:  change content_min_limit to match_content
scroll theme: apply overlapped scrollbar
+ many others!

Reviewers: akanad, woohyun, cedric, jpeg

Subscribers: jenkins, cedric, jpeg

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

Note by @jpeg:
Unfortunately this patch comes in a massive single blob, after too many
rebase operations. It has now come to a point where I think the API is
nice and it works as I'd expect.
Now I only wonder how applicable this will be for Efl.Ui.List. As we can
see Photocam (legacy and unified API) could be transformed to use this
new API.
2017-12-19 10:26:25 +09:00
Jean-Philippe Andre 29ce7550eb eina: Add missing eina_internal.h 2017-12-19 10:20:18 +09:00
Cedric BAIL 90f30ea418 eina: make __eina_promise_cancel_all an internal only function. 2017-12-18 16:17:04 -08:00
Cedric BAIL 29d4cb864b ecore: make message_process and message_exists internal function. 2017-12-18 16:10:11 -08:00