Commit Graph

12881 Commits

Author SHA1 Message Date
Amitesh Singh bd1ee1b083 Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
@feature
2017-06-02 18:32:09 +09:00
JinYong Park bcb7eb99b3 popup: fix object_mirrored_set didn't work
Summary:
object_mirroed_set as opposed to config_mirrored_set doesn't work with
popup. This patch broadcasts a change on 'mirrored' to internal notify,
main layout, scroller and action area layout to make API work.

@fix

Reviewers: singh.amitesh, jpeg, conr2d, cedric, raster

Reviewed By: conr2d

Subscribers: herb

Differential Revision: https://phab.enlightenment.org/D4900
2017-06-02 16:34:42 +09:00
Stefan Schmidt e3a073c0a8 docs: efl_text_style: add docs for various style related enums 2017-06-02 09:21:11 +02:00
Stefan Schmidt 6bc5e2ddfc docs: efl_font_format: add docs for Efl.Text.Format.Wrap enum 2017-06-02 09:21:11 +02:00
Stefan Schmidt c01052dafb docs: efl_text_font: add docs for font width and slant enums 2017-06-02 09:21:11 +02:00
Stefan Schmidt b0d056f291 docs: efl_text_font: add docs for font weight enum
Who comes up with font weight names like extrabold or black? :)
2017-06-02 09:21:11 +02:00
Stefan Schmidt bf6050047c docs: elm: add description for external Elm.Glob.Match_Flags 2017-06-02 09:21:11 +02:00
Stefan Schmidt abdb326f0d elm: move Elm.Glob.Match_Flags extern into a single place
Since this was moved into the two genlist and gengrid files I get
redefinition warnings during the build and when generating the docs
eolian actually errors out on me and stops parsing.
2017-06-02 09:21:11 +02:00
SangHyeon Lee dc98fd4f5e elm_gen : apply Elm_Theme_Apply enum return types for theme_object_get of item view.
elm_widget_theme_object_get now return Elm_Theme_Apply enum not bools.
only ELM_THEME_APPLY_FAILED case, need to re-apply default item edje.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
2017-06-02 10:32:07 +09:00
Jihoon Kim e2804c6f01 ecore_imf: Add commit content event callback
COMMIT_CONTENT is called when the input method commits content such as an image.

Change-Id: Idf238dc9b27811999b1ee733eeba2318d57e54f1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-06-02 09:24:47 +09:00
Derek Foreman b53d1e29f1 elput: Fix logind session object path
We're supposed to query the path for a session id instead of just
making up the string ourselves.

Fixes all input devices being dead after a vc switch for some users.
2017-05-31 14:16:36 -05:00
Amitesh Singh cb1d53c835 Efl.Ui.Image.Zoomable: inherit from Efl.Ui.Image 2017-05-31 19:02:47 +09:00
jiin.moon 2c119f54af elm_image: Fix previous image visible issue
Summary: Previous image still visible when elm_image_file_set has wrong file path.

Test Plan: self

Reviewers: jpeg, jypark, singh.amitesh

Reviewed By: singh.amitesh

Subscribers: singh.amitesh, minkyu, cedric

Differential Revision: https://phab.enlightenment.org/D4888
2017-05-31 19:01:04 +09:00
Jean-Philippe Andre 602039cf83 edje: Move some functions to Efl.Ui.Base (EO)
This introduces the new interface Efl.Ui.Base, intended to
share some APIs between Edje and Elm:
 - mirrored (rtl)
 - language
 - scale

base_scale remains in Edje.Object for now. I don't think it
applies to generic widgets.

The new interface uses eo prefix "efl_ui". It could be renamed
as Efl.Ui (no Base), or anything else. As always, I'm open to
propositions!

Ref T5315
2017-05-31 18:42:32 +09:00
Jean-Philippe Andre 20a305a85d interfaces: Remove display_mode from EO size hints
This size hint is only used by naviframe, which is not part of
our EO widgets. I also believe it might be an even more confusing
hint than the others.

I kept the typedef as is in Evas_Legacy.h in case an app is
written using EFL_GFX_ instead of EVAS_...
2017-05-31 18:42:32 +09:00
Jean-Philippe Andre ce0d15ecb3 edje: Reshuffle a bit edje_object.eo
This changes a few method names:
 - freeze -> calc_freeze
 - thaw -> calc_thaw
 - update_hints -> calc_update_hints

Otherwise this is mostly about reshuffling the EO file itself
and changing documentation.

Ref T5315
2017-05-31 18:42:28 +09:00
Jean-Philippe Andre aa5ac8eed7 edje: Rename "data" to "group_data" for EO
Still not happy with the name. I'm trying to avoid a name
clash between other "data" elements in the object. This is
the EDC group "data item".

Ref T5315
2017-05-31 18:42:24 +09:00
Jean-Philippe Andre 8f7fc307f2 edje: Remove external param_set from EO
As Dave pointed out, those are meant for internal use by Edje and
the plugins implementation, rather than for apps. This removes
ugly and complex code. Makes me happy :)

Note that I've kept the composition for now. We can remove it
as efl_content_get() must work on the part handle anyway. But it
can be used as a quick solution.
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre f767e8bea4 edje: Move part drag APIs to efl_part
This moves all part_drag APIs to legacy and implements them for
EO using efl_part(). All parts now support these APIs, even if
they are not draggable. Making this more fine grained would
probably be much extra work for little gain.

This creates a new interface Efl.Ui.Drag.
2017-05-31 15:41:20 +09:00
Jean-Philippe Andre 2949329d4b edje: Improve reference doc for part drag APIs 2017-05-31 15:41:20 +09:00
JinYong Park 2086530d07 popup: remove previous object when setting new content
Summary:
Other widgets remove previous object when setting new content, but popup does
nothing for the part whose name is "default".
content_unset can be used to keep previous content object, so content_set
(especially with NULL) should be able to delete previous content object
for uniformity of the entire widgets.

@fix

Reviewers: jpeg, singh.amitesh, cedric, raster, conr2d

Reviewed By: conr2d

Subscribers: minkyu, herb

Differential Revision: https://phab.enlightenment.org/D4885
2017-05-31 13:21:08 +09:00
Chris Michael dc3da87139 ecore-drm2: Don't free output plane states if not using atomic
If atomic support is not enabled (kernel or env var), then we will not
be filling output plane_states, so no need to free them (if non-atomic).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 15:57:07 -04:00
Chris Michael f2a0e5ae4c ecore-drm2: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 15:56:51 -04:00
Daniel Kolesa cc7b354db2 eolian: silence a unused warning temporarily 2017-05-30 17:15:54 +02:00
Daniel Kolesa d2280f91a1 eolian: use unit in typedecl c_type_get 2017-05-30 17:15:54 +02:00
Daniel Kolesa d4c835545b eolian: pass unit in internal type serialization 2017-05-30 17:15:54 +02:00
Daniel Kolesa a5e66b3421 eolian: doc token ref resolver now takes unit 2017-05-30 17:15:54 +02:00
Daniel Kolesa 81a1d9659a eolian: type_class_get takes unit 2017-05-30 17:15:54 +02:00
Daniel Kolesa c234b5ee69 eolian: expr eval APIs now take units 2017-05-30 17:15:54 +02:00
Daniel Kolesa 4125e3f34b eolian: more expr system unit updates 2017-05-30 17:15:54 +02:00
Daniel Kolesa 2cfbd3a42b eolian: pass unit around in expr eval 2017-05-30 17:15:54 +02:00
Daniel Kolesa 308a3d91a3 eolian: use unit in all getters for typedecls 2017-05-30 17:15:54 +02:00
Daniel Kolesa 4f88aa424d eolian: use units in by_file getters for typedecls 2017-05-30 17:15:54 +02:00
Daniel Kolesa 67bc32d9ac eolian: pass unit to enum get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 9c2dae3531 eolian: pass unit to struct get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 52a0255e38 eolian: pass unit to alias get by name 2017-05-30 17:15:54 +02:00
Daniel Kolesa 9699d074bc eolian: pass unit to all_classes_get 2017-05-30 17:15:53 +02:00
Daniel Kolesa 45a73a0878 eolian: pass unit to class get_by_name/file 2017-05-30 17:15:53 +02:00
Daniel Kolesa 83bf422159 eolian: make all variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa cee3b604a3 eolian: make by-file variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 653cf6bac3 eolian: make by-name variable lookups take unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 7da0549970 eolian: make eolian_file_parse return unit 2017-05-30 17:15:53 +02:00
Daniel Kolesa 91411c5389 eolian: units will contain multiple files 2017-05-30 17:15:53 +02:00
Daniel Kolesa 5f4c2f7b79 eolian: initial structure for units
Units are Eolian files (eo/eot). Each unit contains information
about its class, dependencies, variables and types. This allows
for saner checking to be done.
2017-05-30 17:15:53 +02:00
Chris Michael bd189f69f2 ecore-drm2: Don't fill device atomic state if atomic is disabled
If atomic support is disabled (via kernel or env var), then we do not
need to fill device atomic state as it will not be used anyway.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 11:01:22 -04:00
Chris Michael ba4042da1e ecore-drm2: Don't fill output atomic states if not using atomic
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 11:00:20 -04:00
Chris Michael ac2c82b871 ecore-drm2: Remove useless return
This 'return' statement here is just useless as the code can fall
through and the function will return 0 anwyay.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-30 10:59:25 -04:00
Taehyub Kim e7b302d89f efl_ui_image_zoomable: fix wrong initial value for zoom mode
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode

@fix

Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well

Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh

Reviewed By: singh.amitesh

Differential Revision: https://phab.enlightenment.org/D4921
2017-05-30 20:33:26 +09:00
jiin.moon e250a27922 evas: Fix don't redraw map_sufarce issue
Summary:
map_surface does not redraw in below case.

1) parent and child are smart object and has map.
3) drawing objects.
4) apply new map to child object.

Test Plan: sample code

Reviewers: jpeg, cedric, jypark

Differential Revision: https://phab.enlightenment.org/D4889
2017-05-30 19:25:37 +09:00
Jean-Philippe Andre eb27724eb9 evas: Set modifiers & locks on global key events
Fixes T5510
2017-05-30 19:16:48 +09:00
YeongJong Lee 0b67bfc031 elm_code: fix wrong selection delete
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.

Also, remove needless code.

Test Plan:
1. select multi line with 0 column.
2. delete the selection

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4922
2017-05-30 08:50:18 +01:00
Bowon Ryu a4e54adb0c elm_toolbar: added to ensure different sizes of items in shrink mode.
Change-Id: I9f8a14e77a8859c9a7543e442f8355d5ef5c0d3d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
2017-05-30 15:41:05 +09:00
Jeeyong Um 74ef504aa8 elm_widget: optimize memory alignment for focus related fields 2017-05-30 15:36:17 +09:00
Jean-Philippe Andre 63518c4c2c edje: Implement part proxy for all parts
This is required for part_state_get, which is now based
on the EO API internally. This fixes the test case introduced
in the following commmit.
2017-05-30 13:54:35 +09:00
Jean-Philippe Andre bac435a49e edje: Also implement content_get on external part
This implements edje_object_part_external_object_get() using
efl_content_get() on the part object. Note that there are now
two ways to call APIs on the external part:
 - direct call to the efl_part() as if it was the object itself
     (implemented by composition),
 - get a handle with efl_content_get(efl_part()) and manipulate
      it directly (it is the real object).

Do we need this? Do we need the composition trick? Should we have
only one of those solutions implemented?
2017-05-30 13:54:35 +09:00
Jean-Philippe Andre 8bf347b228 edje: Compose external part with real object
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.

Is this good enough? Or do we need access to the real object?
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 9575bc8f8b edje: Remove external_object_get from EO
This will be replaced by a trick: composition on the part
object itself!
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 7ce7d4cc27 edje: Remove part_external_content_get from EO
I couldn't find a use of this API. This looks like it returns
an object inside a part inside an external (so, inside an edje).

Kept as legacy only.
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre 554dd9facf edje: Move external_param_set to a efl_part API
This adds a new class: Efl.Canvas.Layout.External.
I hate this long name...

This class represents an external part, and for now only
supports param_set/get as well as param_type_get. For now
param_type_get() still returns an Edje_External_Param_Type and
not another more generic type.

TODO: enumerate choices, return object, return content
2017-05-30 13:54:34 +09:00
Jean-Philippe Andre f9a95528b6 edje: Enhance documentation for play vs animation
I had to test in order to get an idea of what those two similar
properties meant. Hopefully this is clear and not wrong.

See example: edje-animations
2017-05-30 13:54:34 +09:00
Jeeyong Um 0e78ecb325 eina: Fix broken link in doc to introduce integer hash algorithms 2017-05-30 13:34:34 +09:00
Carsten Haitzler fa944c700e evas - adjust code in evas init to keep threaded gl patches applying 2017-05-29 18:25:49 +09:00
Jean-Philippe Andre e9c7159210 edje: Add recursive flag for message_signal_process
Original patch by Jinwoo Shin:

If edje has multiple levels of child group,
edje_object_message_signal_process cannot process message on
child group. To cover that, it needs to add new API which
traverses its hierarchy and process messages.

@feature

Signed-off-by: jinwoo.shin <jw0227.shin@samsung.com>

Differential Revision: https://phab.enlightenment.org/D4914
2017-05-29 15:45:31 +09:00
Amitesh Singh 6fe568d9ac elm: rename elm_photocam to Efl.Ui.Image.Zoomable
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-29 14:52:36 +09:00
Jean-Philippe Andre 5971277e71 ecore: Try to fix build
ecore_types.eot does not exist anymore.
2017-05-29 13:36:51 +09:00
Jean-Philippe Andre ac3abd1f5b eo: Make efl_cast() return NULL if invalid cast
This makes it work like C++ dynamic_cast<> operator, so that
the return value will be NULL if the object is not an instance
of the given class.

In case of efl_super() we don't do it as efl_super is used A LOT
inside EFL itself (all constructors & destructors, for a start)
and efl_isa is in fact a bit expensive. efl_cast isn't really used
and is intended to be something like dynamic_cast.

For @cedric :)
2017-05-29 13:29:03 +09:00
Jean-Philippe Andre 11d4daf90a edje: Move part_state_get to efl_part 2017-05-29 10:49:17 +09:00
Jean-Philippe Andre da2a7e6587 edje: Implement part_geometry_get with Efl.Part
This refactors even more the edje part eo internals. But now
common part APIs can easily be implemented in edje_part.c

The API now looks like:
  efl_gfx_geometry_get(efl_part(edje, "part"), &x, &y, &w, &h)
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 42403cd3df edje: Refactor a bit internal parts for edje objects (EO)
1. Make internal part "real_part_set" an internal function (EO)
2. Use a common class rather than an interface:
  - Cost: 1 extra call to efl_data_scope_get() as we don't have
    the data inside the EO function call implementation.
  - Gain: Ability to implement common code, such as part_geometry_get
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 7c3e732f8c edje: Remove part_object_get from EO
Ooooh. This one might be controversial, as some apps definitely
use the function. But it is so easily abused. For our EO API
we are trying to not expose any internal object, as this prevents
us from making changes to the internal behaviour and structure.
All the features that this API provided should be limited to
read-only access to the internal object. In order to replace
this, we will have to return an Efl.Part object that implements
all those APIs: geometry_get, visibility_get, etc...
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 76ef772d0a edje: Unify load error types for image and edje (EO)
Most of the values were the same, with edje having just a couple
more error codes.

Not entirely sure the prefix Efl.Image is correct for this type.
Maybe just Efl.Load.Error?
2017-05-29 10:49:17 +09:00
Jean-Philippe Andre 3cc8bc2173 edje: Move message structs to legacy header 2017-05-29 10:49:16 +09:00
Jean-Philippe Andre 5540ab8c6f edje: Remove Message_Type from EO
See the previous commits, Eina_Value is used directly, no need to
specify the type.
2017-05-29 10:49:16 +09:00
Jean-Philippe Andre 71678f301a ecore: Remove ecore_types.eot
This moves one enum from EO to legacy only (Ecore_Pos_Map).
Ideally the type should be in Ecore_Legacy and no Common, that
can be done later.

Ref T5522
2017-05-29 10:49:16 +09:00
Carsten Haitzler 356ad74377 elm inwin - fix unised variable warning by removing it 2017-05-29 10:14:38 +09:00
Daniel Hirt 0d83604599 Ui text: use new text api instead of 'style' 2017-05-28 15:34:26 +03:00
Daniel Hirt e55b91aa91 Ui text: use 'wrap' and 'multiline' properties 2017-05-28 15:34:26 +03:00
Daniel Hirt 9289e082d8 Canvas text: implement Font, Format and Style interfaces
This replaces the 'style' API with actual properties.

@feature
2017-05-28 15:34:26 +03:00
Daniel Hirt da2ef30f2b Efl text: add Font, Format and Style interfaces
The following text interfaces are added:
  - Efl.Text.Font: font settings that decide which font to display in
the text
  - Efl.Text.Format: formatting that affects the looks and layout of
the text
  - Efl.Text.Style: decorations and overlays that shouldn't affect the
font choice or the layout

@feature
2017-05-28 13:36:16 +03:00
Andy Williams 57a0343775 elm_code: Allow multibyte characters to be entered
@fix T5496
2017-05-26 23:07:52 +01:00
Mike Blumenkrantz 6e1a52fc7d elput: do not set TABLET_PAD to have POINTER caps 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz d725ae5a0a elput: fallback to regular device name if output_name is not available 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz ed4e54ebe2 wayland/drm: create evas_devices and add device pointer to input events
this is still semi-broken if a seat has many pointer-ish type devices since
pointer devices in ecore-evas were never correctly implemented to be 1:1 with
seat:cursor relationships

@feature
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 6775b23212 evas: better handle async device creation of default mouse
instead of yolo setting the first pointer-ish device which is created,
check to see if a better match for "default mouse" can be applied

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz d4ce9b1ac3 elput: store output w/h and apply to devices on creation
fix async device initialization for devices which need this (e.g., touchpads)

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz cf6fc05610 elput: add more elput_seat accessor apis 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 466456b4f0 ecore-evas: init cursors for all pointer-ish objects
all of these will use a cursor visual if one is set

@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 50381e7911 ecore-evas: clear cursor object cache when setting default cursor
@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e21847e3fd ecore-evas: only apply cursor object cache for default pointer
@fix
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz 737f64b822 ecore-drm2: simplify output name checking on device change
eina_streq handles null and stringshare params
2017-05-26 16:27:43 -04:00
Mike Blumenkrantz b09c6f1f3e elput: start elput_device_ and elput_seat_ namespaces, rename some functions 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e34088d74e elput: rename and make public Elput_Device_Caps enum 2017-05-26 16:27:43 -04:00
Mike Blumenkrantz e8fe0bcc47 elput/drm: redo xkb context/keymap setting
context and keymap need to be set at the same time in order to effectively
update keyboard state, and active group should be accessible through api
as well

preserve old function ABI to ensure old binaries don't crash
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 6ddcd48fde elput: implement compose sequences
@feature

fix T5006
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz f7ae2a7de8 elput: fix key/keyname strings in key events
todo: move all this duplicated code somewhere
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 53157f4a4f elput: sync _keyboard_keysym_translate() with ecore-wl2 code, add copyright 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 9f217eb0f6 elput: add copyright from weston 2017-05-26 16:27:42 -04:00
Mike Blumenkrantz fbe5ff0104 ecore-wl2: implement compose keys
@feature

ref T5006
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz d1c35171c1 ecore-wl2: add weston copyright notice to ecore_wl2_input.c
this file contains code copied from weston
2017-05-26 16:27:42 -04:00
Mike Blumenkrantz 140a3d668c elput: handle double/triple click for pen events 2017-05-26 16:27:42 -04:00