Commit Graph

2225 Commits

Author SHA1 Message Date
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