Commit Graph

53197 Commits

Author SHA1 Message Date
Marcel Hollerbach 073c72acce elm_scroller: migrate to new focus system
the scrollable interface is doing most of the work, if we know that
something is already focused we just leave the action_move.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 9b64e7316a elm_widget: evalulate show flag and call focus on super 2017-04-20 14:38:58 +02:00
Marcel Hollerbach dfceeb78c3 elm_menu: mirgrate to the new focus
this just means the menu is registering a new manager, it is not really
doing anything, its just there so the children which are searching for
one are finiding one. Elm menu has not handled anything with keys in the
past and will later learn to do so.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 1ecf648dd8 elm_hover: migrate to new focus system
the hover will set itself as redirect once it is visible. And unset
itself once it is hidden.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach ef8aed0385 efl_ui_win: migrate to the new focus system
this means, focus requests are redirected to the new focus manager.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 44e40c7c5e elm_interface_scrollable: use the submanager to register the children
this adds the registered elements at the broder of the scrollable to the
parents manager. scroller and gengrid works for registering
2017-04-20 14:38:58 +02:00
Marcel Hollerbach c203087d3b elm_box: set the correct order 2017-04-20 14:38:58 +02:00
Marcel Hollerbach f09dd5e3df efl_ui_focus_manager: allow settings of subsets
those subsets will just be prepended.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 5b3fd27931 efl_ui_focus_manager: handle logical end correctly. 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 6245e5a579 efl_ui_focus_manager: fix error message 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 13982b2bd9 efl_ui_focus_manager: return the new candidate 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5c7006579 efl_ui_focus_manager: handle redirect objects in logical better 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 200ad8ab50 efl_ui_focus_manager: be more secure 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 924033e88a efl_ui_focus_manager: fix sub manager logical handling 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a4616bb6fe efl_ui_focus_manager: better error messages 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 09824ec450 efl_ui_focus_manager_sub: focus the item in sub and main manager 2017-04-20 14:38:57 +02:00
Marcel Hollerbach d4bd5c9961 efl_ui_focus_manager: add log domain for focus movements 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 89cc2ca06a efl_ui_focus_manager: restructure node struct
a redirect can happen for logical OR normal
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0c1c2711f3 efl_ui_focus_manager: more debug information 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6d1df04f24 efl_ui_focus_manager: do not depend on elm widget events 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 54145f488b efl_ui_focus_manager: unset redirect when focusing new item 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1424875f0a efl_ui_focus_manager: make next and prev searching deadlock prove 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 8a216da3bb efl_ui_focus_manager: unset redirect when destroyed 2017-04-20 14:38:57 +02:00
Marcel Hollerbach be251b0496 efl_ui_focus_manager: allow flushing of one single node
this gives a massive performance boost
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0df0d9d358 efl_ui_focus_manager_sub: register the forwared itself 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0f2657983f efl_ui_focus_manager: handle redirect managers in a better way 2017-04-20 14:38:57 +02:00
Marcel Hollerbach b53f3edd15 elm_widget: update focus register work
now it trackes changes of the parent manager. And registers more
reliable.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 67a697fedd efl_ui_focus_manager: fix up tracking and returning of data
a logical parent should not be in the border elements. The child should
also be not deleted itself. If we do so correct deletion could fail.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach d0859212a2 tests: update to recent changes 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 669db4841a efl_ui_focus_manager_sub: update to recenent changes 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 7eb1df349c efl_ui_focus_manager_sub: register children correctly 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 4932ec5f63 elm_widget: add logical parent to interface
and evaluate all values correctly and emit the correct events
2017-04-20 14:38:57 +02:00
Marcel Hollerbach e614c96466 elm_widget: make sure we dont have a destructed logical parent 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6264eb64e4 efl_ui_focus_manager_sub: register the root as logical 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f6aefb2d88 efl_ui_focus_manager: a logical item should never get focus. 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5868fc819 efl_ui_focus_manager: use data iterator not key iterator
this saves one call to node_get
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 37ce83cc04 elm_widget: enhance focus handling of the widget
widgets will now use there widget parent as logical parent.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1f8e6dcb37 elm_widget: add debugging informations for a manager in a widget 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f2248410b2 efl_ui_focus_manager: new api for adding a logical widget
a widget which is registered logically will not be used for right left
top or down relations.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 9aa7c63b2f efl_ui_win: make it a focus manager
Added a focusmanager with the window itself as the root.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 97265254e6 elm_widget: make it a efl_ui_focus_object
it will register based on it can_focus flag
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0eefeca64b efl_ui_focus_manager: add new api to receive child configuration 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 78e7891029 focus: fix compilation
it seems like eolian changed, so i need to import the eina_types
2017-04-20 14:38:57 +02:00
Marcel Hollerbach b75b5f4c05 managersub: remove the select_set call
this can be done directly be inheriting border_elements and cutting down
the set.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach ef3f302a65 focus: update documentation on all eo files
we should now have a complete documentation of those eo files
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 357715f091 focus: update object definition
the event is now a bit better, since you only need to subscribe to one
event instead of two, the new state is passed in the event.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 01f46ae205 efl_ui: introduce a focus manager and sub manager object
The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
2017-04-20 14:38:57 +02:00
Jeeyong Um 2cd1326c8d edje_cc: Keep script block during group inheritance
Currently, script block is removed when an edje group inherits from other group
after defining its own script block.
  group { "somegroup";
    script {
       ...
    }
    parts {
       ...
    }
    inherit: "othergroup"; // <= previous script block is removed here.
  }

If parent group doesn't have script block, it doesn't need to overwrite previous
one. This will keep script block and print warning when script block is overwritten.
2017-04-20 21:09:59 +09:00
Jean-Philippe Andre 331bf9f746 elm_image: Fix file_set when preload is disabled
If we disable preload, then the second file set on an elm_image
object would not trigger a deletion of the first image. As a
consequence, both images would be visible... really bad if there's
alpha or different dimensions!

Thanks Anand Kumar for the report!

@fix
2017-04-20 18:54:59 +09:00
Jean-Philippe Andre bcf3ce8428 examples: Fix most trivial warnings
This fixes all warnings for "make examples" for:
 -Wunused-parameter
 -Wshadow
 -Wformat-security
 -Wenum-conversion

Some remaining warnings include:
 -Wdeprecated-delcarations
2017-04-20 17:44:57 +09:00