Commit Graph

2741 Commits

Author SHA1 Message Date
Daniel Kolesa 5651b2e586 eolian: deferred parsing of inherits + better static checks
This change finally introduces deferred parsing of inherits to
Eolian, after a long time and many iterations. That means instead
of parsing inherits directly as part of the main file's parse pass,
they're pushed into a queue and parsed later. The validation engine
was modified to properly fill in the remaining info afterwards.

This may introduce breakages but I haven't noticed any. It also
properly unlocks cyclic dependency support in Eolian.

Additionally, this also introduces checks for duplicates in class
inherits (class Foo(Bar, Bar) is no longer possible) and it adds
stricter name checks, so you can no longer have a class Foo.Bar
and refer to it as Foo_Bar in implements. This was actually never
meant to be supported, but the check was previously broken.

@feature
2018-01-30 17:08:44 +01:00
Jaeun Choi c950b17a57 efl_ui_image: add missing NULL check 2018-01-30 21:21:35 +09:00
Jaehyun Cho c53cbc572e efl_ui_panes: Handle NULL object case 2018-01-30 19:50:08 +09:00
Jaehyun Cho 10342af920 elm_panes_legacy: Fix description of functions 2018-01-30 18:53:33 +09:00
Sungtaek Hong 30593b19ba Efl.Ui.Image: remove previous image when NULL is set
Summary:
when Efl.Ui.Image has an image,
         efl_file_set(efl_added, NULL, NULL) is not working.
         I think this should remove prevous image and go back to empty image.
         @fix

Reviewers: jpeg, cedric, eunue, woohyun, Jaehyun_Cho

Subscribers: Blackmole

Differential Revision: https://phab.enlightenment.org/D5742
2018-01-30 13:55:51 +09:00
Sungtaek Hong 596c88f899 Efl.Ui.Check: fix changed callback is called twice
Summary:
Efl.Ui.Check inherits Efl.i.Nstate which also calls changed callback.

fixes T6639

Test Plan: run elementary_test->check->click 'icon not resizable'

Reviewers: woohyun, cedric, jpeg, singh.amitesh

Reviewed By: singh.amitesh

Maniphest Tasks: T6639

Differential Revision: https://phab.enlightenment.org/D5768
2018-01-29 22:54:23 +09:00
Sungtaek Hong dc28a344cc elm_index: fix documentation of wrong param name
Reviewers: jpeg, woohyun, eunue, conr2d, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5767
2018-01-29 21:17:26 +09:00
Sungtaek Hong 09d3d5b85a efl_ui_bg_widget_legacy: ignore ELM_SCALE
Summary:
For legacy efl_ui_bg_widget or elm_bg, ELM_SCALE is ignored
when calculating internal image size.

Test Plan:
compare elementary_test->bg option with
ELM_SCALE=2.0 elementary_test->bg option

Reviewers: woohyun, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, id213sin

Differential Revision: https://phab.enlightenment.org/D5763
2018-01-29 19:31:39 +09:00
Shinwoo Kim 429e19563d elm: make elm_layout_text_set use efl_text_markup_set
The elm_layout_text_get is using efl_text_markup_get by following commit.

    commit c07a40c745
    elm: make elm_object_text_get return markup info as well.

    This commit solves following issue

    https://phab.enlightenment.org/T6642

    If I set object text as below
    elm_object_text_set(btn, "Some<br>text");
    then elm_object_text_get(btn) returns "Some text" not "Some<br>text".

So using efl_text_markup_set makes sense.
2018-01-29 12:25:18 +09:00
Marcel Hollerbach 97ec48434f efl_ui_focus_manager_calc: keep the entry for the redirect seperated
logicals on the focus stack can cause there a lot of confusion.

This fixes a missed focus out event from the entry in elementary_test
2018-01-27 13:01:20 +01:00
Mike Blumenkrantz 023127bf6f quicklaunch: return child pid from elm_quicklaunch_fork() on success 2018-01-26 14:10:31 -05:00
Marcel Hollerbach 7d0008d6e2 efl_ui_focus_manager_calc: prepare everything before border elem eval
otherwise we might miss the elements that are registered on prepare.
2018-01-26 15:11:50 +01:00
Marcel Hollerbach 1be0506b31 efl_ui_focus_manager_calc: check earlier for LOGICAL
this safes us performance
2018-01-26 15:11:50 +01:00
Marcel Hollerbach d447967b76 elm_gen****: do not call realize on items
better rely on the adapter and wait for realization so the adapter is
wether created or not even created but used with content. This fixes
item content focus, crashes at startup and a freeze in genlist test!
2018-01-26 15:11:50 +01:00
Shinwoo Kim c07a40c745 elm: make elm_object_text_get return markup info as well.
This commit solves following issue

https://phab.enlightenment.org/T6642

If I set object text as below
elm_object_text_set(btn, "Some<br>text");
then elm_object_text_get(btn) returns "Some text" not "Some<br>text".
2018-01-25 22:10:32 +09:00
Jean-Philippe Andre 426ccba6bd win: Fix legacy win type name
Window constructor is hijacked by the finalize method, which messes up
the normal order of operations. As a result, the legacy type name for a
window object was "elm_widget" rather than "elm_win".

This fixes a crash in E (as it checks the legacy type name to verify an
object's type).

See D5748
2018-01-25 11:43:31 +09:00
Sungtaek Hong 549c781310 eolian_gen: remove reference to elm_entry because it is not installed
Summary:
elm_entry.eo is not installed to system directory like
         "/usr/local/share/eolian/include/elementary-1", and
         eolian_gen tries to refer elm_entry.eo which results in failure.

Test Plan:
Create any eo class file which inherits Efl.Ui.Layout.
           eolian_gen eo_file.eo
           observe eolian_gen finishes

Reviewers: jpeg, herdsman, woohyun, Jaehyun_Cho, cedric

Subscribers: conr2d, id213sin, JongminLee

Differential Revision: https://phab.enlightenment.org/D5760
2018-01-24 18:51:26 +09:00
YeongJong Lee 8eda161f67 efl_ui_focus_layer: avoid a call to NULL
Summary:
efl_ui_focus_layer_enable_set(obj, EINA_FALSE) can be called before
registered_manager assigned

Test Plan:
1. EINA_LOG_LEVELS=eo:2 elementary_test -to menu
2. terminate the elemetary_test
3. check that there is no focus_manager warning about a call to NULL

Reviewers: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5759
2018-01-24 18:49:04 +09:00
Sungtaek Hong cb25699dac efl_ui_legacy: add new interface to indicate legacy widget
Summary:
For now, how to check whether a widget is legacy or not
is to check flags in private data or static flag, which is set
during elm_legacy_add.
If Efl.Ui.Legacy interface is added, it can be easilly checked
by efl_isa(obj, EFL_UI_LEGACY_INTERFACE)

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5748
2018-01-24 18:14:26 +09:00
YeongJong Lee f6ba674cd8 efl_ui_win: Avoid a call to NULL
Summary:
parent_get and smart_parent_get are called in parent_widget_get
this also remove the duplicated code

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5757
2018-01-24 15:36:08 +09:00
Marcel Hollerbach 8d1b9d4f9e efl_ui_focus_manager: listen to deletion for regular and logical
otherwise we might exit with a load of errors
2018-01-23 21:27:45 +01:00
Marcel Hollerbach b2be688ccc elm_genlist: prepare the item when its set
so the border element is set accordingly on the parent manager which
then can be picked up for focus relations.

ref T6453
2018-01-23 21:27:45 +01:00
Marcel Hollerbach 1bdbf207f1 efl_ui_focus_composition: only rely on manager
for the case of a custom manager this resulted in wrong behaviour.
2018-01-23 21:27:45 +01:00
Youngbok Shin 32f8e0c726 elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path
Summary:
"--with-elementary-base-dir" option was ignored by recent patches on elm_config.
The macro is being used in elm_theme. It should be syncronized.
The default value of the macro is ".elementary".

@fix

Test Plan: N/A

Reviewers: raster, cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D5755
2018-01-23 11:27:55 +09:00
Shinwoo Kim 5d8f2df24b elm: Fix typo checking ecore_evas for efl_access_component_extents 2018-01-22 22:07:57 +09:00
Jean-Philippe Andre 2c66616179 genlist: Avoid a call to NULL
elementary_test -to genlist
-> LOTS of warnings, when creating the genlist, as the items aren't
ready yet. This just avoids the WRN as recalc will happen later anyway.
2018-01-22 20:38:37 +09:00
Stefan Schmidt 131ddded60 efl_selection_manager: fix compilation on osx after rename
In commit c91ae98fd3 data was renamed but
the ifdefed osx part forgotten to update.
2018-01-22 12:15:19 +01:00
Carsten Haitzler d309687865 fix break of hoversels
this fixes T6627
2018-01-21 19:26:38 +09:00
Vincent Torri 0623618f73 elementary: fix compilation of efl_selection_manager on windows
Test Plan: compilation

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-01-19 13:36:13 -08:00
Jean-Philippe Andre 4153320476 widget: Ooops! Fix focus break in previous patch.
Sorry... Weird that elementary_test worked fine. I might have badly
tested.
2018-01-19 17:48:45 +09:00
Jean-Philippe Andre 20570f74d3 widget: Move on_focus_update to Focus.Object
Following @taxi2se's recommendation. This is indeed a focus method, and
Widget already inherits from Focus.Object.

Ping @bu5hm4n who probably wants to adapt this further.

Ref T5363
2018-01-19 17:30:04 +09:00
Jean-Philippe Andre c35f257bf2 widget: Remove item from on_focus_update
It's legacy stuff, and always NULL.
2018-01-19 17:17:01 +09:00
Jean-Philippe Andre a465f4d878 widget: Use enum for orientation_mode
This was proposed by Dave on the ML, I think it makes sense. Right now
the enum is just like the boolean, feature-wise, but it makes more sense
semantically (mode is not a bool) and allows for future extension (eg.
only apply orientation update for landscape vs. portrait modes).

There is absolutely zero testing for this in our existing codebase. Yay.
2018-01-19 16:19:36 +09:00
Cedric BAIL e9bc9c920a elementary: simplify Efl.Ui.Text.Factory.Emoticons. 2018-01-18 10:48:21 -08:00
Daniel Hirt 4a905a22a4 Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text
This interface has a simple 'create' method to create Efl.Canvas.Object
given a key.
This is used higher-up in Ui.Text in the next commit.

Ui text: add ability to set item factories

Added API to set an item factory object.
This is similar to the previous item providers (that worked with
callbacks).

You instantiate a factory object and set it on the Ui.Text object.
Each factory implements the "create" method from
Efl.Canvas.Text.Item_Factory.

This also includes 3 public factories (Image, Emoticon and Fallback):
  - Image factory: creates images from added entries (key strings)
  - Emoticon factory: creates emoticons by querying the theme
  - Fallback: creates image, then falls back to emoticon

If no factory is set, then the fallback (internal) factory is used.

See the added "Ui.text Item Factory" test in elementary_test for an
example of usage.

@feature
2018-01-18 10:20:28 -08:00
Mike Blumenkrantz 7a3ec89fd2 elm_win: move wayland display flush to after method calls
ref b48781aa6c
2018-01-18 10:47:43 -05:00
Jean-Philippe Andre c91ae98fd3 cnp: Rename selection data to content
This solves an issue with C# bindings where a field of a struct can not
have the same name as the struct itself. Go figure why.
2018-01-18 18:46:15 +09:00
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Jean-Philippe Andre 8a1655a15c widget: Remove comment 2018-01-18 17:40:21 +09:00
Jean-Philippe Andre 71ee800521 efl: Merge Flipable and Orientation
No need to split: those two are used in all the same classes, since the
split between Orientation and Ui.Dir.

Note that the enum types remain in the main namespace.
2018-01-18 17:29:28 +09:00
Jean-Philippe Andre f312ed6db9 widget: Rename orientation_mode_disabled
Name is stupid and long, why not just invert this bool?
2018-01-18 17:25:15 +09:00
Jean-Philippe Andre 5d85dc184f a11y: Remove import elm_general
Ref T5329
2018-01-18 16:31:20 +09:00
Jean-Philippe Andre 15d32fd4cc ui.text: Use proper EO type for cnp mode
It's not working. Just "fixing" the API for consistency.
Also, we're lacking a proper hint for "markup without images".

So I think EFL_SELECTION_FORMAT_MARKUP should be without images, while
EFL_SELECTION_FORMAT_MARKUP | EFL_SELECTION_FORMAT_IMAGE would allow
markup with images.

Ping @thiep.ha

Ref T5329
2018-01-18 16:27:57 +09:00
Jean-Philippe Andre 4e055db429 cnp: Use EO types to define legacy types
They are the same.
Ref T5329
2018-01-18 16:20:52 +09:00
Jean-Philippe Andre eb10b6eb25 win: Avoid a warning
I still hate those types.
warning: case value not in enumerated type 'Efl_Ui_Win_Type' [-Wswitch]
2018-01-18 16:20:52 +09:00
Jean-Philippe Andre 934f23c9be win: Remove unusable type "dnd"
Override mode is not available in the unified api. That's because you
can't do it in Wayland.

I still think those types are stupid and should all die: Win subclasses
handle them for you. Odd types can't be used anyway.

Ref T5322
2018-01-18 14:20:49 +09:00
Jean-Philippe Andre 50e0099ceb ui.list: Fix shadow variable warnings
node2 didn't conflict, just making it consistent with nodedata2
2018-01-18 14:13:05 +09:00
Jean-Philippe Andre 50a082cab9 win: Remove "ioerr" event
Unless it's implemented for Wayland as well, AND provides more
information than a NULL event_info, I see no point in this being an EO
event. Keep legacy as-is: a smart callback only.

Also, minor cleanups to the EO file.

Ref T5322
2018-01-18 14:06:45 +09:00
Mike Blumenkrantz b48781aa6c wayland: always flush client display when protocol sends are pending
in the case where a connection was not actively rendering, there was nothing
which would trigger a display flush, leading to applications potentially
deadlocking

@fix
2018-01-17 17:06:13 -05:00
Jean-Philippe Andre 1a39e2d429 glview: Remove trailing newline in ERR
It's not needed.
2018-01-17 15:23:52 +09:00