This will be used to solve issues around style_set:
if the widget is legacy or pure eo we may need to select a different
style. So in the constructor we need to know whether we are legacy or
eo. Note that calling style_set in finalize only is too late as we would
lose information such as efl_text_set() called inside efl_add().
It's not beta. It's about to die.
Also, move #define ELM_WIDGET_BETA to the common header file, as it is
consequently required by ALL widgets. :(
Ping @bu5hm4n :)
Ref T5363
This is also another protected and beta API. Meant to be overridden by
subclasses, but belongs to a still unstable API.
The difference between the internal legacy and the EO API is really bad.
Same as with activate (previous commit).
Ref T5363
elm_layout_sizing_eval() marks an object as requiring recalc.
Unfortunately, it's been massively abused by various widgets into
actually doing the calc, or the min calc. So we end up with one API
that has 3 different definitions depending on the widget type:
1. Mark as requiring recalc (correct, respects doc, elm_layout)
2. Calculate min size and other size hints
3. Actually do some geometry modification
I believe we need to clarify these 3 requirements into 3 very clear
and specific APIs in elementary. Right now we have similar functions
in evas for 1 (evas_object_smart_changed) and 3 (smart_calculate).
But their exact definition also isn't necessarily what we want for
elementary.
Another clear problem is that layout_eval does not do any calculation
(in theory), so the "eval" word is a bit of a stretch here.
Once we're sure about the exact API we want, we can add this back to
EO and make it work across our EO widgets. For now let's just keep
the legacy API, and its EO overrides, as is.
Ref T5315
Summary:
_index_box_auto_fill will be called when user calling elm_index_level_go(), elm_index_omit_enabled_set().
item size re-calculated and each item style reset even index size is invalid.
It can make performance issue during index creation time.
Test Plan:
elementary_test
index sample
Reviewers: taxi2se, jpeg, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4653
Summary:
- In mouse move callback, index tries to calculate
current level.
- This is not needed when level 1 is not active.
and blocks index item change.
Test Plan:
1) Run elementary test -> any vertical index.
2) Click on index item and drag to outside of index.
3) Observe index item is now changed as mouse movement.
Reviewers: cedric, Hermet, jpeg, eunue
Reviewed By: cedric
Subscribers: conr2d
Differential Revision: https://phab.enlightenment.org/D4643
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- When mirrored is set, horizontal box packs item
reversely, from right to left. However, index box
packs index item the same as before, from left to right.
This commit changes index box custom layout to sync
with other box.
Test Plan:
- enable mirrored UI, or use elm_config_mirrored_set(EINA_TRUE);
run elementary_test, "Index Horizontal".
- Observe index item packs in a same direction with box contents.
Reviewers: cedric, Hermet, jpeg
Subscribers: conr2d
Differential Revision: https://phab.enlightenment.org/D4512
Summary:
The accessible name is char*, this could confuse API user.
If we provide user callback to get description, an user would return allocated string.
The usage of elm_interface_atspi_description_get/set should be same with elm_interface_atspi_name_get/set
Reviewers: lukasz.stanislawski, cedric, raster
Reviewed By: raster
Subscribers: stanluk, jpeg
Differential Revision: https://phab.enlightenment.org/D4378
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.
Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.
Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
Coverity reports that this is logically dead code. As eo_item has been
dereferenced on all paths leading here, and it is also set above, then
it cannot be NULL at this point, thus this check is logically dead.
Fixes Covierty CID1355585
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
if trying to apply incorrect theme, widget apply default theme and return TRUE.
so there is no way to check it really apply correct theme.
To resolve this problem, _elm_theme_set return three type enum
* related history : 4ca3ef4514
* elm_object_style_set is public api, so I didn't change it.
* typedef name [ Theme_Apply ] is temporarily, please suggest better one.
@fix
Reviewers: singh.amitesh, herb, Hermet, cedric, jpeg, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4073
Summary:
- when index is set to horizontal by elm_index_horizontal_set()
there is no logic about omit calculation. However, when
omit is enabled/disabled by elm_index_omit_enabled_set(),
horizontal index is ignored by
if (sd->orientation == EFL_ORIENT_HORIZONTAL) return;
- This can cause inconsistency when order of calling those APIs
is changed. And also, that "horizontal index cannot be omitted" is not documented
and does not make sense.
- This commit enables omit for horizontal index, but further
change is needed because current logic of getting min_w for
dummy edje object is not accurate when text is set.
Reviewers: cedric, jpeg, Hermet, conr2d
Reviewed By: conr2d
Subscribers: eunue, conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4052
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- selected callback should be called when the user releases a mouse button
and selects an item.
Reviewers: cedric, jpeg, Hermet, woohyun
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4022
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Avoid SIGSEV in elm_index_item_sorted_insert when cmp_data_func returns >=0
After deleting eo_item and making it NULL in above case, view(it) is created which resulted in crash.
Test Plan: elementary_test -to 'index 2'
Reviewers: singh.amitesh, jpeg, cedric, raster, Hermet
Reviewed By: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D3956