Commit Graph

557 Commits

Author SHA1 Message Date
Daniel Kolesa fcae7cab27 eolian gen: enable constness generation on property getter impls
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.

Ref T6859.
2018-04-17 20:31:55 +02:00
SangHyeon Lee 9c8ebc9dfc elm_menu, toolbar, ctxpopup : remove unnecesary interface efl_ui_item and efl_ui_menu
Summary:
Legacy menu toolbar and ctxpopup are not new efl interface widget,
but it have efl interfaces, efl_ui_item and efl_ui_menu.
if we plan to implement this two, it should be a class not a interface,
so I remove it on legacy widget.

Subscribers: cedric

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-04-16 11:03:02 -07:00
Shinwoo Kim 579eeb4a8c efl_io_queue: add null check for slice->mem
A negative test case leads to segmentation fault.
If ecore_evas_msg_parent_send is called with NULL data, then slice->mem would
be NULL, and _efl_io_queue_efl_io_writer_write calls memcpy with NULL src.
2018-04-10 16:25:11 +09:00
Daniel Kolesa 474a2a319b eolian: completely scoped validation
This is much stricter than the previous behavior,
as it allows no leakage of information from the
outside to the inside.
2018-03-27 13:48:58 +02:00
Daniel Kolesa e4fd05469d eolian: validate each class with its own unit's in mind only
This is stricter (doesn't allow outer symbols to leak in).
Also needed fixing some eo files.
2018-03-27 13:27:46 +02: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
Cedric Bail 16f604f469 efl: fix warning due to vpath change. 2018-02-22 14:56:31 -08:00
Marcel Hollerbach 8c7ba8c3a3 lets delete efl_vpath
Its not used anymore.

ref T5314
2018-02-22 09:35:02 +01:00
Marcel Hollerbach c4f33c67a8 move from efl.vpath to eina_vpath
The usages from efl.vpath are moved to to eina_vpath
2018-02-22 09:26:55 +01:00
Mike Blumenkrantz f15e1236a4 Efl.Ui.Zoom: zoom -> zoom_level 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 6b9a35d763 Efl.Ui.Model.Factory.Connect: remove this entirely
merge 'connect' method into Efl.Ui.Factory class as 'model_connect'
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 1e522cc71d Efl.Text.Cursor: cursor -> text_cursor 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 76eb02303a efl: rename player.position property -> player.pos
position conflicts with gfx.position; this could maybe be named better?
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f903665957 evas: move smart_objects_calculating to Efl_Canvas 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 17687f4066 evas: remove Evas_Canvas.objects_in_rectangle_get
also implement Efl_Canvas method
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 420ba4691d evas: remove Evas_Canvas.objects_at_xy_get
also implement Efl_Canvas.objects_at_xy_get

note that any function which returns an iterator cannot be @const since
it's necessary to wref the object to ensure the iterator's lifetime
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz f85325d924 interfaces: remove Efl.Text.Properties
this is provided in Efl.Text.Font
2018-02-12 16:38:51 -05:00
Mike Blumenkrantz 05200163ed efl_text_font: copy docs from efl_text_properties 2018-02-12 15:58:00 -05:00
Mike Blumenkrantz adc2be188c eolian: convert all of cedric's tabs to spaces in .eo files 2018-02-12 12:59:05 -05:00
Carsten Haitzler e96532f65c efl ui format - fix format checking to be correct
the format string checking was just ... wrong. it didnt' handle %%. it
didn't handle constant strings with no format in them... now it does.

fixes T6697

@fix
2018-02-10 16:44:38 +09: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
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 6296d3815f vg: Fix warning (unused function) 2018-01-18 17:25:15 +09:00
subhransu mohanty 2a31883f5a efl/vg: Refactor the svg path handling and interpolation.
Summary:
This patch is taken from the tizen branch

1. Take care when the locale is different than POSIX.
See: strtod, strtol

2. Interpolate  all the property of a shape.

Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5740
2018-01-17 14:54:18 +09:00
Daniel Kolesa dd2e579fec eolian: do not require unit for expr eval APIs
The necessary information is now stored directly in the expr
during database validation.

Also enable expr validation for params.
2018-01-16 16:37:52 +01:00
Sungtaek Hong 588995da31 efl_playable: split Efl.Player interface to Efl.Playable interface
Summary:
Efl.Player interface simply provides play functions,
but another interface which indicates Efl.Player will play is also
needed.

Test Plan: Run elementary_test->Efl.Animation tests

Reviewers: woohyun, conr2d, Jaehyun_Cho, jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5662
2018-01-16 22:04:55 +09:00
Amitesh Singh 44b6aa16c1 Efl.Gfx.Color: add color_class_code.set/get{} method 2018-01-02 15:41:34 +09: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
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
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
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
Sungtaek Hong 25136ddf8c efl_ui_bg: add Efl.Ui.Bg interface
Summary:
- Previous class efl_ui_bg moved to efl_ui_bg_widget.
- Scale_type moved to efl_image from efl_ui_image.
- Previous enum Efl_Ui_Image_Scale_Type moved to Efl_Image_Scale_Type.

Test Plan:
Run elementary_test
1.Image Scale Type
2.Efl.Ui.Bg
3.Efl.Ui.Win
4.Part Background

Reviewers: jpeg, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D5616
2017-12-18 20:49:45 +09:00
Jean-Philippe Andre 00bb3bd3c7 efl: Add simple API for "blur" effects
This will use the Efl.Gfx.Filter interface internally, but makes it
usable by normal people.
2017-12-14 18:03:49 +09:00
Amitesh Singh 3726af8313 efl.image.load: fix eolian redefine warnings for load_error{}
load_error{} was defined in efl.file as well.
remove load_error{} from efl.image.load intf and implement
Efl.File.load_error{} instead.

Ref T6514
2017-12-14 14:16:13 +09:00
Jean-Philippe Andre 315c4f761e text: Merge changed,user events
Efl.Ui.Text and Efl.Ui.Text.Interactive were both defining it.
2017-12-13 15:36:10 +09:00
Jean-Philippe Andre 1fdbb00e22 efl: Move VG-specific change event to efl.gfx.path 2017-12-13 13:47:48 +09:00
Andy Williams 03ea9ff79c docs: Fix referencing format
All except references to Efl.Ui.Win_Inline
2017-12-12 17:50:13 +00:00
Jaehyun Cho 4f40d476aa efl_interfaces_main: Fix NULL API of Efl.Canvas pointer_iterate
The Efl.Canvas beta API, pointer_iterate, was not found correctly due
to the absence of EFL_CANVAS_BETA macro.
2017-12-12 19:15:13 +09:00
Amitesh Singh 72b96bc4c5 Efl.Canvas: make pointer_iterate a beta API
Gesture framework should implement it.
2017-12-12 15:52:33 +09:00
Jean-Philippe Andre 832e12e8c4 format: Fixup the string format implementation
Use eina value convert and to_string. Do not fail.
This removes unreachable code by making it active (to_string).

Fixes T6204
2017-12-12 11:38:35 +09:00
Amitesh Singh 196b6f1ba4 interface: rename Efl.Dup to Efl.Duplicate.
dup is considered too short and maybe confusing,
hence rename it to duplicate instead.
2017-12-11 15:25:31 +09:00
Stefan Schmidt 2cd8c4adb4 docs: add the last missing items for eo files in efl/interfaces 2017-12-08 17:08:56 +01:00
Stefan Schmidt 44f18909ca docs: add missing items for efl_gfx* eo classes 2017-12-08 17:06:50 +01:00
Amitesh Singh 80463f0e2e interface: add Efl.Canvas.Pointer intf for pointer related functions.
and remove pointer_inside function from Efl.Canvas{}
2017-12-08 20:13:31 +09:00
Jean-Philippe Andre 22919b2050 format: Use strbuf builtin type instead of ptr() 2017-12-05 10:09:58 +09:00
Amitesh Singh 10103b9b45 efl.gfx: move scale{} from efl.ui.base to efl.gfx 2017-12-04 14:38:39 +09:00
Amitesh Singh 2ddea7065f Efl.Ui.Base: remove base_scale.get{} from interface.
base_scale for edje would be legacy now.
2017-11-30 19:27:04 +09:00
Amitesh Singh 5f3e0d62a4 Efl.Gfx.Shape: fix efl_super() call. 2017-11-30 16:23:19 +09:00
Amitesh Singh 774a01a28b Efl.Gfx.Path: add missing EOLIAN prefixes to eolian functions. 2017-11-30 16:09:37 +09:00