Commit Graph

2449 Commits

Author SHA1 Message Date
Amitesh Singh 5298cb59d2 Efl.Ui.Format: implement generic format_string function
This generic format_string would be used in slider,progressbar
and other widgets.This default function handles INT
and DOUBLE eina value types for now.

Ref T6204
2017-10-26 21:11:36 +09:00
JinYong Park b358fc4b69 elm_bg_legacy: add missing parameter description
Summary: Add missing parameter description to remove doxygen warning

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5388
2017-10-26 16:12:03 +09:00
Youngbok Shin 084ce3d6e5 elementary index: fix wrong reference in its header document
Summary:
elm_index.h uses legacy keyword for ref tag.
The patch update each keywords for widgets.
And colon ":" character should be seperated from reference keyword.
It will remove doxygen warning messages from elm_index.h file.

Test Plan: N/A

Reviewers: cedric, raster, jpeg

Differential Revision: https://phab.enlightenment.org/D5387
2017-10-26 16:03:51 +09:00
Mike Blumenkrantz ed30f41de8 wayland: add support for efl weight hint propagation from elm_win to efl_wl
@feature
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz 10c05f76c6 elm_tooltip: set parent window for windowed tooltips
wayland popup surfaces must have a parent in order to be visible

@fix
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz fd00e3de1a elm_config: add offline and powersave config members
these will be used by enlightenment in the future to notify applications of
global system states

@feature
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz ffac7fc539 wayland: fix window stack implementation
ref T5350
2017-10-25 10:44:16 -04:00
Jean-Philippe Andre 585be9e24f genlist: Simplify some logic
Item prev/next/first/last.

If true, break, else, break.
EO_OBJ(x) is safe on NULL.
Add a simple macro to simplify inlist handling.
Overall simplify the code.
2017-10-25 22:54:52 +09:00
Marcel Hollerbach 5a3ee984a1 elm_box: only allow focus to widgets of a box
all other should not get focus
2017-10-25 14:36:13 +02:00
Marcel Hollerbach 53fcc4bb7d elm_multibuttonentry: it cannot handle focus itself
the box in it is, so no need for can_focus == true.
This fixes the basic usage, however the order is sometimes a bit
screwed. Commits will follow.
2017-10-25 14:36:13 +02:00
Marcel Hollerbach fa49488f3a elm_main: make sure we dont go deeper than the widget top level 2017-10-25 14:36:13 +02:00
Marcel Hollerbach f440cc4eb6 elm_multibuttonentry: do not eat all the events
I have no idea why it was doing that, but that ends up eating all the
events, not propagating them up to the parent ... If someone has a idea
why it was like that, feel free to notify.
2017-10-25 14:36:13 +02:00
WooHyun Jung 9442f4687c efl_ui_calendar: create new efl_ui_calendar
Summary:
This calendar widget will support basic functionality of calendar.
I've separated this widget from elm_calendar since elm_calendar had
lots of unuseful things inside.

Reviewers: jpeg, singh.amitesh, cedric, CHAN, Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5346
2017-10-25 16:50:01 +09:00
Jean-Philippe Andre 40589a92a0 calendar: Remove unused code 2017-10-25 16:50:01 +09:00
WooHyun Jung c1094da0f4 efl_ui_clock: changed property name from value to time 2017-10-25 16:44:25 +09:00
Amitesh Singh 944c4dee1b Efl.Ui.Slider: call format_free_cb() when object destroys
fix mistake done in previous patch 8661fe234c
2017-10-25 16:30:48 +09:00
Amitesh Singh 8661fe234c Efl.Ui.Slider: implement format_cb for units
Ref T6204
2017-10-25 16:18:54 +09:00
Marcel Hollerbach a417af04e8 elm_widget: also delay focus set if something is not registered
this fixes a infinite loop
2017-10-24 17:37:31 +02:00
Marcel Hollerbach 3e726c364b efl_ui_focus_manager: reset when a redirect is unset
this keeps the history clear
2017-10-24 17:37:31 +02:00
Woochan Lee 6c3bc915df elm: rename elm_multibuttonentry to Efl.Ui.Multibuttonentry
Summary: @ref T5358

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun, bu5hm4n, cedric, jpeg

Maniphest Tasks: T5358

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

JP's note:
MBE currently has quite a few issues, probably related to focus
handling. This needs to be fixed.
2017-10-24 16:20:09 +09:00
Thiep Ha 0258ac77b0 doc: add missing parameters and fix references for some elm widgets 2017-10-24 15:46:30 +09:00
Jean-Philippe Andre 006546a042 elm: Use auto_unref for parts
This avoids leaks.
2017-10-24 14:49:12 +09:00
Jean-Philippe Andre 1b481f0ae8 widget: Rename events to EFL_UI_WIDGET_EVENT_XXX
This only affects the events (and the data type has an alias).

Ref T5363
2017-10-24 14:37:45 +09:00
Jean-Philippe Andre 2f465e1fbb widget: Rename EO APIs to efl_ui_widget_xxx
This only changes the eo_prefix for APIs.

Ref T5363
2017-10-24 14:30:21 +09:00
Lukasz Stanislawski bcb24a40dc elm: add prefixes to Efl.Access.Action to avoid clashes
Summary:
Prefix methods/properties of Efl.Access.Action mixin to avoid potential
clashes in genrated bindings.

This is first of series of patches removing potential name clashes
in accessibility interfaces.

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5213
2017-10-24 12:01:50 +09:00
Jean-Philippe Andre 1e83dd84c6 nstate: Remove some legacy code
This uses constructor/destructor instead of group_add/group_del.

Note: finalize can't be used for theme loading as any action done inside
efl_add(...) would be lost (eg. part text set).
2017-10-24 11:57:27 +09:00
Al Poole eeb25519b3 elm_code_widget: make sure the widget is cleared properly.
This ensures the widget is clearer if the file has been cleared.
@fix T6185
2017-10-21 01:28:06 +01:00
Marcel Hollerbach 613649a39f elm_gengrid: add pseudo widget into the item if there are no focusable
widgets
2017-10-20 17:21:57 +02:00
Marcel Hollerbach f79b1b9826 efl_ui_focus_manager: new api
Can be used to fetch a focusable widget that has child as parent.
2017-10-20 17:21:57 +02:00
Marcel Hollerbach 8a0cf1418c efl_ui_focus_manager: unfocus even logical elements
entry for example is here a specialcase since it registeres itself as
logical with a redirect manager that is then empty and only has a root
element, which is again itself.
2017-10-20 11:54:08 +02:00
Marcel Hollerbach 0b81f9c808 elm_entry: correctly emit unfocus signals to the edje object 2017-10-20 11:54:08 +02:00
Carsten Haitzler 7f12ca0f84 elm config - check if _elm_config is null - makes coveirty happy
it really should never be null though... or else really bad things
just happened (allocations failed etc.)
2017-10-20 18:30:03 +09:00
Marcel Hollerbach 5e96d6e378 efl_ui_focus_manager_calc: really free all direction
i must have been have asleep when i wrote this, we need to iterate all
directions not only to the max id of 4
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 0c3bec93a1 elm_gengrid: bring in item once focused
and select & focus the item where the widget is in
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 8d20422e8b elm_scroller: scroll to a focused element 2017-10-19 15:20:59 +02:00
Marcel Hollerbach 3184e0f550 elm_interface_scrollable: do not scroll to a focused element by default
this can be done in the implementing other widgets
2017-10-19 15:20:59 +02:00
Marcel Hollerbach f720115f08 elm_widget: update parent instead of unregister for the case of parent
change

This means we maintain the focus state over a parent change
2017-10-19 15:20:59 +02:00
Marcel Hollerbach eb997134d0 efl_ui_focus_parent_provider_gen: looks to get the last widget before
gengrid

This means we are garanteed to find the item
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 5b2637b14e elm_gengrid: force the item to be added _again_ as subobj
so we make sure the registering fetches the correct element
2017-10-19 15:20:59 +02:00
Marcel Hollerbach ffbb17a568 elm_gengrid: force the item to be realized once we try to move focus
So the widget is there, once we try to register it
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 2e26d7a6cf efl_ui_focus_manager_calc: move the debug output in there
reduces the load of debug messages, and the debug messages are now only
emitted from the manager that is not the redirect. And the real elements
that are focused are printed
2017-10-19 15:20:59 +02:00
Carsten Haitzler 64529eac19 elm config - finish flagging all other values that can be set by api
this now means any app that called elm_config_*set on any field at all
will keep what it set forever until it changes it even if shared/core
config changed.
2017-10-19 17:32:47 +09:00
Carsten Haitzler a04d8a929a elm config - track which vars you set locally and keep them as-is
this now flags about 1/4 of the config vars in elm config if you set
them locally so they wont change on conifg reload. i have just started
and this is the first batch. needs more work.
2017-10-19 17:32:47 +09:00
Marcel Hollerbach 56e9f582b6 elm_interface_scrollable: make sure this region is really visual
right now we just request the complete geom to be visible since there
seems to be no way ot checking where the new widgets will be in. This
needs some improvements.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 67234dcde1 efl_ui_focus_manager_calc: reimplement move to be more compact & small
this fixes a bug when a redirect was unset while going the prev
direction.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 6956dfc7a6 efl_ui_focus_manager_calc: put every element on the focus stack
move the addition to the focus stack to the general path. This means
every element is now on the focus stack.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach d701597eb9 efl_ui_focus_manager_calc: move unfocusing the last element into its own
function
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 0220418b84 efl_ui_focus_manager_calc: check if we are already focused earlier
if we dont do that we may unset a redirect just to set the same redirect
again.
2017-10-19 10:04:59 +02:00
Lukasz Stanislawski 57aefc53c1 elm: rename Elm_Interface_Atspi_Accessible interface
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5341
2017-10-19 10:13:54 +09:00
Jean-Philippe Andre dfd98b3e48 win: Do not forward all key events on win (legacy)
OMG... I do not like this patch.

See T6148, two key down events are received when a key grab is installed
on a Win object. This is because all input events are propagated from
ecore all the way up to win and can be listened on. Unfortunately this
breaks existing applications that use the key grab API properly to
listen to key events.

Another side effect is that ALL key events are received by the window,
which means it's not limited to what the application expected (from its
list of grabs).

Solution (ugly): block propagation of key down/up events if the window
is a legacy window. This means that no key grab is required for EO
windows, but key grabs are still required for legacy windows.

Fixes T6148

@fix
2017-10-18 21:01:56 +09:00
Jeonghyun Yun 80a5297ae4 elm_scroller: fix scrolling with key move
Use content_region_show instead of content_pos_set in _key_action_move

Summary:
When user keep pressing key down or else on scroller content, scroller
animation is lagging because of elm_interface_scrollable_content_pos_set
by step_x or step_y value.  When focus moved to next object by press key
down or else, content_pos_set by ecore_animator continuously.  In this
time, content_pos_set in _key_action_move by step_x or step_y value
caused animation lagging problem.  I fixed to use content_region_show
instead of content_pos_set in _key_action_move for remove exist
animator.

Test Plan:
1. elementary_test -> Scroller3
2. Press 3 times "Append 10 Items in 3s" button
3. focus to Item1 and keep pressing key_down

Reviewers: jpeg, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5278
2017-10-18 20:31:05 +09:00
Jean-Philippe Andre 83d063692f genlist: Fix crash on item delete
See d3440a9867

Fixes T6033
2017-10-18 20:01:35 +09:00
Jean-Philippe Andre 24c0eced77 config: Simplify EO API
This is:
 - using a property (but terribly ugly due to the ownership on the
   returned value)
 - removing an unused function

Note: This interface Efl.Config covers only elm_config for now. But it's
very generic and could be used in the future for application specific
configuration.
2017-10-18 19:32:00 +09:00
Jean-Philippe Andre 315e865f18 elm: Split elm_general.eot in two: legacy and EO
This creates efl_ui.eot
It's not called efl_ui_types.eot because a file with that name already
exists in efl/interfaces (for Efl.Ui.Drag functions).

Also add some FIXME comments, and move some types to elm_widget_item.eo.

Ref T5329
2017-10-18 19:24:28 +09:00
Shinwoo Kim 06eee29b76 elm: enhance documentation for following files
- elm_config.h
 - elm_focus.h
 - elm_genlist.h
 - elm_icon.h
 - elm_image.h
 - elm_image_legacy.h
 - elm_index.h
2017-10-18 17:38:16 +09:00
Jean-Philippe Andre d4d7a783ed widget: Add FIXME note and cleanup whitespaces 2017-10-18 11:22:34 +09:00
Thiep Ha 65a87eb575 textpath: get the right size of text object
Recent change to use EINA_SIZE2D made the size be gotten incorrectly.
This corrects it.
2017-10-18 10:51:04 +09:00
Prince Kumar Dubey 28ce98c411 elementary: fix double assignment
Summary: local variable "bp" assigned twice unnecessarily. The duplicate assignment is removed.

Reviewers: raster, cedric, jpeg

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-17 11:03:24 -07:00
Cedric Bail 5a8181b3ee elementary: generic_value is to be replaced by any_value. 2017-10-17 10:51:05 -07:00
Cedric Bail 6998134669 elementary: add an exit_code to efl_exit as originally planned.
T6228
2017-10-17 10:39:05 -07:00
Marcel Hollerbach 0fb1d6e1fa elm_interface_scrollable: fix bringing in of a focused item
you also need to calculate in the object position
2017-10-17 17:49:48 +02:00
Marcel Hollerbach 0376092c78 elm_widget: print a error if there is no provider 2017-10-17 17:31:23 +02:00
Marcel Hollerbach e2975a1fcb elm_widget: also do not register if the top widget is not a win
this is currently quite a performance break, since that call is quite
heavy, lets see if we can optimize it later
2017-10-17 17:31:23 +02:00
Marcel Hollerbach 881815ec57 elm_widget: only register if you have to
first step into the direction of making that more secure
2017-10-17 17:31:23 +02:00
Marcel Hollerbach aa4c3c9eb7 elm_widget: move evaluation for registeration of widget
this is now earlier done, so we can reacted based on that
2017-10-17 17:31:23 +02:00
Shinwoo Kim 34f11c0a06 elementary: remove documentation error 2017-10-17 19:05:47 +09:00
Jean-Philippe Andre b5c241ca08 frame: Implement content set/get/unset
Not a huge fan of my macro as it uses efl_part() where a direct call
could be possible, depending on the widget (win can, frame can't).

See D5241
2017-10-17 17:31:38 +09:00
Jean-Philippe Andre c9c9e6a209 elm: Rename Elm.Activate to Efl.Ui.Activate
Note: This is an EO-only beta API.

Ref T5329
2017-10-17 17:31:38 +09:00
Amitesh Singh 85d4a618a7 slider/progressbar: implement format_string of Efl.Ui.Format
remove the unit_format from Efl.Ui.Range.
2017-10-17 17:16:45 +09:00
Marcel Hollerbach 18194f343e elm_gengrid: implement item-content-focus
#finally

For now we focus the widgets of a item, the item content can be cycled
by tab / Ctrl + tab. up/down/right/left are for now handled by gengrid
and move the focused item (everything else feels super weird with
multiple contents in a item)

ref T6181
2017-10-16 19:51:38 +02:00
Marcel Hollerbach 38d41b4a2b efl_ui_focus_composition: support beeing a pure logical composition 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 6f95bded51 efl_ui_composition: flushing elements from outside! 2017-10-16 19:50:34 +02:00
Marcel Hollerbach 44554a6044 elm_slider: do not eat all key down events 2017-10-16 15:34:36 +02:00
Marcel Hollerbach 45b4cdee19 efl_ui_focus_manager_calc: maintain focus when focused element is
unregistered

this should fix T6216.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 124586c8e4 elm_toolbar: make the manager customisable
so the toolbar items can be registered correctly
2017-10-16 11:02:13 +02:00
Marcel Hollerbach ac703d8229 elm_menu: implement provider_find to walk the parent relation
it turns out elm_menu is special, it doesnt use parent_obj of
elm_widget, it has his own parent field, which should be used.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 79c93db365 efl_ui_bg: this does not handle focus 2017-10-16 11:02:13 +02:00
Marcel Hollerbach f32359baba elm_toolbar: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach d712c1a911 elm_table: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach 2eefabae8e elm_grid: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach cb27a73968 elm_box: port to composition 2017-10-16 11:02:13 +02:00
Marcel Hollerbach 132eaba8d3 efl_ui_focus_composition: introduce dirty and prepare
this can be used in a container that has his own item management api,
Each item management call results in a dirty call, once we are called to
prepare for logical movement we can simply flush the order. So we reduce
the spam of order calls, which also safes runtime.
2017-10-16 11:02:13 +02:00
Marcel Hollerbach 0a814a0c71 elm_widget: support logical parents that are not elm_widgets 2017-10-16 11:02:13 +02:00
Marcel Hollerbach e25d494590 elm_widget: do not cache the provider
if turns out that caching the provider here is a problem, since a parent
changing does not change the provided provider
2017-10-16 11:02:12 +02:00
Marcel Hollerbach 4edba079c4 elm_widget: also unregister if the logical parent changes 2017-10-16 11:02:12 +02:00
Hermet Park 1104ff3789 update author(hermet) email. 2017-10-14 23:03:51 +08:00
Cedric Bail 59b417c378 elementary: we actually do not use that variable. 2017-10-13 12:58:01 -07:00
Cedric Bail 6770f9b8a3 elementary: we actually do not use that object. 2017-10-13 12:58:01 -07:00
Cedric Bail 6fb1e2ff68 elementary: remove unused variable. 2017-10-13 12:58:01 -07:00
Wonki Kim c60b889d35 elmentary: fix a potential null pointer dereferencing in elm_box
Summary:
if 'evas_object_smart_data_get' return null somehow,
logic that dereference the smart data pointer will cause problems.
This patch prevent a potential bug in advance.

Reviewers: jpeg, woohyun, cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:01:04 -07:00
Marcel Hollerbach d24c00d2be elm_toolbar: use prepare to get focus into the items again 2017-10-13 12:31:48 +02:00
Marcel Hollerbach 6acaf6350c efl_ui_focus_object: introduce prepare_logical
with this call a registered logical item could prepare itself for a
deeper traversal
2017-10-13 12:31:48 +02:00
Marcel Hollerbach 75f5ea686f efl_ui_focus: add parent_provider
thats just a little helper, where the logic to find and fetch the
provider is bound to the position in the widget tree, this means that
for example gengrid could change the way the logical parent is
evalulated. (For example to map the logical parent to a item)
2017-10-13 12:31:47 +02:00
Marcel Hollerbach 441776f7cf efl_ui_focus_manager_calc: make sure to not access out of bounds mem 2017-10-13 11:52:58 +02:00
Jean-Philippe Andre ccee1c0944 eo: Simplify debug_name_override
Simply pass in the strbuf and don't expect the callee to own it. This
makes things simpler and safer (it'll crash only if the callee frees
said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming
release, EFL 1.21.

Realised this after talking with Amitesh. Thanks.

See 999dbd9764
And c4769ff898
2017-10-13 10:57:00 +09:00
Jean-Philippe Andre 72f1fbf4f1 widget: Rename focus_region (EO)
This region has little to do with focus, as it's more of a region of
interest within the widget, and not directly related to the highlight
geometry, for instance. It's related to focus in the sense that only
widgets with focus would really care about this region.

I decided to change this name after talking with @bu5hm4n.
Note that gengrid uses this but is also completely broken (the focus
highlight floats around and you don't even see the focused item).

Note: This is very close to show_region but I'm not sure those can be
merged safely (since the default "focus_region" is NULL while the
default "show_region" is the widget's geometry).

Ref T5363
2017-10-12 19:33:04 +09:00
Sungtaek Hong 2b4f674a0d efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
Summary:
 - setting size_hint_min logic was deleted while changed elm_bg to efl_ui_bg.
 - this sets size_hint_min again.

@fix

Test Plan:
1. Run Elementary test
           2. Run Bg Option
           3. Select Center radio.
           4. Resize windows.
           5. Observe bg images remains in center.

Reviewers: jpeg, JackDanielZ

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5281
2017-10-12 15:29:39 +09:00
Jean-Philippe Andre 47a4632398 widget: Some EO docs formatting
Cosmetic surgery.
2017-10-12 12:28:23 +09:00
Cedric BAIL 1ff6cbde54 elementary: add way to exit symetric to EFL_MAIN. 2017-10-11 14:21:12 -07:00
Marcel Hollerbach 9790de4b0c elm: include those headers in Elementary.h 2017-10-11 09:51:33 +02:00
WooHyun Jung 3e2f727d47 efl_ui_clock: remove unused signals 2017-10-11 11:00:25 +09:00
Marcel Hollerbach c4583e1647 elm_main: also return true when the object is a redirect manager 2017-10-10 22:25:22 +02:00
Marcel Hollerbach d15ee47db0 elm_interface_scrollable: use focus_geometry not normal geometry 2017-10-10 22:25:21 +02:00
Marcel Hollerbach 48129e7a8e elm_widget: also eval all children when we are visible 2017-10-10 21:23:42 +02:00
Marcel Hollerbach 7880dcd7d4 elm_widget: remove apis we dont need anymore 2017-10-10 19:30:01 +02:00
Marcel Hollerbach 247d203c68 elm_main: port to new focus api 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 8453ebfe4e elm: move the focus direction definition to general
and remove the old definition
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 9d5cc349da elm_code: remove those parts
they are not anymore needed, before they existed for keeping the focus
in the window, even if the keystrokes should be focus movements. This is
already working without this.
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 17e730e8e0 efl_ui_win: port to new focus api! 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 76c202c3e5 elm_access: Port to the new focus api 2017-10-10 19:28:48 +02:00
Marcel Hollerbach 5471a2249e elm_gengrid: disable the code for now
it will return later
2017-10-10 19:28:48 +02:00
Marcel Hollerbach a38f5c3892 elm_genlist: for now disable this code
it will return later
2017-10-10 19:28:48 +02:00
Marcel Hollerbach 89290b40a9 elm_list: for now disable the code
it will return later
2017-10-10 19:28:47 +02:00
Marcel Hollerbach a112aaafbb elm_colorselector: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach e7b6d8b86c elm_spinner: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5951aa8742 elm_panel: make it a layer 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 94afff21da elm_ui_focus_layer: add configurable behaviour
the layer can now be configured if it should be automatically enabled at
visibility and if the focus should cycle in the layer or not.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 383dd5de15 elm_notify: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach c2d0b08e2b elm_segment_control: migrate to composition!
Yes! We now have a widget where the we can focus items ... but nothing
more ... ?!
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 911ad8a022 elm_calendar: migrate to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5b015aa881 elm_clock: convert to composition! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 35a01340d3 introduce efl_ui_focus_composition!
It does what the class description tells
2017-10-10 19:28:47 +02:00
Marcel Hollerbach 991b7696b6 efl_ui_focus_manager_calc: delete items if they are deleted 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 65aff8c82c elm_widget: use the user_manager for setting focus 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 7a86e23642 efl_ui_Focus_manager_root_focus: add focus rectangle
the focus rectangle is basically just a normal efl.canvas.rectangle, but
with the focus interface implemented.

This fixes alot of errors which gets called when the root_focus manager
is used, with the submanager as mixin.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach e8039ffc2d efl_ui_focus_manager_root_focus: correctly call state eval
when a new item is registered we should eval state to unregister the
rect
2017-10-10 19:28:47 +02:00
Marcel Hollerbach e3c87f8fed efl_ui_focus_manager_root_focus: only register if we really need to 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 6ba107b899 elm: introduce efl_ui_focus_layer
what it does is described in the mixin

this commit refactors inwin hover popup ctxpopup to use that behaviour.
Since it should do exactly that.
2017-10-10 19:28:47 +02:00
Marcel Hollerbach ac18f7fe04 elm_conform: use legacy elm_object api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach b48ef579e6 elm_dayselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5ca9853eda elm_toolbar: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 7cef664696 elm_slideshow: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 47b0afb315 elm_seperator: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach d2a37a7f40 elm_scroller: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 5cac7531bd elm_prefs: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 9d88181510 elm_label: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 092b8b8039 elm_diskselector: remove old api! 2017-10-10 19:28:47 +02:00
Marcel Hollerbach 027ffd65c8 elm_inwin: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach dd17fe8de0 elm_index: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach ff792bd3e8 elm_hover: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach cddd333b7d elm_flipselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 9d3559cd6b elm_fileselector_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach bd628bbfcc elm_fileselector: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 265a26f68e elm_entry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 233bd3cdca elm_bubble: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach e01486c2ca elm_actionslider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 7b6ef8910c efl_ui_video: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6bc769b317 efl_ui_text: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6f9beb01c5 efl_ui_slider: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 1ef5ea660f efl_ui_progressbar: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach f918975bf0 efl_ui_panes: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach b9264b7d6c efl_ui_layout: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 4884793cf0 elm_naviframe: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 8019639b29 elm_multibuttonentry: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach a637086531 efl_ui_frame: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 6fe4d8a315 efl_ui_flip: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach e922d753b8 efl_ui_clock: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach a249b550e9 efl_ui_button: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 44f33f1e4c elm_table: remove old api! 2017-10-10 19:28:46 +02:00
Marcel Hollerbach 21ff1ae349 elm_grid: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach faf664cc1d efl_ui_grid: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach aa6059abd5 elm_box: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach 7b11317159 efl_ui_box: remove old api! 2017-10-10 19:28:45 +02:00
Marcel Hollerbach 4cb080b31c elm_toolbar: we need to register the items in the submanager 2017-10-10 19:28:30 +02:00
Jean-Philippe Andre 4c0167916b focus: Avoid infinite loop in window
I kept the safety error message for easier debugging.
Test scenario:
  elementary_test -to "Window Inline"
  Click on an entry. Press Shift+Tab.

Ping @bu5hm4n
2017-10-10 19:32:50 +09:00
Jean-Philippe Andre f75d2e6be2 widget: Make focus_mouse_up_handle internal
I don't think this belongs to the public EO API.

Ref T5363
2017-10-10 18:53:43 +09:00
Jean-Philippe Andre 15f95c374e combobox: Mark as legacy only if legacy API is used
See bc2fe6bb77
2017-10-10 18:44:35 +09:00
Marcel Hollerbach 837f83114a efl_ui_focus_manager_calc: we dont need the explicit root handling,
that is done later in line 1205
2017-10-09 16:29:28 +02:00
Marcel Hollerbach 282883ff9c efl_ui_focus_manager_calc: focus a child if a logical is focused
If you call focus_set(m, o) where o is a logical child, then the focus
will go to any none logical child of o, or if there is nothing in the
children of o, then the focus will remain on the now focused element.
2017-10-09 13:10:51 +02:00
Subodh Kumar 321673fe59 elementary: passing NULL to variadic funtion can be undefined.
Summary:
Passing NULL to variadic funtion may lead to undefined behaviour.
@fix

Test Plan: NA

Reviewers: lukasz.stanislawski

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:50:22 -07:00
Yeongjong Lee bc2fe6bb77 elementary: fix unintentional visibility of elm_hover in combobox constructor
Summary:
since fd9cf1d3b6, All Eo canvas objects remain
visible by default.
but elm_hover doesn't want to be shown in combobox constructor.
showing elm_hover in constructor occurs unexpected behavior.
this fixes that bug.

Test Plan:
1. elementary_test - Combobox
2. Click the combobox to Expand the list.

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-06 09:46:24 -07:00
Cedric Bail 699a97875a elementary: update code highlighting to follow eolian syntax change. 2017-10-04 11:32:09 -07:00
Chris Michael 31ef275388 elementary: Mark unused function parameter as unused
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-02 08:19:42 -04:00
Daniel Hirt 3462390b5c Ui layout: handle Efl.Text legacy code better
This should cover the cases without need to duplicate a lot of code.
Follow-up to deca3c947f.
2017-10-01 19:51:28 +03:00
Al Poole 9ab866f32c elm_code_widget: set appropriate background colour. 2017-10-01 11:10:28 +01:00
Marcel Hollerbach e6c8093d49 efl_ui_focus_object: also implement focus.get 2017-09-30 20:29:07 +02:00
Marcel Hollerbach 1ad1d8010e efl_ui_focus_manager_calc: correctly specify owned where its needed 2017-09-29 11:28:15 +02:00
Marcel Hollerbach e5d1c1f195 Revert "elm focus manager - dont leak child lists when updating focus order"
This reverts commit bd6dcbb044.

This was not fixing the issue, just ducktaping over a bug in eolian, the
bug is now probebly fixed in eo / eolian.
2017-09-29 11:28:15 +02:00
Carsten Haitzler 66cd5cf2d5 efl ui textpath - remove more unused vars 2017-09-29 14:52:04 +09:00
Carsten Haitzler 522488eed9 efl ui textpath - remove unused vars due to dead code removal
fix warning
2017-09-29 12:32:10 +09:00
Carsten Haitzler 17e2783c6c elm atspi - fix checking return of eldbus_message_iter_arguments_get
fix coverity CID 1353590
2017-09-29 12:26:57 +09:00
Carsten Haitzler 6f9857ccab elm config - fix eina value setting to check get return
fix CID 1357139
2017-09-29 12:26:57 +09:00
Carsten Haitzler 4a9d168ac3 elm widget - event legacy propagation - remove coverity warning
fix CID 1379920 - event_flags is actually never NULL or undefined in
the function logic. it's always set to point to the specific event
flags field depending on struct type or the function will return
before using the pointer.
2017-09-29 09:09:04 +09:00
Carsten Haitzler 2ac1323fac efl ui focusable - remove pointless check of ptr already checked
coverity fix CID 1381492
2017-09-29 09:00:43 +09:00
Daniel Kolesa 7c7e5ec423 eolian: validate inner types of complex types
This makes sure the inner types are all correctly defined and
that freefuncs are actually correctly filled.
2017-09-28 23:22:05 +02:00
Daniel Hirt deca3c947f Ui layout: support markup for efl_part()
Also implement markup_set/get for:
  - Efl.Ui.Frame
  - Efl.Ui.Slider

Users may choose between text_set/get and markup_set/get, depending on
whether they want to escape their text or not.
2017-09-28 19:32:02 +03:00
Shinwoo Kim 6f06979cdc elementary: atspi - fix dbus abort
This patch set fix following abort occured on dbus side.

(gdb) bt
0   __GI_raise (sig=sig@entry=6)
1   __GI_abort ()
2   _dbus_abort ()
3   _dbus_warn_check_failed
4   dbus_message_iter_append_basic
5   append_basic
6   eldbus_message_iter_basic_append
7   _bridge_signal_send
8   _text_text_removed_send
9   _bridge_accessible_event_dispatch
10  _elm_interface_atspi_accessible_event_emit
11  elm_interface_atspi_accessible_event_emit
12  _entry_changed_user_signal_cb

(gdb) f 12
(gdb) p *$1
$2 = {change = {insert = {content = 0x0, pos = 0, plain_length = 1},
                del = {content = 0x0, start = 0, end = 1}},
      insert = 0 '\000', merge = 0 '\000'}

The following patch set would fix the root cause of this problem.
https://phab.enlightenment.org/D5240
2017-09-28 20:29:33 +09:00
Jean-Philippe Andre 76ab8e3f54 efl: Remove @owned tag from pack/content APIs
Refer to the previous commits for more context.

When an evas object is given to a container, be it with a variant of
efl_pack() or efl_content_set(), its "ownership" is given to the new
parent container. But ownership here means that the new container may
delete the child when it sees fit (i.e. when the container itself dies,
for instance). This does not mean that a reference was passed from the
calling context to the container. The actual EO owner of the child is
always the canvas or another canvas object, even if it the object is
unpacked.

Note: This means that invalid calls to efl_pack or efl_content_set will
not automatically delete the child object. This is the same as legacy,
and results in floating objects. Just check the return value! :)

Hopefully this is correct for bindings.
2017-09-28 17:29:03 +09:00
Carsten Haitzler dea4e5aa46 elm widget - fix possible null ptr access found by coverity
_propagate_event_legacy checked event_flags ptr for null then just
derefs it anyway... so check everywhere. fixes CID 1379920
2017-09-28 15:28:00 +09:00
Carsten Haitzler 1dcac1853d efl ui focus - fix coverity complaints about derfer before null check
indeed there was a child cnull check after dereferencing the child...
so check completely. fix CID 1379925
2017-09-28 15:28:00 +09:00
Carsten Haitzler 49df80aa6f efl ui win - quieten coverity complaint about dead code
the count ?: 1 check is pointless as count is already checked above.
make it clearer that it's > 0 and remove the ? check. silence for
coverity CID 1380542
2017-09-28 15:28:00 +09:00
Carsten Haitzler 35b65e0643 efl ui text - remove logically dead code
it is indeed pointless code. fix coverity CID 1380544
2017-09-28 15:28:00 +09:00
Carsten Haitzler bee7bf5767 efl ui text - fix resource leak of strbuf and pointless buffer code
edje_object_part_text_style_user_push() doesnt need you to
stringshare_add a string... some other code did it because it "gets"
the string from an obj that might free/delete the string on push etc.
or before so it keeps a copy but then it stringshare_del's it
anyway... the _textpath_ellipsis_set() code creates a trsbuf that
wasn't freed if enabled was false and it never stringshare_del'd the
string is stringshare_added... all of this was pointless code anyway.
you could just pass the constant string directly.

fixes CID 1380543
2017-09-28 15:28:00 +09:00
Amitesh Singh 8ab7042149 intv slider: use scope_get instead in finalize() 2017-09-28 12:19:49 +09:00
Cedric BAIL 1ac4a03d4f elementary: avoid segfault when getting focus due to an infinite recursion.
This was two line switched and setting the callbacks on the wrong object.
2017-09-26 15:21:12 -07:00
Cedric BAIL 0b37853f14 elementary: actually implement the terminate event. 2017-09-26 10:15:07 -07:00
Cedric BAIL 8e5a79f957 elementary: don't crash if API is called after shutdown. 2017-09-26 10:15:07 -07:00
Cedric BAIL 0b8e3e6fcf elementary: restore input propagation and destroy array properly. 2017-09-26 10:15:07 -07:00
Jean-Philippe Andre 7cc23b1754 elm: win part EO files are public 2017-09-26 22:00:02 +09:00
Jean-Philippe Andre 56667a84b1 win: Remove invalid callbacks
Faulty commit (guess who?):
  596dba5fe5

See also d567faa778

Finally make check works again. That was... a painful lot of patches to
fix.
2017-09-26 18:15:45 +09:00
Jean-Philippe Andre e1df334caf Revert "Fix infinite recursion for legacy + efl ui win events"
This reverts commit d567faa778.

This is not trying to fix the root cause for the infinite loop.
2017-09-26 18:11:38 +09:00
Jean-Philippe Andre ba12712e0d elm: Fix shutdown of atspi (unregister handlers)
@fix
2017-09-26 18:11:16 +09:00
Jean-Philippe Andre e401b223f8 elm: Delete atspi root object on shutdown
Ugly implementation but this will do.

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5cea60d157 elm: Fix elm_shutdown
ecore could not shut down properly in an elm_init()/elm_shutdown()
cycle, with 7 remaining references, all because of a typo.

This should help @cedric as well
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5258a6d46f win: Avoid calling same function twice on shutdown
This avoids calling:
  ecore_evas_callback_delete_request_set
  ecore_evas_callback_resize_set
twice when deleting a window. Also adds safety over sd->ee.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre f3c9d25c1f elm: Properly unregister providers on shutdown
This should fix some errors in make check with CK_FORK=no

Test:
  <efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config

@fix
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre c2ae93089b win: Avoid safety ERR in efreet
This is an error happening in make check. Annoying but mostly harmless.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre d453579ddf elm: Fix module load with ELM_RUN_IN_TREE
Somehow I was seeing a ton of errors with "prefs_iface" not found in
make check. This code could not have worked since the merge of
elementary in EFL tree...

@fix
2017-09-26 17:58:07 +09:00
Sungtaek Hong ebff5e8639 elm_bg: rename elm_bg to Efl.Ui.Bg
Summary:
elm_bg was supposed to be used only in legacy,
but since we need a common object to be used as a background of widgets,
it is now renamed as efl_ui_bg and supports EO APIs.

Reviewers: cedric, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D5147
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 8557fe818f input: Move pointer props to Canvas
efl_input_pointer_position is defined by two classes... bad!

Fixes T6066
2017-09-26 17:58:07 +09:00
Lukasz Stanislawski b3ffd78237 elm: rename Elm.Interface.Atspi.Text => Efl.Access.Text
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5167
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre c9f51e450b widget: Fix translation of default text parts
Note: fileselector uses this translation API

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 5f96c6fb4b widget: Remove domain_part_text_translatable from EO
This removes the last remaining legacy-style part API from Widget.
I think this is redundant with the property "translatable_text"
introduced in Efl.Ui.Translatable.

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre e9dfcb44ff widget: Implement translation API in layout
This moves the API entry points from Widget to Layout parts. I don't
think the other widgets support translation, but that is easy to fix.
The actual code implementation remains in elm_widget.c.

Legacy-only widgets are covered by Part_Legacy, while all EO widgets
that have text inherit from Layout (except Win but I don't think the
window title was translatable in legacy).

This removes 2/3 remaining part APIs from Widget.

Ref T5363
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 839c4ed395 elm: Introduce interface Efl.Ui.Translatable
This will be used to replace the part translation API in Elm.Widget. It
should work for both parts and non-parts (ie. the main text of a button,
for instance).

For now I'm taking the following approach:
 - All efl_text_set/get strings are untranslatable, i.e. get() returns
   the visible string, set replaces and can not be translated.
 - translatable_text_set/get needs to be used to enable automatic
   translation, which in turns calls efl_text_set to modify the visible
   string. Thus, translatable applications will have to use
   efl_ui_translatable_text_set a lot more than efl_text_set, unless
   they translate strings application-side.

Note that some other frameworks take a simpler approach equivalent to
calling efl_text_set() with an already translated text. This prevents
runtime language changes of the application, unless the application
handles them specifically.
2017-09-26 17:58:07 +09:00
Jean-Philippe Andre 2b7f9b6dfd widget: Add tiny doc for Efl.Ui.Widget.Part 2017-09-26 17:58:07 +09:00
Carsten Haitzler d567faa778 Fix infinite recursion for legacy + efl ui win events 2017-09-26 16:44:45 +09:00
Daniel Zaoui abc075aeb3 Fix crash when an application wants to get the popup item class
Since elm_popup_item.eo.h is only included in elc_popup.h, the EAPI is
not well defined, resulting in a crash when, in a simple C file, the
item class is tried to be accessed.
By including the H file in elc_popup_eo.h, we make it public (as the
other item classes) and solve the EAPI issue.

Thanks @jpeg for helping me to solve this issue.
2017-09-26 10:16:44 +03:00
Cedric BAIL fdc92ca868 elementary: provide a new initialization macro that support lifecycle.
EFL_MAIN_EX require efl_main, efl_resume, efl_pause and efl_terminate
to be working. Quicklaunch support added too.
2017-09-25 15:51:19 -07:00
Cedric BAIL 596dba5fe5 elementary: provide and implement lifecycle event on the window.
pause event means that the window is not visible anymore to any user.
resume is triggered when the window became visible again or just
became visible again.
2017-09-25 15:48:53 -07:00
Daniel Hirt ad3199ffc8 Ui text: use proper Efl.Text API to set text
Fixes error message during initialization.
2017-09-25 12:51:49 +03:00
Daniel Hirt f5560cb511 Ui text: use eina_value_get and not eina_value_pget
CID 1381328
2017-09-25 12:51:49 +03:00
Carsten Haitzler 2dac4a4efe elm hoversel - fix alignment in ephoto
fixes T6078

@fix
2017-09-25 18:23:04 +09:00
Jean-Philippe Andre 64eef9b223 inwin: Fix oopsie in previous commit
Bad push! >_<
2017-09-25 14:02:43 +09:00
Jean-Philippe Andre 2e36535190 inwin: Fix inwin (default content set/get/unset)
Thanks @JackDanielZ for the report!
This makes efl_content_set/get/unset APIs work on the inwin, even though
this is a legacy-only widget (at least right now).
2017-09-25 11:30:28 +09:00
Jean-Philippe Andre f76569a8b1 layout: Remove default content implementation
Legacy API is supposed to resolve the default content part name before
calling the EO API. Efl.Ui.Layout itself doesn't handle default content.
2017-09-25 11:20:49 +09:00
Marcel Hollerbach a78ecf089c elm_hover: do not register itself
we are already registered as root in that manager
2017-09-23 22:34:08 +02:00
Marcel Hollerbach 884bf2d06b elm_widget: abort is probebly a bit too much 2017-09-23 22:34:08 +02:00
Daniel Kolesa 9009d3dae4 eolian: add any_value_ptr
Because pointer Eina_Values and value Eina_Values have slightly
different semantics (when it comes to resource management) it's
better to split them.
2017-09-22 20:25:31 +02:00
Daniel Kolesa 3d8081d085 eolian: rename generic_value to any_value 2017-09-22 20:16:06 +02:00
Daniel Kolesa f36e5bd543 eolian: add mstring
This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.
2017-09-22 17:10:42 +02:00
Daniel Kolesa fdd27cadf8 eo: make more freefuncs implicit 2017-09-22 16:17:19 +02:00
Vincent Torri 0cdd501246 EFL For WIN32: Replace HAVE_EVIL define with _WIN32 2017-09-22 05:06:10 -05:00
Andy Williams ad6a858aad elm_code: respect event hold for key_down 2017-09-21 12:24:51 +01:00
Jean-Philippe Andre 849813fb84 layout: Fix slider label using proper part type
This relies on the new edje API that gives us the exact type of a part.
This fixes the shortcomings of edje_edit_part_type_get() and returns a
proper Text part type for efl_part(slider, "elm.units.max").

See previous commits:
  "edje: Add part_type_get API"
  "elm: Split off text and content for efl_part"
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 2dbd704dae hover: Fix hover parts usage
The string comparison was invalid for full part names. It worked with
the aliases, by chance, not by design.

This got broken by eee60abbcf but using full part names from the
application side was already broken before that.

@fix
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 282928465c elm: Resolve part alias in legacy APIs only
This fixes make check.
2017-09-21 12:28:20 +09:00
Jean-Philippe Andre 112edeeea8 elm: Remove range "span_size" API in EO
Reasons:
 - This API has been confused with the min size of the widget, resulting
   in badly laid out applications.
 - The EO API was not very nice (Range is about numbers, the Gfx size
   hint in a part is really ugly).

While I understand the value of this API and how it can be used in
scalable applications, it is in fact not absolutely necessary.
Alternatively to that span size, the widget min size can already be
defined from the application side, or the widget can simply be expanded
to fill in its parent.

This can obviously be reinstated later if the need arises for EO. For
now, keep this feature as legacy-only.
2017-09-21 12:27:34 +09:00
Jean-Philippe Andre 28b387821d elm: Split off text and content for efl_part
This is VERY tricky.
For legacy, just create an internal class that has both. It's easier
this way. For parts that are handled by Layout directly, we know from
Edje which type to return.

For EO objects we should know from the part name which kind of part we
are dealing with:
 - text (overridden by the widget)
 - content (overridden by the widget)
 - special (new efl_part based functions)
 - generic (handled by Layout)

Note: Efl.Ui.Slider was handling "span size" on ALL parts. That's bad...
This is now limited to "span" only.
2017-09-21 12:27:34 +09:00
Jean-Philippe Andre 0339ad7740 elm: Move base implementation for efl_part in widget
This means that ALL part handles inherit from the base part class
Efl.Ui.Widget.Part. Layout is the only exception where Efl.Part is
specially overridden.

This is a first step towards generic part APIs, including background in
all widgets.
2017-09-21 12:27:33 +09:00
Daniel Hirt 1a854d892f Ui text: add Efl.Ui.Text_Async object
Adds "Efl.Ui.Text_Async" object.
This new widget uses the "async_layout" functionality of the underlying
Efl.Canvas.Text object.

Currently, if "editable" mode is enabled, there is no asynchronous
layout, as interactive operations (e.g. typing) should get processed
immediately. Thus, only "non-editable" instructs the text object to do
asynchronous layout.

@feature
2017-09-20 14:50:09 +03:00
Carsten Haitzler 2510f68ff3 efl ui layout - handle content unset properly and remove the unset item
the content unset in some cases - specifically terminology seems to
put the item back in and doesnt remove it... causing it later to be
deleted if unset to remove it and re-use it (which is rarely done).

@fix
2017-09-20 17:32:42 +09:00
Daniel Hirt acd1c409a0 Ui text: add null checks for anchor update
Add null checks in case item was not found.
Also use one more emoticon to test the provider.
2017-09-20 09:19:33 +03:00
Daniel Hirt d44131a3aa Edje: move selection-related part_text API to legacy 2017-09-20 09:19:33 +03:00
Jean-Philippe Andre 706cf9c488 elm: Fix invalid uses of Efl.Orientation
I think this closes the orientation vs. direction problem.
RTL vs. AnyRTL is not fully handled yet but this becomes a
widget-per-widget issue (eg. should a box in a RTL locale be mirrored if
set to horizontal?).

Fixes T5870
2017-09-19 18:53:35 +09:00
Sungtaek Hong 40e23ca459 efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE
Summary:
Tile is common type which can be used eg: background.
This is added to scale type which can be set/get by
efl_ui_image_scale_type_set/get()
@feature

Test Plan:
Run elementary test
           Run Image Scale Type
           Check radio "Tile".

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5119
2017-09-19 18:18:07 +09:00
Jeonghyun Yun cc691776f3 els_tooltip: Fix to use some functions before tooltip_test_set or tooltip_content_cb_set
Summary:
If user call tooltip_orient_set or tooltip_style_set or tooltip_window_mode_set
before tooltip_test_set or tooltip_content_cb_set, those functions doesn't work.
Because elm_tooltip will be created when tooltip_content_cb_set is called.
I fixed logic to use some functions before tooltip_test_set or tooltip_content_cb_set.

Test Plan: elementary_test -> Popups -> Tooltip

Reviewers: jpeg, Jaehyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5183
2017-09-19 17:05:15 +09:00
Sungtaek Hong 40be6c9582 elm_map: keep overlays list when showing overlays
Summary:
In elm_map_overlay_show and elm_map_overlays_show,
it frees overlays list members. This lists are used
in elm_map_overlay functions, so should remain.

Test Plan:
1. Run elementary_test -> Geographic -> Map
2. Click group overlay (whose text is "3") -> bubble appears
3. Click "Show" button -> observe no more Eina Magic Check Failure appear.

Reviewers: jpeg, cedric, woohyun

Differential Revision: https://phab.enlightenment.org/D5191
2017-09-19 16:37:00 +09:00
Carsten Haitzler 50487b4575 efl po files - fix LTR/RTL translation string to be correct for langs
also add the comment in the code for trsanslators

@fix
2017-09-19 16:09:21 +09:00
Lukasz Stanislawski fcbdea364e elm: rename Elm.Interface.Atspi_Action => Efl.Access.Action
Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5166
2017-09-19 11:36:28 +09:00