Commit Graph

5020 Commits

Author SHA1 Message Date
Lauro Moura 8686e14dc9 elm: Fix potential leak in cv request add
Summary: CID 1405809

Reviewers: zmike, cedric, bu5hm4n

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10174
2019-10-13 23:34:35 -03:00
Jaehyun Cho 338e92e8d2 efl_ui_panes: fix not to consider content min size for legacy panes
Summary:
Since legacy panes did not consider its content's min size, the
content's min size calculation logic is not done for legacy panes.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10372
2019-10-11 10:03:17 -04:00
Marcel Hollerbach b7432f690f efl_ui_focus_object: do not emit focus_geometry_changed when not needed
Summary:
this is emitted a lot of times, which costs time. Most of the time they
are however not needed. With this commit, these events are not emitted
anymore.

ref T8321

Reviewers: zmike, cedric

Reviewed By: zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10348
2019-10-11 10:03:17 -04:00
Lauro Moura 470c6516fe cv: Switch to safe 32/64 bits printf masks
This should silence 32-bit warnings about long long stuff

Reviewers: vtorri, cedric, bu5hm4n

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10214
2019-10-11 10:03:17 -04:00
SangHyeon Jade Lee 57652c12f6 elm: fix legacy callback names.
Summary:
this patch is fix of D10240.
there are few mischanges on callback names,
so fix it orginal legacy names,

SCROLL_CHANGED = "scroll"
SCROLL_ANIM_START = "scroll,anim,start"
SCROLL_ANIM_STOP = "scroll,anim,stop"
SCROLL_DRAG_START = "scroll,drag,start"
SCROLL_DRAG_STOP = "scroll,drag,stop"

Reviewers: bu5hm4n, eagleeye, akanad

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10332
2019-10-10 16:54:40 +09:00
Mike Blumenkrantz b8fab9b8dd efl_ui/selection_manager: be explicit with sizeof() usage
Summary:
ensure we don't have issues with portability and type sizes

CID 1385141

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10201
2019-10-09 13:19:36 -04:00
Mike Blumenkrantz f09a3b5ca3 efl_ui/container: remove erroneous negative value checks for uint params
Summary:
../src/lib/elementary/efl_ui_box.c: In function ‘_efl_ui_box_efl_gfx_arrangement_content_padding_set’:
../src/lib/elementary/efl_ui_box.c:411:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limit ]
  411 |    if (h < 0) h = 0;
      |          ^
../src/lib/elementary/efl_ui_box.c:412:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limit ]
  412 |    if (v < 0) v = 0;
      |          ^
../src/lib/elementary/efl_ui_table.c: In function ‘_efl_ui_table_efl_gfx_arrangement_content_padding_set’:
../src/lib/elementary/efl_ui_table.c:272:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  272 |    if (h < 0) h = 0;
      |          ^
../src/lib/elementary/efl_ui_table.c:273:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  273 |    if (v < 0) v = 0;
      |          ^

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10304
2019-10-08 16:49:41 +02:00
Mike Blumenkrantz 4f947925a1 efl_ui/win: initialize max size hints to -1 during constructor
Summary:
this is just a cosmetic change for ease of debugging since it will already
be clamped to max size during eval if it remains unchanged

for max size hints a value of -1 means that the hint is unset but a value
of 0 is technically valid depending on the implementation
Depends on D10296

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10297
2019-10-07 18:49:19 +02:00
Mike Blumenkrantz eff717eb26 efl_ui/win: fix max size hint eval
Summary:
win objects should never permit the max size on any axis to be 0, otherwise
the window will be clamped to 1px on the given axis

fixes T8304
@fix
Depends on D10272

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8304

Differential Revision: https://phab.enlightenment.org/D10296
2019-10-07 18:40:10 +02:00
Xavi Artigas 5a447ed327 docs: Remove redundant documentation
Lots of EO files had the same information at the property and set/get level.
Removed the redundant bits, and moved to the property level the common ones.
Set and Get documentation should be used only to clarify setter-only or
getter-only behavior.
2019-10-07 16:40:50 +02:00
WooHyun Jung 5a684e0855 efl_ui_image: fix backward compatibility issue
Summary:
Previously, "anim" property was saved before checking
evas-image's "animated" stated. This patch just corrects
the issue.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10293
2019-10-07 10:03:48 -04:00
Marcel Hollerbach d52e77dcb7 efl_ui_datepicker: no need to delete the manager here
Summary:
it is already picked up when datetime is invalidated, due to the correct
parent beeing set.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10291
2019-10-07 10:03:48 -04:00
Bruno da Silva Belo f18a5b4389 c: coverity: resource leaked when using realloc.
Summary:
from https://en.cppreference.com/w/c/memory/realloc
```
On success, returns the pointer to the beginning of newly allocated memory.
To avoid a memory leak, the returned pointer must be deallocated with free()
or realloc(). The original pointer ptr is invalidated and any access to it
is undefined behavior (even if reallocation was in-place).

On failure, returns a null pointer. The original pointer ptr remains valid
and may need to be deallocated with free() or realloc(). ```
So a temporary to test if `realloc` failed
then use the original pointer to use `free`.
`CID1404749`
`CID1404741`

Reviewers: lauromoura, felipealmeida, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10284
2019-10-07 09:02:10 -04:00
Stefan Schmidt 15696f5e7c efl_ui_video: bring back Elm_video doxygen group for docs
This group got lost at some point and resulted in broken link in our
doxygen documentation.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10273
2019-10-04 10:44:09 +02:00
junsu choi 94733b4926 efl_ui_animation_view : Put @beta on Efl.Ui.Animation_View_State
Summary: Efl.Ui.Animation_View class still in beta state.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10268
2019-10-04 10:05:45 +09:00
Mike Blumenkrantz 9e113d0f2f efl_ui/bg: unset finger_size multiplier during construction
Summary:
this is not a clickable widget, so it shouldn't use finger size

ref T8304

@fix

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8304

Differential Revision: https://phab.enlightenment.org/D10274
2019-10-02 18:02:35 +02:00
Yeongjong Lee fa90880055 efl_gfx_arrangement: change content_padding param type and remove scalable
Summary:
This change `content_padding` parameter type to int from double for consistency
of size properties.

`scalable` should be handled in more common size API.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

ref T7864

Test Plan: ninja test

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7864

Differential Revision: https://phab.enlightenment.org/D10154
2019-10-02 12:11:15 +02:00
Xavi Artigas f53583a5c9 docs: Fix problems with monospaced text
Eolian recently added support for $[...] which allows highlighting
more than one word in monospaced text.
2019-10-02 11:31:19 +02:00
Felipe Magno de Almeida be2e0bef07 elementary: Add documentatio to efl_ui_layout_factory.eo
Summary:
Documentation was very sparse and actually empty in some places. Add proper documentation

Related to T7717

Reviewers: woohyun, cedric, SanghyeonLee, lauromoura, brunobelo, myoungwoon, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10267
2019-10-02 10:14:45 +02:00
junsu choi 779bd0539e vg_common_json: Override value_provider list
Summary:
If value_provider is applied to Efl.Ui.Animation_View, it is passed as vector object.
The passed value_provider list passes to Vg_File_Data.
If there is a value_Provider list in Vg_File_Data,
it apply the property to Lottie_Animation using lottie_animation_property_override api.

Depends on D9874

Test Plan:
...

Eo *vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_fill_color_set(vp, 100, 0 ,0 ,255);
efl_ui_animation_view_value_provider_override(anim_view, vp);

vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_stroke_width_set(vp, 50.0);
efl_gfx_vg_value_provider_stroke_color_set(vp, 0, 255, 0, 100);
efl_ui_animation_view_value_provider_override(anim_view, vp);
...

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9897
2019-10-02 14:30:06 +09:00
junsu choi 6deb21f9f9 Efl.Gfx.Vg.Value_Provider: Introduce property change feature of Efl.Ui.Animation_View
Summary:
Efl.Gfx.Vg.Value_Provider is an object for integrating and managing the properties of vector objects.
These values are dependent on the keypath.
Keypath is the target a specific content or a set of contents that will be updated.
It can include the specific name of the contents, wildcard(*) or Globstar(**).

The valueProvider is borrowed from another library that uses a vector object of type json, such as Efl.Ui.Animation_View
(5fc0e59e0c/lottie-swift/src/Public/iOS/AnimatedControl.swift (L50))

This feature should be used with some patches that apply to the vg json loader and Efl.Canvas.Vg.Object.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9874
2019-10-02 14:19:30 +09:00
Daniel Kolesa 71c83d2005 efl: add code to enforce presence of @since tags
This is not yet enabled because there's too many instances where
this is broken.

Ref T7704
2019-09-30 20:12:35 +02:00
Marcel Hollerbach 8de8f059c9 elm_code_widget: when the position is updated, set new geom to cursor
in order to do that, we need to ensure that the internal box is
calculated, otherwise the position is still not updated correctly.
This fixes wrong cursor positions in edi.

fixes T8214

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10225
2019-09-30 10:46:40 +02:00
Marcel Hollerbach 9bc9eff716 elm_code_widget: initialize these vars correctly
otherwise we are setting a cursor from time to time at a uninitialized
position. Which causes disappeared cursors

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10224
2019-09-30 10:46:38 +02:00
Mike Blumenkrantz 52d04bc524 efl_ui: remove legacy component includes, include Efl_Layout.h and Efl_Canvas.h
this header shouldn't include any legacy headers whatsoever

fix T8274

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10236
2019-09-30 10:33:35 +02:00
Mike Blumenkrantz 96be3cd83d efl_ui: remove efl_ui_text headers from Efl_Ui.h for now
these require legacy types and headers, which should not be brought into
this header

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10235
2019-09-30 10:33:34 +02:00
Mike Blumenkrantz 26035da7b0 efl_ui: explicitly include eo headers for a couple types
the general headers here pull in legacy headers, which is bad

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10231
2019-09-30 10:33:29 +02:00
Marcel Hollerbach a864d62ecf elm_*: make scrolling correct again
in revision D9859 the scroll events have been renamed. However this also
renamed the legacy widgets, which also renamed the evas smart events,
which is a bug. With this commit we are back to plain old
evas_smart_callback_call calls, as these just take the string, and do
not need the bypassing through the eo events.

This fixes:
- elm_test gengrid,toolbar,panel (the events are now shown correctly
again)
- scrolling in elm_code_widget
- elm_map in a touchscreen

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10240
2019-09-28 18:42:45 +02:00
Xavi Artigas 18ea5fd118 themes: Rename "dragable" to "draggable"
Summary:
"Dragable" is a misspelling:
https://en.wiktionary.org/wiki/dragable

We have it EVERYWHERE in EFL, even with jokes:
./src/lib/efl/interfaces/efl_ui_drag.eo:1

This patch only fixes the theme API so it does not get carved in stone for this release.

Depends on D10217

Test Plan: No functional changes.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10218
2019-09-27 08:42:27 -04:00
Jaehyun Cho b5a917c120 theme: replace hbar and vbar to horizontal_bar and vertical_bar
Summary:
To make clear the meaning, hbar and vbar are replaced to horizontal_bar
and vertical_bar.

Reviewers: zmike, woohyun, segfaultxavi

Reviewed By: zmike, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10217
2019-09-27 08:40:35 -04:00
Mike Blumenkrantz a50bd311ab efl_ui/image fix null derefs
Summary:
CID 1405781, 1405780
Depends on D10209

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10210
2019-09-26 17:59:54 -04:00
Mike Blumenkrantz 4a3b4e3b4a efl_ui/scroll_manager: fix null derefs
Summary:
CID 1405811, 1405804
Depends on D10208

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10209
2019-09-26 17:59:49 -04:00
Mike Blumenkrantz f7befea043 efl_ui/table: handle case where table has no items
Summary:
CID 1399086
Depends on D10207

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10208
2019-09-26 17:59:43 -04:00
Mike Blumenkrantz 68b1cfe5d6 efl_ui/item_clickable: mark beta again
Summary:
this isn't strictly necessary at the moment

Depends on D10197

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10199
2019-09-26 18:00:32 +02:00
Mike Blumenkrantz 5256b9476d efl_ui/layout: improve error message when theme version parsing fails
Summary:
be very explicit here so that users can immediately know how to resolve
the issue
Depends on D10193

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10194
2019-09-26 18:00:32 +02:00
Mike Blumenkrantz 6f6407729e efl_ui/layout: fix shadow warning
Summary:
a variable with the same name is declared above
Depends on D10192

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10193
2019-09-26 18:00:31 +02:00
Mike Blumenkrantz a21dacbad6 efl_ui/layout: use better check for determining whether to defer signals
Summary:
a layout (not layout_base) should not defer signals. theme groups loaded
by a layout widget can be anything, and are not subject to the versioning
requirements that efl widgets have
Depends on D10055

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10192
2019-09-26 18:00:31 +02:00
Daniel Kolesa 6d93dc4cbf eolian: rename event_prefix to event_c_prefix for consistency 2019-09-26 16:47:22 +02:00
Mike Blumenkrantz f5a4fd89d9 efl_ui/item_clickable: fix event info for press events
this is just a button and not the full clickable struct

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10198
2019-09-26 16:30:32 +02:00
WooHyun Jung 23bbf2bf3a efl_ui_image: fix a wrong return value of legacy API
Summary:
elm_image_animated_play_get needs to return opposite
value of animated_PAUSED_get.

Reviewers: zmike, segfaultxavi, bu5hm4n

Reviewed By: zmike, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10186
2019-09-26 09:00:09 -04:00
WooHyun Jung ddb28ccdf1 efl_ui_win: add validation check to return legacy default value
Summary:
elm_win_type_get needs to return ELM_WIN_UNKNOWN when
invalid object comes.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10187
2019-09-26 08:59:28 -04:00
Marcel Hollerbach 8197fee189 efl: mark selectable stable
Summary:
fixes T7871
fixes T7852

This also works arround a eolian issue where composites do not mark the
inherited API from the composites as implemented.

Reviewers: SanghyeonLee, cedric, segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: SanghyeonLee, cedric

Tags: #efl

Maniphest Tasks: T7871, T7852

Differential Revision: https://phab.enlightenment.org/D10184
2019-09-26 13:06:24 +02:00
Marcel Hollerbach 1df17abba5 efl_ui_*selectable: unify these APIs with the same c_prefix
Summary:
with this commit that api for single and multi selectable shares the
same prefix, which makes sense in c as we do not really differ between
those two types there anyway.

ref T7871

Reviewers: SanghyeonLee, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7871

Differential Revision: https://phab.enlightenment.org/D10183
2019-09-26 18:32:58 +09:00
SangHyeon Jade Lee a4f5da0fb2 efl_ui : add document comment on efl_ui_item_clickable event data
Summary: Add document comment on Efl_Ui_Item_Clickable.Clickable_Clicked.

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10181
2019-09-26 10:46:17 +02:00
Cedric Bail 41d0ead833 elementary: stabilize Efl.Ui.Item_Clickable.
Summary: Depends on D10177

Reviewers: zmike, bu5hm4n, segfaultxavi, lauromoura, SanghyeonLee, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10173
2019-09-25 21:59:29 -04:00
Cedric Bail 26d5b7366e elementary: forward Efl.Input.Clickable event to Efl.Ui.Collection* event.
Summary: Depends on D10176

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10177
2019-09-25 21:59:25 -04:00
Cedric Bail b8af6c17fc elementary: temporary workaround include issue that prevent acces to Evas_Eo.h
Summary: Depends on D10175

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10176
2019-09-25 21:59:20 -04:00
Cedric Bail 7cf364f270 elementary: rename Efl.Ui.Collection_Event to Efl.Ui.Item_Clickable
Summary: Depends on D10171

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10175
2019-09-25 21:59:14 -04:00
Cedric Bail 4c3dce94eb elementary: stabilize Efl.Ui.Collection_View.
Reviewers: zmike, bu5hm4n, segfaultxavi, lauromoura, SanghyeonLee, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8261

Differential Revision: https://phab.enlightenment.org/D10171
2019-09-25 21:59:09 -04:00
Mike Blumenkrantz 593b7426ae api: mark Efl.Ui.Image_Zoomable stable
Summary:
ref T7875
Depends on D10125

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7875

Differential Revision: https://phab.enlightenment.org/D10126
2019-09-25 17:56:38 -04:00
Mike Blumenkrantz 59709bc907 theme: migrate all efl,anim,activate (and similar) signals to efl,state,animation,activated
Summary:
ref T8231
Depends on D10166

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10167
2019-09-25 17:56:17 -04:00
Mike Blumenkrantz aab9341766 theme: efl,state,anim,stop -> efl,state,animating,stopped
Summary:
ref T8231
Depends on D10165

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10166
2019-09-25 17:56:11 -04:00
Mike Blumenkrantz 3ec56e0dc4 api: efl,state,busy,(start|stop) -> efl,state,busy,(started|stopped)
Summary:
ref T8231
Depends on D10163

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10165
2019-09-25 17:56:06 -04:00
Mike Blumenkrantz 6d6bfeecfa theme: use more explicit signal names for C <- theme scrollbar signals
Summary:
ref T8231

Depends on D10161

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10162
2019-09-25 17:55:55 -04:00
Mike Blumenkrantz edab064de9 theme: efl,action,clicked -> efl,action,click
Summary:
action signals should infinitives

ref T8231
Depends on D10160

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10161
2019-09-25 17:55:50 -04:00
Mike Blumenkrantz ab8306135c theme: use more explicit signal names for C -> theme scrollbar signals
Summary:
ref T8231

Depends on D10159

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10160
2019-09-25 17:55:45 -04:00
Mike Blumenkrantz 41f37c328e theme: use 'visible' style signals for spin_button button/entry visibility
Summary:
ref T8231
Depends on D10158

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10159
2019-09-25 17:55:40 -04:00
Mike Blumenkrantz 9b18e5a291 theme: efl,state,(content|text),(set|unset) -> efl,(content|text),(set|unset)
Summary:
this is versioned, so the correct signal will always be emitted for the theme
version that is provided

ref T8231

Depends on D10164

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10158
2019-09-25 17:55:35 -04:00
Mike Blumenkrantz f24ce654c0 efl_ui/layout: add mechanism for deferring versioned theme signals
Summary:
the theme version isn't available until the theme has been applied, so
we can create an array of all the pending signals and defer them until
such time as we get a theme or destroy the object

this is internal and can be reworked at a later time as needed

ref T8231

Depends on D10157

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10164
2019-09-25 17:55:29 -04:00
Mike Blumenkrantz 75c8fd1cc2 api: move eo-based radio and check widgets to use selectable signal names
Summary:
this is a more standardized name

ref T8231

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10157
2019-09-25 17:55:24 -04:00
Cedric Bail 4473483503 elementary: stabilize Efl.Ui.View_Model
Summary:
T8268
Depends on D10136

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10137
2019-09-25 17:16:54 -03:00
Cedric Bail 31b99e67c4 elementary: stabilize Efl.Ui.Widget_Factory.
Summary:
T8271
Depends on D10130

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10131
2019-09-25 17:16:54 -03:00
Lauro Moura 1115752451 elm: Avoid maybe unitialized variable accesses
Reviewers: cedric, bu5hm4n, zmike, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10170
2019-09-25 16:15:43 -04:00
SangHyeon Jade Lee 7884a38dbd efl_ui : change selected_items_get to selected_iterator_new.
multi_selectable_aync already changed name as
selected_iterator_new
so multi_selectable change name also for unity of API.

not sure about we need unselected_items_get in multi_selectable,
so skip to create new api for this time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10148
2019-09-25 21:14:22 +02:00
Cedric Bail 267f8fcfa8 elementary: return an error when unimplemented function on Efl.Ui.Widget_Factory.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10130
2019-09-25 11:31:02 -07:00
Cedric Bail 78ee2ca6b0 elementary: add support for default property on item being created by Efl.Ui.Widget_Factory.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10129
2019-09-25 11:31:00 -07:00
Mike Blumenkrantz a4597c8326 efl_ui/image: fix playback_speed timer calcs
I accidentally inverted this; the frame timing needs to be divided by
the playback speed to have the correct time here

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10147
2019-09-25 11:30:59 -07:00
Mike Blumenkrantz 9206960dfa efl_ui/layout: add explicit error case when theme version > efl version
it's important to handle cases where a "future" theme is trying to be used
by "current" efl. this throws a serious error, since it's possible that the
widget may look/act in a way that makes it unusable

ref T8231

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10153
2019-09-25 11:30:57 -07:00
Mike Blumenkrantz 883cb445c6 efl_ui/layout: improve docs
Summary: add doc notes for these classes

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10155
2019-09-25 16:19:19 +02:00
Mike Blumenkrantz b7ed1901d5 api: mark Efl.Ui.Spin_Button stable
Summary: fix T8097

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T8097

Differential Revision: https://phab.enlightenment.org/D10152
2019-09-25 13:35:34 +02:00
Mike Blumenkrantz a171b5bd10 api: mark Efl.Ui.Box_Stack stable
Summary: fix T8207

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T8207

Differential Revision: https://phab.enlightenment.org/D10150
2019-09-25 13:35:34 +02:00
WooHyun Jung 14a6dd6ab0 efl_ui_spin_button: mark "direct_text_input" property @beta
Summary:
After making efl_ui_text interface be stabilized, this property
can be considered again about its opening.

ref T8097

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8097

Differential Revision: https://phab.enlightenment.org/D10140
2019-09-25 06:53:51 -04:00
Yeongjong Lee 09b2ecec6d efl_ui_layout: fix null pointer dereferences
Summary: If theme doesn't have version data, `version` can be NULL.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10146
2019-09-25 06:44:56 -04:00
SangHyeon Jade Lee 9b8dcf2f29 efl_ui : put beta on range select/unselect as parameter unstable
there are more discussion need on this range selection.
we could extend this parameter with range structure(aka Eina.Range)
so that extendable object to object, int to int, Range to Range.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10145
2019-09-25 11:05:45 +02:00
WooHyun Jung 1c93663156 efl_ui_win: default window type change should not be applied to legacy one
If my understanding is correct, below referenced commit needs to be applied to
efl_ui_win only.

@ref D10049

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10143
2019-09-25 11:05:44 +02:00
SangHyeon Jade Lee 2c4db3b09a efl_ui : reverse the select method name to be ended verb on the last.
Summary:
our new method naming rule only allow verb at the last position,
so change name to fallow rule.

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: bu5hm4n, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10144
2019-09-25 17:12:51 +09:00
Mike Blumenkrantz 3e7b7a47e7 efl_ui/image: implement efl.player::playback_speed methods
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10121
2019-09-24 15:23:26 -07:00
Mike Blumenkrantz 5555c8e879 efl_ui/image: implement efl.player::playback_progress method
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10120
2019-09-24 15:23:24 -07:00
Mike Blumenkrantz e4ce41d6a6 efl_ui/image: implement required efl.player::playback_position methods
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10119
2019-09-24 15:23:22 -07:00
Mike Blumenkrantz 3d3cdc5955 efl/player: rename 'play' property to 'pause'
this is a bit of an overhaul wherein the existing 'play' mechanics are
all inverted. 'pause' is a state which stops playback but does not affect
the playback_position property.

this patch also includes implementations of Efl.Player::playing for
a couple classes which (now) only implement pause, as this is a requirement
for the objects to actually activate their animations

test cases:
* unit tests
* all elm_test animation cases
* elm_test video
* rage

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10114
2019-09-24 15:23:15 -07:00
Mike Blumenkrantz 89bee7a11a efl/player: merge start+stop methods into 'playing' property
this has some overlap with the existing 'play' property which will
soon be renamed. the intent here is that there is a property for
controlling the 'playing' state and then another property for managing
'pausing' the play state

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10113
2019-09-24 15:23:13 -07:00
Mike Blumenkrantz 9b0197e2af efl/player: pos -> playback_position
ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10112
2019-09-24 15:23:11 -07:00
Mike Blumenkrantz 5c2ea620a1 efl/player: prune properties duplicated in efl.playable
efl.playable implements a number of properties which are also present
in efl.player. playable was intended to be separate, so enforce this
split in all classes which use player

ref T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10109
2019-09-24 15:23:09 -07:00
Mike Blumenkrantz c99f7d06cb efl_ui/spin_button: fix signal namespacing
Summary:
efl,anim,activate is the signal used by buttons, which is what this is

ref T8231

Depends on D10099

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10100
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz cc88a1f875 efl_ui/timepicker: rename and namespace visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10098

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10099
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 9f7417ddde efl_ui/focus: rename focus visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10096

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10097
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 84f7998cae efl_ui/scroller: rename bar visibility signals
Summary:
this is consistent with efl api 'visible' property

ref T8231

Depends on D10095

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10096
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 3d9b2f6666 efl_ui/alert_popup: rename show/hide signals to visible,on/off
Summary:
this is consistent with the efl api

ref T8231
Depends on D10081

Reviewers: segfaultxavi, cedric

Reviewed By: cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10095
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz e94686b276 elm: rename _use_build_config variable -> _running_in_tree
Summary:
this makes the meaning of the variable more clear

no functional changes
Depends on D10092

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10093
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz d13bd5fa8e efl_ui/alert_popup: use normal C-based part aliasing and remove theme alias
Summary:
part aliasing should be done at the layout level, not using bespoke string
comparisons. also this removes the "title" part of the alert_popup theme
which was previously considered api

Depends on D10091

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10092
2019-09-24 17:12:01 -04:00
Mike Blumenkrantz 1511430c29 efl_ui/layout: validate theme api version in theme_apply
Summary:
this throws error and warning messages if the theme api version does
not match the current efl version, and it will cause unit tests to fail
when the theme version is not updated

ref T8231

Depends on D10093

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10081
2019-09-24 17:12:01 -04:00
Stefan Schmidt 351072711c efl_ui_selection_manager: fix potential out of bounce access
Summary:
We have been casting the selection to unsigned char * for the address of
sel and not for the value. Coverity pointed this out:
Overrunning buffer pointed to by (unsigned char *)&sel of 8 bytes by
passing it to a function which accesses it at byte offset 167 using argument 168

It seems this has been working by memory layout and luck if I understand
it all correctly.

Coverity ID: 1402666

Reviewers: thiepha, raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10107
2019-09-24 16:56:48 -04:00
Mike Blumenkrantz 91f18dc427 efl_ui/layout: fix part aliasing for non-legacy widgets
if a non-null value is passed here, this needs to actually evaluate
all the part aliases

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10091
2019-09-24 13:56:12 -07:00
Mike Blumenkrantz 105f016fc9 elm: rename layout part aliasing functions/macros
these are internal apis for managing part aliasing on the C side,
but they apply to efl_ui_layout and not elm_layout

no functional changes

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10090
2019-09-24 13:56:11 -07:00
Lauro Moura 4234dcfc3e csharp: Fix factory instantiation
After 892c26f906, widget factories require
a widget to be their parents.

This commit updates C# tests and adds a warning message to elementary if the user does
not provide one.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10122
2019-09-24 13:56:07 -07:00
Cedric Bail 653cf9b788 elementary: another forgotten file that need removal. 2019-09-24 11:54:47 -07:00
Marcel Hollerbach 5e9e33dd91 efl_player: split off audio related properties
Summary:
this commit moves the audio related properties from Efl.Player to
Efl.Player_Audio.

Reviewers: zmike, Jaehyun_Cho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7877

Differential Revision: https://phab.enlightenment.org/D10106
2019-09-24 14:32:12 -04:00
Cedric Bail b3adcff0df elementary: fix up left over header that got removed. 2019-09-24 11:30:22 -07:00
Marcel Hollerbach 7025d9aee8 efl_ui_position_manager_list: emit events correctly
it does not matter if pmin_size is > 0 or not. The important thing is
that it is different to what is now, but thats it.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9970
2019-09-24 11:12:49 -07:00
Marcel Hollerbach b057ac1af6 efl_ui_collection_view: support focus
with this commit you can more or less use focus. The only uncaught case
for now is that if the object is not available, no focus can be set.
Navigating with focus on the screen however should be possible.

Differential Revision: https://phab.enlightenment.org/D9969
2019-09-24 11:12:47 -07:00
Cedric Bail 5096cd32ad elementary: add Efl.Ui.Grid_View by leveraging MVVM and Collection/Position_Manager infrastructure.
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Differential Revision: https://phab.enlightenment.org/D9960
2019-09-24 11:12:45 -07:00
Cedric Bail 78b69d45b5 elementary: migrate Efl.Ui.List_View to use Efl.Ui.Collection_View.
Differential Revision: https://phab.enlightenment.org/D10035
2019-09-24 11:12:44 -07:00
Cedric BAIL 2e1317baed elementary: introduce Efl.Ui.CollectionView a generic listing View.
The idea of this widget is to provide to MVVM what Efl.Ui.Collection provide and
leverage the same shared logic for layout.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Differential Revision: https://phab.enlightenment.org/D9958
2019-09-24 11:12:43 -07:00
Cedric Bail 832d300e20 elementary: fix children removal in Efl.Ui.Select_Model by not remembering index and relying on underlayer infrastructure to do it for us.
Differential Revision: https://phab.enlightenment.org/D10034
2019-09-24 11:12:43 -07:00
Cedric Bail 3c9a46372e elementary: add an interface for asynchronous multi selection.
This interface is currently focusing on being use by widget like
Efl.Ui.Collection_View or Efl.Ui.Select_Model. I have decided that
it should not be available along with Efl.Ui.Multi_Selectable.

Differential Revision: https://phab.enlightenment.org/D9957
2019-09-24 11:12:42 -07:00
Cedric Bail 1c0916ef03 elementary: factorize all events emitted by a Efl.Ui.Collection into their own interface.
For most event it is actually meaningful to share them with Efl.Ui.Collection_View so let's do it.

Differential Revision: https://phab.enlightenment.org/D9956
2019-09-24 11:12:41 -07:00
Daniel Kolesa e0f07489df elm: fix Efl.Ui errors not being registered
The implementation is necessary, but it wasn't being generated
and included by mistake.
2019-09-24 19:17:28 +02:00
Daniel Kolesa 553ce69bad efl: remove remaining instances of .eo global variables 2019-09-24 18:27:37 +02:00
Xavi Artigas 6ea61dc83a Efl.Ui.Layout_Pack: fix obvious uninitialized variable
Why did this ever work?
2019-09-24 17:57:00 +02:00
Marcel Hollerbach da594413be declare first round of classes stable
this stabelizes the "stableized" column of the efl: api workboard.

fixes T8208,
fixes T8158,
fixes T8156,
fixes T8025,
fixes T8024,
fixes T7976,
fixes T7946,
fixes T7928,
fixes T7923,
fixes T7905,
fixes T7902,
fixes T7901,
fixes T7900,
fixes T7898,
fixes T7897,
fixes T7895,
fixes T7894,
fixes T7893,
fixes T7891,
fixes T7880,
fixes T7873,
fixes T7869,
fixes T7867,
fixes T7865,
fixes T7862,
fixes T7854,
fixes T7847,
fixes T7881,
fixes T7870,
fixes T9086

Differential Revision: https://phab.enlightenment.org/D10008
2019-09-24 16:00:45 +02:00
Marcel Hollerbach 047aa170fa efl_ui_collection: this interface is not event used
Differential Revision: https://phab.enlightenment.org/D10108
2019-09-24 16:00:45 +02:00
Marcel Hollerbach 594fc08442 efl_ui_win: default the window type to basic
normally when you create a window, you just want to have it beeing a
basic window. If not you still can set the window type.

ref T8229

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10049
2019-09-24 16:00:44 +02:00
Cedric Bail 5493cc5396 efl: make Efl.Ui.Factory.release work in batches.
This will enable better strategy in scheduling removal of object from the cache
instead of doing the throttling in the View as there is a better understanding
of the different layer the items are going to go through and where they will
consume time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9955
2019-09-24 09:18:52 +02:00
Cedric Bail 0a99fb87bb elementary: rework Efl.Ui.Factory to have another additional stage during releasing of items.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9954
2019-09-24 09:18:50 +02:00
Cedric Bail 892c26f906 efl: simplify logic for widget created by factory.
In an attempt to make things more complex than they should have been,
I tried to change the inheritance tree on the fly and assume widget would
rely on autodeleting its children. This is way more complex of a solution
than to let the View actually release all the child manually and just set
the window as the default parent.h

Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9953
2019-09-24 09:18:49 +02:00
Marcel Hollerbach 759ac54e7f efl: split Efl.Ui.Factory.create stage into constructing and building
constructing is called during construction time, building is called
after finalize. This is usefull for theme related properties that can
only be set after the theme is applied, which happens during finalize.
Being event allow the user of the factory to add more initialization
without needing to implement any new class.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9952
2019-09-24 09:18:47 +02:00
Cedric BAIL 3c0b496ad3 elementary: Efl.Ui.Layout_Factory bind property during widget creation.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9951
2019-09-24 09:18:46 +02:00
Cedric BAIL af3f1b070f elementary: Efl.Ui.Image_Factory bind property also during widget creation.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9950
2019-09-24 09:18:45 +02:00
Xavi Artigas 7dcce72eb7 docs: Add documentation for Efl.Ui.Scroller
Summary:
These docs were missing.
Ref T7891

Test Plan: Only docs changed

Reviewers: zmike, woohyun, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7891

Differential Revision: https://phab.enlightenment.org/D10019
2019-09-23 16:51:30 -04:00
Marcel Hollerbach 6714c821f7 efl_ui_pack: allow NULL as existing parameter in after and before
Summary:
with this commit all implementations of Efl.Pack_Linear to permit NULL
as existing parameter, this is verified with a spec test unit.

fixes T8210

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: woohyun, Jaehyun_Cho, YOhoho, segfaultxavi, zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8210

Differential Revision: https://phab.enlightenment.org/D10023
2019-09-23 16:15:44 -04:00
Marcel Hollerbach 534021632c efl_ui_position_manager: review cache accesses
in position manager grid and list, there are caches for the sizes, so
the access within placing the item is faster. The cache sometimes is
invalidated, which means, it must be rebuild before accessing it.

This commit is the result of reviewing all the accesses, that the
correct item is available.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10065
2019-09-23 10:33:19 -07:00
Marcel Hollerbach 63ebd0e9cc efl_ui_focus_managr_sub: fix a err message
with this commit there are a few errors less, for the case a object is
destroyed while registered as a border element in the sub manager.
This adds a few more callbacks to the list of callbacks, however, i
could not messure a big performance impact.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10067
2019-09-23 10:33:17 -07:00
Mike Blumenkrantz 74cfe457c3 efl_ui/layout: move 'frozen' struct member to be a bool bitflag
this is already handled by edje, all we really want here is a flag
to avoid more eo lookups internally when calling canvas_group_change

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10079
2019-09-23 10:33:11 -07:00
Xavi Artigas 883ef612b7 docs: Efl.Ui.Widget_Scroller_Content updated docs
Summary: Ref T8254

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8254

Differential Revision: https://phab.enlightenment.org/D10082
2019-09-23 18:30:21 +02:00
Jaehyun Cho 98c2a75bda elementary: unref objects when memory allocation fails in factory
The objects referenced are unreferenced when memory allocation fails in
elementary factory.

Differential Revision: https://phab.enlightenment.org/D9968
2019-09-23 14:15:41 +02:00
Jaehyun Cho dd5e7c7019 efl_ui_tab_pager: fix infinite selected calls
Since tab_pager's _select() and tab_bar's _selection_change_cb() cause
calling each other infinitely.
2019-09-23 20:08:32 +09:00
Stefan Schmidt 885d5b5b68 efl_ui_exact_model: fix always true condition
The tbuf binbuffer has already been freed the line above, which means
this condition would always be true as !tbuf would always result in true.
As a result the rest of the function has never been executed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10046
2019-09-23 11:16:37 +02:00
Stefan Schmidt 87c8e2718c efl_ui_selection_manager: free allocated memory after local use
This temporary allocation is only used in this block and goes out of
scope when leaving. Make sure we free the resource before this happens.

Coverity ID: 1402653

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10045
2019-09-23 11:16:36 +02:00
Stefan Schmidt c02dcf6966 efl_ui_textpath: make sure variables are not uses uninitialized
First and last could have been uninitialized for their first use in some
cases. Make sure we set the x y coordinates to 0 to begin with.

Coverity IDs: 1401458, 1404747

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10044
2019-09-23 11:16:35 +02:00
WooHyun Jung f7e183b851 efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable
Summary:
Based on the discussion T7883, there is no reason to keep those
interfaces separately. So, now, efl_ui_scrollable will support
the events and methods together.

@ref T7883

Reviewers: eagleeye, bu5hm4n, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7883

Differential Revision: https://phab.enlightenment.org/D10072
2019-09-23 11:02:15 +02:00
Mike Blumenkrantz 654e783d28 elm/layout: remove check for finalize in efl_canvas_group_change impl
this used to be a thing in order to prevent widgets from spamming themselves
with recalcs during construction, but since that's no longer possible we
can remove this and also resolve an issue where legacy widgets failed
to correctly calculate their min size if no text was set

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10043
2019-09-23 10:44:32 +02:00
SangHyeon Jade Lee 3d539c1131 efl_ui : fix possible memory leak on model compressing
Summary: fix memory leak of model compressing on binbuf and allocated data.

Reviewers: cedric, bu5hm4n, zmike

Reviewed By: cedric, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10037
2019-09-23 16:27:07 +09:00
Marcel Hollerbach 18e9a224be efl_ui_collection: protect against invalid access
i am not sure why this should ever happen. However, a error here is
better than a access out of the bounds of the array.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10066
2019-09-21 20:43:56 +02:00
Marcel Hollerbach 64be497e42 efl_ui_bg: implement load_controller and efl.gfx.image via composition
With this commit the API of load controller and efl.gfx.image is
implemented via composition, which makes eolians API checker happy

ref T7880

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10064
2019-09-21 18:22:47 +02:00
Marcel Hollerbach b051cb52fa efl_ui_image: implement Efl.Gfx.Image and Efl.Gfx.Image_Load_Controller
at first i tried to implement that with composition, however, this does
not work, caused by the fact that the edje_object does not implement
efl.gfx.image nor load controller. which would mean i would have to
differentiate based on the type what kind of composition i would attach,
additionally, i would have to write an additional object which would
implement the correct behaviour.

To shortcut this overdone approach, this commit simply implements the
APIs in the image object.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10068
2019-09-21 18:22:45 +02:00
Marcel Hollerbach 0d7535071c elementary: make our tests work again
7321911468 moved the constructor to to
top, which leads to the fact that a few widgets cannot fetch the shared
data of the window. Which made the test suite fail.

With this commit we are just moving the sub_object_add after the
constructor, which fixes the flip crash.
This fixes the test suite
2019-09-21 15:04:42 +02:00
Carsten Haitzler 7321911468 efl ui widget - call parent constructor before doing more init
the object is not properly set up yet for child classes -0 parent like
the main evas object or smart obj havent been constructed yet so call
this really early, not in the middle of construction of an efl ui
widget...

this fixes a segv in elementary_test -to filp where it segv's on
object construction where evas object ->cur/prev are NULL (not set up
yet).
2019-09-21 10:26:46 +01:00
Daniel Kolesa 53a3326ddc eolian: rename any_value_ptr -> any_value_ref for consistency 2019-09-20 18:03:39 +02:00
Xavi Artigas 61ce4c79fd Use proper Eolian syntax for default values instead of docs
Summary:
Eolian supports reporting the defaults for parameters and return values, but in some
places we have been writing this information in the documentation instead.
This patch moves it to its proper place, where documentation generators can pick it up
and render it in a consistent manner.

Ref T8171

Reviewers: zmike, bu5hm4n, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8171

Differential Revision: https://phab.enlightenment.org/D10051
2019-09-20 11:55:55 -03:00
Hosang Kim 47ab7e1b83 efl.ui.scrollbar: fix event name for scrollbar
Summary: Event name is applied in the past tense.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10040
2019-09-20 12:51:48 +02:00
WooHyun Jung bc162b1253 efl_ui_scroll_util: add null check after calloc 2019-09-20 11:09:02 +09:00
Cedric BAIL 3e9f619b1d elementary: Efl.Ui.Widget_Factory bind widget property before finalizing the widget.
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9949
2019-09-19 14:37:56 -07:00
Cedric BAIL cc49c8ac64 elementary: leverage sizing information from model if available to avoid unecessary calc.
With the new Efl unified infrastructure, we do delay a lot of the computation to finalize,
by filling the object information before finalize we reduce unecessary computation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9948
2019-09-19 14:37:54 -07:00
Marcel Hollerbach fc935e99d9 efl_ui_position_manager: a way to announce new entities
there are situations where the entity is not ready yet when the initial
placing does happen. With this API you can tell the position manager
that the placing of the items can be reapplied at the entities are
availble now.

Differential Revision: https://phab.enlightenment.org/D9947
2019-09-19 14:37:52 -07:00
Marcel Hollerbach bf12fe241e efl_ui_layout_part_table: implement missing API
setting of these properties does not work, as they are not available in
legacy, but edje is still creating legacy objects.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10007
2019-09-19 14:37:39 -07:00
Marcel Hollerbach 2f48607e7c efl_ui_layout_part_*: declare stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9995
2019-09-19 14:37:37 -07:00
Marcel Hollerbach fc22a94d26 efl_ui_widget_*: declare parts stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9994
2019-09-19 14:37:35 -07:00
Marcel Hollerbach d8053bac96 efl_ui_layout_part_box/table: remove real_part_set
real part set was used to set the real part on the part, so the obj
pointer of Layout_Part_Data points to the correct evas object. With this
commit, this API is removed from the public .eo files, and is refactored
into the same API which is private.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9993
2019-09-19 14:37:33 -07:00
Marcel Hollerbach aecb3a4bb2 efl_ui_layout_part_table: implement Efl.Pack.pack API
this api was missing, the pack method here is behaving in the same
manner as Efl.Ui.Table.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9992
2019-09-19 14:37:31 -07:00
Marcel Hollerbach ccdec4ba68 efl_ui_widget_part: implement all the missing API
Efl.Color and Efl.File cannot be done due to composition. Efl.Gfx.Image
can, so we can solve this via composition, this also resolves all the
other cases for Efl.Gfx.Image.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9991
2019-09-19 14:37:29 -07:00