Commit Graph

3126 Commits

Author SHA1 Message Date
Jaehyun Cho 6c65b6368a efl_ui_navigation_bar: Add Efl.Ui.Navigation_Bar class
Efl.Ui.Navigation_Bar is a widget which provides a bar form useful for
navigation.
2018-04-19 23:40:06 +09:00
Jaehyun Cho 7e8722be00 efl_ui_navigation_layout: Add Efl.Ui.Navigation_Layout class
Efl.Ui.Navigation_Layout is a widget which provides a layout form useful
for navigation.
2018-04-19 23:40:01 +09:00
Jaehyun Cho ab4fa83f62 efl_ui_stack: Add Efl.Ui.Stack class
Efl.Ui.Stack is a container arranges objects in stack structure by
pushing and popping them.
2018-04-19 23:39:57 +09:00
Woochan Lee 939690a8a9 Revert Efl.Ui.Multibuttonentry to create new one.
Summary:
Revert e02b2f04c2945ad60fab5612af1e02b0838b7ff5.

I couldnt make a revert commit for many commit has been related with above commit.

I will create a new MBE eo class ASAP. (https://phab.enlightenment.org/T5358)

Reviewers: cedric, woohyun, Jaehyun_Cho, SanghyeonLee, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5954
2018-04-19 22:22:01 +09:00
Lauro Moura 15fcaaec69 elm: Move legacy genlist types to elm_general.
Summary: Fixes T6771

Reviewers: bu5hm4n, felipealmeida

Subscribers: q66, cedric

Maniphest Tasks: T6771

Differential Revision: https://phab.enlightenment.org/D5938
2018-04-18 19:03:19 +02:00
Derek Foreman 50a9b49acc elm_win: Don't do auto norender on non X11 engines
This only really makes sense on X11 and can lead to some seriously
confusing cases on other engines (*cough* wayland) when elm's idea
of iconified state doesn't match the compositor's.

While currently only X11 is whitelisted, other backends can be
added, though I suspect most are more like wayland where it makes
no sense at all.

ref T6834
2018-04-18 09:15:39 -05:00
YeongJong Lee 2c8c7807f1 config: fix Efl.Ui.Slider key binding
Summary: this fixes T6796

Test Plan: elemetary_test -to slider

Reviewers: woohyun, Hermet, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Maniphest Tasks: T6796

Differential Revision: https://phab.enlightenment.org/D5962
2018-04-18 15:34:35 +09:00
Daniel Kolesa fcae7cab27 eolian gen: enable constness generation on property getter impls
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.

Ref T6859.
2018-04-17 20:31:55 +02:00
YeongJong Lee c943c4a2ff elm_dbus_menu: add missing const for Eina_List
Summary:
This fixes following warning

../src/lib/eina/eina_list.h:1421:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]

Test Plan: make

Reviewers: SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5952
2018-04-17 11:08:25 +09:00
Davide Andreoli 01a95d1f40 Revert "Genlist: restore old behaviour of item next/prev in group items"
This reverts commit f0a0da9f44.

As per T5938 seems we really want to restore a totally wrong
behaviour, without taking care of newer apps being broken.

I revert this for now, but I'm still convinced that we must
find a way to let user use a sane ordering for newer app.

I'm thinking about adding an api in genlist to let the widget
use the new sane ordering, something like
elm_genlist_fixed_ordering_set(bool) so that new apps can use
this to ensure correct behaviour. zmike what do you think about
this solution?
2018-04-17 00:11:11 +02:00
Wonki Kim d1ed913f85 elementary: Remove unreachable code lines
Summary: This patch removes unreacahble code lines

Reviewers: cedric, woohyun, eagleeye

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-04-16 11:21:21 -07:00
SangHyeon Lee 9c8ebc9dfc elm_menu, toolbar, ctxpopup : remove unnecesary interface efl_ui_item and efl_ui_menu
Summary:
Legacy menu toolbar and ctxpopup are not new efl interface widget,
but it have efl interfaces, efl_ui_item and efl_ui_menu.
if we plan to implement this two, it should be a class not a interface,
so I remove it on legacy widget.

Subscribers: cedric

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-04-16 11:03:02 -07:00
YeongJong Lee ffbbf7b7d6 elm_list: check there is focused item when list get focus at first
Summary:
list have got focus. but there isn't logic to check whether focused_item exist.
we need that logic for list focus
this fixes T6807, T6799

Test Plan: elementary_test -to 'list focus'

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6807, T6799

Differential Revision: https://phab.enlightenment.org/D5935
2018-04-15 11:52:34 +02:00
Davide Andreoli f0a0da9f44 Genlist: restore old behaviour of item next/prev in group items
Commit fd82c2521 has changed the behaviour of item_next/prev_get()
in case of genlist with group items (not tree).

The lagacy behaviour was to tread normal items and group items
in a flat way, like if group items was on the same level of
the children normal items.

As the commit already implement bug compatibility, seems to me
the case to restore also this case. Note that this changes only
apply to legacy genlist (I think).

Let me know if this broke something for you...as touching genlist
code is always an "I hope this is right" operation.
2018-04-13 20:37:36 +02:00
Carsten Haitzler 703277b242 efl selection manager - fix x11 cnp from entry to plain text conversion
use sel data not input data/size... copy & paste fix problem...
fixes 28d06f9a5f
@fix
2018-04-13 23:28:21 +09:00
Derek Foreman e066e574cb Revert "elm entry - fix wayland bug by not updating selection until after mse up"
Summary:
This reverts commit b0a7c4b086.

This is adding another EFL bug to work around an EFL bug.

Reviewers: raster

Subscribers: devilhorns, stefan_schmidt, bu5hm4n, thiepha, cedric

Differential Revision: https://phab.enlightenment.org/D5933
2018-04-13 20:50:24 +09:00
Carsten Haitzler eab91edcb2 efl selection manager - fix dnd end handling to only handle on dnd
dnd end handling was being done even if no dnd started, like an
ungrab. this caused side effects like stoping selections in their
tracks.

@fix
2018-04-13 20:50:24 +09:00
Marcel Hollerbach 803fddea5d efl_ui_focus_manager_calc: do not redirect requested calls
this is not documented and does not make sense.
2018-04-13 11:07:34 +02:00
Marcel Hollerbach 9d5a9cf2e1 efl_ui_focus_util: add helper for getting the highest manager objekt 2018-04-13 11:07:34 +02:00
YeongJong Lee 35e7b36411 efl_ui_focus_manager_calc: a node from focus_stack is always normal node.
Summary:
focus_stack can't store logical node. we don't need to check a node from
focus_stack is not normal.
see line 1613

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5927
2018-04-13 11:07:34 +02:00
YeongJong Lee 4841165530 efl_ui_focus_manager_calc: remove needless check for normal node
Summary:
a node in focus stack is always normal node. we don't need to check whether
node is normal.

see also, 97ec48434f

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5930
2018-04-13 11:07:34 +02:00
YeongJong Lee 1d182a44f3 efl_ui_win: add "focused" and "unfocused" signals emission
Summary:
Win is root of focus manager. it means Win is logical node and "focused" and
"unfocused" signals in Win aren't handled by focus manager.
Win needs to emit the signals itself.

Reported by eagleeye, jsuya

Test Plan:
1. elementary_test -to 'window states'
2. Check that "WIN FOCUS: focused" and "WIN FOCUS: unfocused" printed.

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: jsuya, cedric, eagleeye

Differential Revision: https://phab.enlightenment.org/D5931
2018-04-13 11:07:34 +02:00
Marcel Hollerbach 01272c71d0 efl_ui_focus_manager: make request_move more powerfull
it turns out that it is useful and needed (for future patches) to
request moves for nodes that are not focused currently. It is also
needed to request a move that might end up in a logical node.
2018-04-13 11:07:33 +02:00
Marcel Hollerbach 32e17ecdc2 efl_ui_focus_manager_calc: only call next when the node is unexpected
ref T6793
2018-04-13 11:07:33 +02:00
Derek Foreman 2ad9b80517 efl_ui_win: Always show the wayland pointer
It's hidden by the compositor as required, so this just makes life much
more complicated in other code.

ref T6834
2018-04-12 15:59:39 -05:00
Carsten Haitzler b0a7c4b086 elm entry - fix wayland bug by not updating selection until after mse up
or update with a small delay after any change and check mouse button
mask to avoid some bizarre mouse up event that is stopping the
selection form continuing with a mouse up event... so this works
around that and still works.
2018-04-13 04:19:16 +09:00
Carsten Haitzler 28d06f9a5f efl selection - fix another binary buffer treates as string bug
as per subject.

@fix
2018-04-13 04:19:16 +09:00
Carsten Haitzler 13734e51c1 efl selection - fix entry <-> plain text compy and paste in wl
efl didnt convert markup to plain text when pasting markup -> text.
this fixes that and enables middle mouse paste etc. etc.

@fix
2018-04-13 04:19:16 +09:00
Carsten Haitzler 9d6ac24a9c efl selection manager - fix anoyther binary buffer treated as string bug
yet another "binary buffer" (pointer + size) streated as a string with
strdup + strlen which is oh so wrong. this fixes up some cnp in
wayland with garbage at the end of strings

@fix
2018-04-13 04:19:16 +09:00
Carsten Haitzler 59f3dbdd34 efl selection manager - fix crashes when doing selections on non-x11
elm was calling x calls when on wayland here... because it didnt check
the RUNTIME display system type for the window, relying on ifdefs
instead.

@fix
2018-04-13 04:19:16 +09:00
YeongJong Lee 4793398759 efl_ui_frame: remove dulicated _content_aliases
Summary:
Frame inherits from layout. it can use same _content_aliases of Layout

ref 3114ee264b

Reviewers: Jaehyun_Cho, woohyun, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5929
2018-04-12 22:11:39 +09:00
Marcel Hollerbach 253430ab76 efl_ui_focus_manager_calc: call next after requesting a subchild
requesting subchild for subchild is not a good idea, as it really only
fetches for a subchild, and never calls next and escapes the children of
the passed node.

fix T6793
2018-04-11 17:16:34 +02:00
Chris Michael b5c9742cb7 efl_ui_focus: Add missing EINA_UNUSED for unused function parameters 2018-04-11 10:11:20 -04:00
Marcel Hollerbach eef0c5164a elc_popup: no need to make them focusable
if they have content the content will be focusable, if there is no
content the rect of root_focus will be focused instead.
2018-04-11 10:36:24 +02:00
Marcel Hollerbach f4b70fc6cd efl_ui_focus_manager_root_focus: maintain focus state over state eval
the rect is unregistered and registered again, if it was focused, still
focus it.
2018-04-11 10:33:19 +02:00
Woochan Lee 0088189eee elementary: add new config value to handle tap finger size.
Summary:
The tap_finger_size value of the concept is different from the finger_size value used in the past.

We need a minimum value for recognize the gesture as a tap or not.

Since the actual screen has different screen sizes, there is a problem that the recognition rate of tap is lowered when using the existing value(finger_size)

Test Plan: elementary_test -> gesture sample.

Reviewers: cedric, woohyun, Jaehyun_Cho, herb, id213sin

Subscribers: cedric

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-04-09 10:36:43 -07:00
Marcel Hollerbach 78f4babbb5 efl_ui_focus_object:
make the prepare call safe to recursive calls. There is no need to
prepare a item again if it is already in prepare.
2018-04-09 18:27:45 +02:00
Marcel Hollerbach e70bf4e231 efl_ui_focus_manager_root_focus: refactor _state_eval
Summary:
we have to check whether all of descendant are none_logical.

this fixes T6800

Test Plan:
1. elementary_test -to ctxpopup
2. Click 'Ctxpopup with user content'
3. Try focus ctxpopup content(button) using arrow key.
4. Check that the content is focused (you can move scroll bar)

Reviewers: bu5hm4n

Subscribers: raster, cedric

Maniphest Tasks: T6800

Differential Revision: https://phab.enlightenment.org/D5856
2018-04-09 18:27:09 +02:00
Marcel Hollerbach 84ad5d9fe3 introduce efl_ui_focus_manager_window_root
Which is a interface that indicates that this is the root of all focus
managers.
2018-04-09 18:05:27 +02:00
Marcel Hollerbach 33921385f9 efl_ui_focus_util: support later managers not beeing registered
this should fix some corner cases when setting focus by hand
2018-04-09 18:05:27 +02:00
Marcel Hollerbach 59828721d8 efl_ui_focus_layer: return the registered focus manager when active
this fixes in chain setting for hovers and ctxpopups
2018-04-09 18:05:27 +02:00
Marcel Hollerbach 39af0ebde0 elm_hoversel: make the keyevent handlers work again
i am not sure when this stopped working, elm hover sends focus to the
children it has, thus the propergation line for the key down events is
going from the hover up accross the over parent, however, the
hoverparent can be different to the hoversel, which would lead to
missing navigation in the hoversel.

this fixes T6802
2018-04-09 18:05:27 +02:00
Carsten Haitzler e29102e134 Revert "efl_ui_focus_manager_root_focus: refactor _state_eval"
This reverts commit c6ce04e48f.

OK. I bisected and found that this is ythe root cause for 2 pretty
chunky bugs. Reverting this fixes T6870 and fixes T6871.

so that's 2 segvs in existing uses and even olne (elm config) ships
with efl. Having a look at the diff doesn't jump out what is wrong
here, but the best course IMHO is to take this patch and put it back
into review again... :)
2018-04-07 16:42:51 +09:00
Cedric Bail 14b9a674ac elementary: in case of an object being destroyed, there is no point to warn. 2018-04-06 11:32:00 -07:00
YeongJong Lee 3114ee264b efl_part: remove duplicated text_aliases code
Summary: this widgets inherit from Layout. they can use same text_aliases of Layout.

Reviewers: Jaehyun_Cho, woohyun

Subscribers: herb, cedric

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

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:10:08 -07:00
YeongJong Lee 0e035b2e22 elm_inwin: use macro for content set/get/unset
Summary: also, content_aliases is not necessary. it can use Layout's content_aliases.

Test Plan:
elementary_test -to inwin
elementary_test -to inwin2
elementary_test -to inwin3

Reviewers: Jaehyun_Cho, woohyun

Subscribers: herb, cedric

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

Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
2018-04-06 10:08:52 -07:00
Alastair Poole 10fb87bbcd efl_selection_manager: fix build on MacOS and WL2. 2018-04-06 16:11:41 +01:00
Carsten Haitzler fcd7c3097c elm - selection manager - fix string buffer handling and format types
this has 2 bugs really. 1 - the format masks for plain text included
markup which ... is wrong - right? that should have a mime type of its
own... either way it leads to plain text pasts being handled wrong in
wayland... so this fixes that

also the string buffers in wayland just were nothandled right. buffers
were raw binary buffers plus size,not strings, but they were strdup'd
etc. assuming nul termination. oh so wrong to do that. this also fixes
that as i fpound it while fixing the above format bug.

this fixes T6284

@fix
2018-04-05 21:17:22 +09:00
Shinwoo Kim 3cd2243028 Fix static analysis result
[Dereference after null check]

(1) src/lib/ecore/ecore_main.c
 - _efl_loop_handler_efl_object_finalize checks if pd->loop_data is NULL.
   After that, _handler_reset > _handler_clear > _ecore_main_fd_handler_del >
   _ecore_main_fdh_pool_del is directly dereferencing pd->pool_data.
 - _efl_loop_handler_efl_object_parent_set checks if pd->loop_data as well.
   Then it calls _handler_reset as well.

(2) src/lib/ecore_wayland/ecore_wl_dnd.c
  - ecore_wl_dnd_selection_set checks if t - result of wl_array_add - is NULL.
    And it is dereferecing t directly for wl_data_source_offer.

(3) src/lib/elementary/efl_ui_dnd.c
 - Third parameter const char *data could be NULL.
   In this case strlen dereferences NULL. The data should be non NULL value.
   I have checked this with Mr. Thiep Ha.

(4) src/lib/evas/canvas/evas_object_inform.c
 - _efl_canvas_object_efl_gfx_stack_stack_below checks if obj->layer is NULL.
   So it could call evas_object_inform_call_call_restack which is dereferencing
   obj->layer directly.
2018-04-05 19:40:57 +09:00
Carsten Haitzler 2105bc4fb1 efl selection manager - build again if no wl or no x is enabled
so make check and my builds passed because i have wl and x enabled. if
one of these isnt then this build will fail. my fix fails. this fixes
that.
2018-04-05 19:16:16 +09:00
Carsten Haitzler 37ff19c80e elm - fix selection debug print to not print unterminated buffers
so it's printfing a non-0 byte terminated string ... it's a
buffer/slice which has explicit lenmgth and no nul, so fwrite it
approplriately.
2018-04-05 18:52:57 +09:00
Carsten Haitzler d009a231e9 efl selection manager - handle multi window selections properly
tell other windows they lost their selections correctly if you have
multiple windows within the same process. this fixes multi-window mode
in terminology.

@fix
2018-04-05 18:52:57 +09:00
Carsten Haitzler 468d55e284 efl selection - fix paste with multiple windows and filter by window
so changes in elm cnp (efl selection) broke cnp with terminology
multi-window mode. this fixes it.

@fix
2018-04-05 18:52:57 +09:00
Carsten Haitzler cffb31f4a7 elm config - dont leak config if re-loading it again later on
delete config object and so on before the relaod
2018-04-05 18:52:57 +09:00
Carsten Haitzler 08dc189053 elm win - change parent to only use win parents in efl win struct as parent 2018-04-05 18:52:57 +09:00
Mike Blumenkrantz 7bf389f3a7 elm: remove hacky calls to emotion_init/shutdown
these are irrelevant since emotion manages init/shutdown internally

fixes elm test pass state

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:27 +02:00
Derek Foreman 2ec16fbf32 elm_win: Improve wayland cursor change race
When changing cursors under wayland sometimes we'll see the old cursor
moved to the new hotspot briefly before the cursor changes.  This makes
that suck less often.

A proper fix would involve creating a new wayland surface for every
cursor change (actual change, not just a new frame of an animated
cursor).  Given the current internals this is invasive.  Do the
easy thing for now.
2018-04-04 15:31:05 -05:00
YeongJong Lee c6ce04e48f efl_ui_focus_manager_root_focus: refactor _state_eval
Summary:
we have to check whether all of descendant are none_logical.

ref T6800

Test Plan:
1. elementary_test -to ctxpopup
2. Click 'Ctxpopup with user content'
3. Try focus ctxpopup content(button) using arrow key.
4. Check that the content is focused (you can move scroll bar)

Reviewers: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6800

Differential Revision: https://phab.enlightenment.org/D5856
2018-04-04 19:52:46 +02:00
Derek Foreman 63c96df0d4 elm_win: Remove unused variable
hot_obj is unused
2018-04-04 11:16:32 -05:00
SangHyeon Lee ae8df9ba07 efl_ui_view_list : change the name of Model based list
Summary:
model based list need to be under the namespace of 'Efl.Ui.View".
thus, I renamed 'Efl.Ui.List' to 'Efl.Ui.View.List' properly.

Test Plan: N/A

Reviewers: cedric, felipealmeida

Differential Revision: https://phab.enlightenment.org/D5855
2018-04-04 19:13:41 +09:00
Marcel Hollerbach 39739ba333 efl_ui_focus_manager_calc: node depth is 0 for a NULL object 2018-04-04 10:11:22 +02:00
Marcel Hollerbach 7fe52c55cf efl_ui_focus_manager_calc: fix infinite loop in _request_subchild
When the subchild where we request subchilds from was regular, the while
loop would have run infinitly. This is now fixed by at least calling
once _next, the check to not run outside the node is now done with
calculating the depth of the nodes.
2018-04-03 14:08:28 +02:00
Marcel Hollerbach 36d9fdc770 elm_toolbar: use the correct flag to detect wether a item is visible
fix T6806
2018-04-03 14:08:28 +02:00
Marcel Hollerbach 03efb59da9 elm_entry: use a normal calc manager instead of the root focus
fix T6795
2018-04-03 14:08:28 +02:00
Carsten Haitzler 2fb5cc3ad0 efl_add_ref - fis to use efl_add properly with a parent.
fixes bc18b7e7ad and
168849e8a0
2018-03-29 13:30:55 +09:00
Andy Williams cc2b7a10a8 elm_code: Remove a render test and complex workarounds required
Fixes issues with Windows and general unused method warnings
2018-03-28 17:30:17 +01:00
Andy Williams 3b60da0e37 elm_code: Fix line selection with leading tabs 2018-03-28 16:47:55 +01:00
Marcel Hollerbach 28201f32a6 efl_ui_focus_manager_calc: do not crash for the case of a invalid child 2018-03-28 10:48:01 +02:00
Marcel Hollerbach 8fa22f2ab7 elm_config: add new infra for reloading config into the widget tree
fix T6792
2018-03-28 10:48:01 +02:00
Marcel Hollerbach e40f25b67e efl_interface_scrollable: call constructor at first
other calls could lead to a geometry_get call, which will crash if the
constructor of the canvas_object is not called yet.
2018-03-28 10:48:01 +02:00
Marcel Hollerbach b23c2b34e3 efl_ui_focus_manager: NULL out fields correctly 2018-03-28 10:48:01 +02:00
Marcel Hollerbach ca2461c280 efl_ui_focus_manager: move cleanup into one place
ref T6793
2018-03-28 10:48:01 +02:00
Cedric BAIL cd8952cc6c efl_ui_win: match return value to function type in elm_win_window_id_get
ref 08c9f99134

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 4c4177ac20 efl: use efl_add_ref to create objects which have no parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:56 -07:00
Woochan Lee 008d990181 efl_ui_clock: Fix wrong target to compare with.
Summary:
It breaks API action.

It missed when implement efl_ui_clock i think.

@fix

Test Plan: elementary_test -> efl_ui_clock sample.

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5826
2018-03-20 21:09:30 +09:00
Cedric Bail 08c9f99134 elementary: make sure windows are not born orfan and properly have at least a main loop as parent. 2018-03-19 15:39:14 -07:00
Cedric Bail 1fcb33f422 elementary: make global object lifecycle depends on the main loop. 2018-03-19 15:38:26 -07:00
Marcel Hollerbach 432deb1129 efl_ui_focus_manager_root_focus: switch to focus adapter 2018-03-15 15:39:12 +01:00
Marcel Hollerbach c8ba7a070f efl_ui_focus_manager_calc: set redirect before setting focus
settings the redirect might result in unfocus calls, that might unset
evas_object_focus on a object that might be registered in two managers
due to border linking. This fixes mysterical disapearing focus.
2018-03-15 15:39:12 +01:00
Marcel Hollerbach 875a7eb0da efl_ui_focus_manager_calc: do not set focus on a deletion manager
otherwise objects might already be on the way out, without a elementary
parent.
2018-03-15 15:39:12 +01:00
Marcel Hollerbach 8746c275f5 elm_interface_scrollable: make sure to have the content always focusable 2018-03-15 15:39:12 +01:00
Marcel Hollerbach 1d3209a9ec elm_widget_item_static_focus: move canvas_object_set to later
We dont delete the adapeter when we are still focused, to set anyway the
correct view to it, we need to set the view to the adapeter as often as
possible
2018-03-15 15:39:12 +01:00
Marcel Hollerbach 02a062ba67 elm_genlist: support immidiate focus once the item is realized
this supports the case of item.focus = true before the item is realized.
2018-03-15 15:39:12 +01:00
Marcel Hollerbach be3cfcec66 elm_genlist: move focus recovering to first_touch instead of
focus_update

this means that the function is called more reliable, and not only based
on focus state, but also based on the redirect situation.
2018-03-15 15:39:12 +01:00
Marcel Hollerbach 844854d3e8 efl_ui_focus_manager_calc: add onedirection to dirty 2018-03-15 15:39:12 +01:00
Marcel Hollerbach 7d2d6c7e1d elm_genlist: performe elm_item_focus_set
this means all neccessary fields with last focus and current focused
item are updated correctly
2018-03-15 15:39:12 +01:00
Marcel Hollerbach df55911967 efl_ui_focus_composition: redirect canvas move events to the adapter
otherwise a moving canvas object will not be recalculated, as the
manager does not know about the new focus geometry
2018-03-15 15:39:12 +01:00
Marcel Hollerbach b7a5a9298d elm_widget_item_static_focus: fix fetching of the item 2018-03-15 15:39:12 +01:00
Marcel Hollerbach 0b1d67e793 elm_widget_item_static_focus: delete adapter when deleted or unrealized
somehow genlist leaks the view sometimes, thus the adapter is not
deleted when the item is deleted. This resulted in strange ghost focus
objects in the window.
2018-03-15 15:39:12 +01:00
Marcel Hollerbach e5af7c914a elm_genlist: set focus to the item when a user calls the function 2018-03-15 15:39:12 +01:00
Marcel Hollerbach 8410659bb6 elm_genlist: set focus to the item when a user calls the function 2018-03-15 15:39:12 +01:00
Marcel Hollerbach 44a3e2b7c4 efl_ui_focus_manager_sub: flush the border if we cannot find a candidate
after that someone probebly wants to check where the last focus was on,
if the set of boder elements has changed since the last border flush, then the
element might not be registered in the parent manager
2018-03-15 15:39:12 +01:00
Jean-Philippe Andre fd82c2521e genlist: fix "insane" order [BUG COMPATIBILITY]
This patch implements bug compatibility.

genlist internally uses both a tree structure with Eina_List and a flat
Eina_Inlist to track its items. ALL of the items are in the inlist while
subitems appear in their parent's list. As a consequence both lists must
be kept in sync pretty tightly. Obviously this is not done at all and
has led to countless bugs, as soon as tree or groups are used:
 - Invalid order of items (visually)
 - Invalid order of items with sorted_insert
 - Glitches in the matrix
 - Crashes with sorted_insert
 - Odd/even styles not properly set
 - Promote/demote functions broken by design
 - Developers send to psychiatric hospitals
 - Etc...

Legacy genlist (1.19 and before) used an inlist order that basically
didn't make sense, as it didn't follow the logical order of elements (as
they appear visually). Unfortunately this has "worked" (really, that's a
huge stretch to use this word here) for a long time this way. As a
consequence, some applications (*cough* empc *cough*) have relied on
this order to implement "next album" or "previous album" where the
album title is a group node.

By changing the order of items in the inlist, this has broken the
assumptions made above, and ends up in cases that return NULL, leading
to SEGV. Sure, the app should have checked NULL, but that's not really
the point here. The behavior has been changed.

This patch implements "fixes" for the following functions:
 - elm_genlist_first_item_get(): Don't return a parent
 - elm_genlist_last_item_get(): Return a parent
 - elm_genlist_item_next_get(): return a parent upon reaching the last child
 - elm_genlist_item_prev_get(): return a child when a parent is passed

Important notes:
 - This does not cover 100% behavior compatibility here. The only way to
   have it would be to simply revert the entire genlist code to its
   original version and never touch it again, ever.
 - An explicit API is required for an application to specify which API
   level it targets, so that we can cherry-pick which bug compatibility
   features we want to enable. We are already doing this for EDC,
   unfortunately.

@fix

fix T5938

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-03-13 15:15:01 -07:00
Cedric BAIL 7c2a1932c7 efl_ui_clock: do not locally store clock module api
there is no corresponding code to unset this global pointer when the module
is unloaded, so this will crash if elm_shutdown is ever called

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 067c9afa4e elm_gengrid: do not zero item cache if object is not finalized
this is a no-op case which causes unnecessary errors

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 0a6c302e9a elm_map: remove unnecessary error message in destructor
there is no check for the existence of this file so this will error most times
from it not existing

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 24db9f60be elm: call ecore_event_shutdown during elm_shutdown
ref 4e14ba3f48

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 14bbae9b23 efl_ui_win: do not trigger elm quit policy twice for same win
only check each policy for the case which should trigger it to avoid borking
main loop

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Cedric BAIL 5dcbda3137 efl_ui_win: track the finalize future for del to avoid crash
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-13 15:14:50 -07:00
Amitesh Singh 0dd8f97a8e doc: check - correct the ingroup name for legacy apis 2018-03-12 15:05:01 +09:00
Cedric Bail 6b1b3d25d6 elementary: fix backward compatibility bug introduced by 9c8749b99a. 2018-03-07 09:34:49 -08:00
Marcel Hollerbach 253680f754 efl_ui_focus_manager_calc: performe refocus after the node is deleted
if node is the last element, the element will be focused again, and
later deleted, without cleaning up the history
2018-03-07 19:27:12 +09:00
Minkyu Kang 98a36f37f3 elementary: entry - recover cursor position when theme is changed
Summary:
When theme is applied text is reset and cursor position is set to 0.
This patch is recover the position to previous after text is reset.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Reviewers: cedric, jpeg, woohyun, herdsman

Reviewed By: cedric

Subscribers: cedric, jpeg

Tags: #efl

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Youngbok Shin b147b5062f elementary: bg - keep file path and key string for legacy bg widget
Summary:
If a file path and key string was passed to elm_bg, we could get
the same file path and key string. Even if it failed to load the image file.
And the file path also remained its original form.
ex) Setting file path "~/image.png" => Getting file path "~/image.png"
                                       (Not "/home/user_name/image.png")

@fix

Test Plan: Included in elementary test suite.

Reviewers: jpeg, cedric, raster

Reviewed By: cedric

Subscribers: woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Jeonghyun Yun b63cdb6497 elementary: entry - fix to generate "activated" and "aborted" event in single line entry only
Summary:
"aborted": The escape key was pressed on a single line entry. (since 1.7)
"activated": The enter key was pressed on a single line entry.

Reviewers: id213sin, jpeg, cedric, herdsman

Subscribers: cedric, jpeg

Tags: #efl

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee eb865ab537 elementary: add missed type for legacy.
Summary:
We've been missed type of class name.

Add legacy class name to maintain compatibility.

@fix

Reviewers: jpeg, woohyun, Jaehyun_Cho

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee 533537c0f2 elemetary: spinner - free the longpress_timer when unfocused
Summary:
It needs to delete when widget unfocused.

@minkyu
Gets from tizen.
0bc1a19703dc204c8d347794bae0290006f4bde5

Reviewers: jpeg, Jaehyun_Cho, minkyu, cedric

Subscribers: minkyu, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Lauro Moura d78620e001 elm: fix location of legacy include for elm_code.
Summary:
Instead of including the legacy header on the main header, just include
it where it is actually used (diff_widget.c), like in elm_code_widget.c.

Test Plan: Try to compile edi with the tarball from `make dist`. It should not fail with elm_code related errors.

Reviewers: raster, stefan_schmidt, felipealmeida

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee 6b29613bbe efl_ui_multibuttonentry: maintainance legacy function type.
Summary:
I did it wrong.

The "Elm_Multibuttonentry_Format_Cb" should be maintain for legacy.

efl_ui_XXX has to use efl_format interface.

@fix

Test Plan: elementary_test->multibuttonentry sample.

Reviewers: cedric, woohyun, Jaehyun

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Amitesh Singh f5b0cd2b3b Efl.Ui.Slider: implement Efl.Ui.Range.range_step_set/get()
Also move elm_slider_step_set/get() as legacy APIs.
remove eo api step.set/get() as well since range intf
already implements it.
2018-03-06 16:25:41 +09:00
Vincent Torri 32b2102774 Elm_code test: fix compilation
Reviewers: cedric, raster

Differential Revision: https://phab.enlightenment.org/D5831
2018-03-04 21:41:34 +09:00
Carsten Haitzler 1bdd9e4dd1 ecore - a different take on efl.app class as a super class to efl.loop
so the MAIN loop is actually an efl.app object. which inherits from
efl.loop. the idea is that other loops in threads will not be efl.app
objects. thread on the creator side return an efl.thread object.
inside the thread, like the mainloop, there is now an efl.appthread
object that is for all non-main-loop threads.

every thread (main loop or child) when it spawns a thread is the
parent. there are i/o pipes from parnet to child and back. so parents
are generally expected to, if they want to talk to child thread, so
use the efl.io interfaces on efl.thread, and the main loop's elf.app
class allows you to talk to stdio back to the parent process like the
efl.appthread does the same using the efl.io interfaces to talk to its
parent app or appthread. it's symmetrical

no tests here - sure. i have been holding off on tests until things
settle. that's why i haven't done them yet. those will come back in a
subsequent commit

for really quick examples on using this see:

https://phab.enlightenment.org/F2983118
https://phab.enlightenment.org/F2983142

they are just my test code for this.

Please see this design document:

https://phab.enlightenment.org/w/efl-loops-threads/
2018-03-03 13:40:33 +09:00
Carsten Haitzler 1c74aaa7e9 Revert "cxx: Fix manual code after efl_app change."
This reverts commit 135154303b.

Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit 3dbca39f98.

Revert "efl: add test suite for efl_app"
This reverts commit 3e94be5d73.

Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit 28fe00b94e.

Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?

1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)

etc.
2018-03-03 13:40:33 +09:00
Carsten Haitzler ca93267670 Revert "theme: rename "default" theme to "dark""
This reverts commit d764e0b279.

The whole idea of renaming the default theme is an "api break" even if
config is changed. and symlinks don't work on windows as a solution.
(well on ntfs only as only as administrator, so they don't exist).

modifying config for switch from default to dark also will break the
case where someone put ~/.elementary/themes/default.edj there and it just
is different to the system one and how their theme changes on them as
it switches to dark.

basically we can't rename a theme like this mid-flight in efl. default is
default and has to stay that name. it can change the look, but not the
name.

i think the apparent reasoning behind this is not a good one. the work on
flat is temporary. i don't think we will ever maintain multiple "default
themes" as its just far too much work.

we can maintain color SCHEMES which are just a list of colorclasses and
colors for them - that's separate to a theme and would override. right now
these things don't exist. we are not going to create a dark.edj and a
light.edj just to store differing default colorclass values. we should be
doing the above with colorclass "color palette/scheme/whatever" files
that override those named colorclasses globally on init.

so reverting because this is an api break and we shouldn't break api
unless there is really absolutely no other choice.

here the choice is to just temporarily work in a branch and modify
default and then merge the branch when done.
2018-03-01 16:44:01 +09:00
Mike Blumenkrantz d764e0b279 theme: rename "default" theme to "dark"
this inhibits maintenance and development of multiple stock themes

a symlink is created to 'default.edj' to preserve compatibility
2018-02-28 16:02:39 -05:00
Mike Blumenkrantz 7f67f99111 elm: fix config upgrades for user profiles
loading the system profile only works if the current profile has the
same name as a system profile
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz bf7890c806 theme: add fallback matching when referenced theme is not found
if done properly, this should never occur, but at least find some
layout to use if one is available
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 07d0fb03db theme: introduce theme overlay/extension matching
after this commit, efl base themes should now specify:

data.item: "efl_theme_base" "theme_name";

and overlays/extensions which match a given theme should use:

data.item: "efl_theme_match" "theme_name";

this will cause overlays and extensions with the data.item to only
be loaded when the corresponding theme is in use. note that this
should not be specified for theme-independent overlays/extensions
as it will completely block loading of themes
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 7353fc1cb8 elm_theme: deduplicate theme apply code
the "default" style fallback code here was identical, so just call again
with "default" instead of copy and pasting the same code
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz fe0bd38f4c elm_theme: massively simplify internals
instead of maintaining separate lists for the file and the edje file,
maintain a single list of structs containing both of these

also dynamically manage a string list of files to preserve compat with
existing (bad) functions which return this directly
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz a0f7dd5aa9 elm: set default theme name internally when applying config
for whatever reason this is only generated in elm_theme_get(), so call
that whenever doing theme string parsing

@fix
2018-02-28 16:02:38 -05:00
Woochan Lee 9f63fac2d2 elm_datetime: Handle wrong param case for legacy.
Summary:
This wrapper didn't consider wrong param given case.

@fix

Test Plan: elementary_test -> elm_datetime sample.

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5825
2018-02-27 20:01:22 +09:00
Mike Blumenkrantz 50e6b8ff4c efl_ui: do not include evas gl header if legacy support is not requested
this will not build without legacy
2018-02-26 14:47:25 -05:00
Mike Blumenkrantz 28fe00b94e efl: create Efl.App class, the parent of Efl.Loop 2018-02-26 14:02:51 -05:00
YeongJong Lee 403c014bd2 efl.ui.progressbar: change signal name for icon/text
Summary: see also 73f8b3b78f

Test Plan:
1. elementary_test -to progressbar
and elementary_test -to efl.ui.progressbar
2. check that icon and text are visible

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5818
2018-02-26 21:22:26 +09:00
YeongJong Lee 160b6d202f elm_part: use TYPE _CLASS instead of MY_CLASS
Summary:
legacy part do not have MY_CLASS. if ELM_PART_OVERRIDE_PARTIAL is used for
legacy part, it call efl_super(non-legacy class).
we need super of TYPE _CLASS instead of MY_CLASS.

Test Plan:
WITH D5818
1. elementary_test -to progressbar
2. check that efl_part is working in _progressbar_part_value_set

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5819
2018-02-26 21:21:57 +09:00
YeongJong Lee 736de05ea7 efl.ui.check: change signal name for icon/text
Summary: see also 73f8b3b78f

Test Plan:
1. elementary_test -to check
2. check that icon is visible

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5816
2018-02-26 20:28:56 +09:00
YeongJong Lee e25bd086c5 efl.ui.radio: change signal name for icon/text
Summary: see also 73f8b3b78f

Test Plan:
1. elementary_test -to radio
2. check that icon is visible

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5815
2018-02-26 19:59:31 +09:00
Marcel Hollerbach 85ebb13abc elm_config: fixup copy paste error
when i did the vpath transition i made a copy and paste error, that
might made a few people miss theire config and appear weird directories
~/elementary.elementary/ in theire homedirectory, sorry for that!
2018-02-24 21:07:13 +01:00
Mike Blumenkrantz b851afcb13 elm_win: disable handling of auto_norender_withdrawn for fake wins
these wins are not to be trifled with.

fix T6377
2018-02-23 14:18:41 -05:00
Cedric Bail d57b9a7d14 eina: make eina_vpath_interface_app_set an internal function.
I am wondering if this one shouldn't even be a private one and
directly used by eina_prefix.
2018-02-22 15:26:28 -08:00
Marcel Hollerbach c4f33c67a8 move from efl.vpath to eina_vpath
The usages from efl.vpath are moved to to eina_vpath
2018-02-22 09:26:55 +01:00
Mike Blumenkrantz 8555a22972 elm_list: revert some accidental changes
ref f8e93775c0

fix T6712
2018-02-20 10:56:14 -05:00
Marcel Hollerbach d9ae0657e8 efl_ui_focus_manager: do not call on a NULL object 2018-02-20 16:48:42 +01:00
Marcel Hollerbach ea6a4e1a60 efl_ui_focus_manager_calc: unset manager to make touching sure
when there is only one object in a manager, and this object has a
redirect manager, then right now nothing will happen and nothing will be
called on the redirect manager.

With this patch the redirect manager will be unset when the manager
cannot give a correct candidate.
2018-02-20 16:48:42 +01:00
Yeongjong Lee e031867354 efl_ui_focus_manager_calc: fallback to use root if the focus stack is empty
Summary: this patch fixes T6664

Test Plan:
1. elementary_test -to focus
2. click Disable button
3. check whether you can move focus using key event.

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6664

Differential Revision: https://phab.enlightenment.org/D5813
2018-02-20 16:48:42 +01:00
YeongJong Lee f6777aa4ac efl_ui_focus_manager_calc: search redirect_entry if there is no candidate
Summary:
redirect is out of the focus stack. we need to find redirect_entry after last
node of redirect manager instead of focus stack.

Test Plan:
1. elementary_test -to focus
2. move focus using tab key
3. check that there is focus cycle

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5811
2018-02-20 16:48:42 +01:00
Marcel Hollerbach b0f989b699 elc_popup: revert changes that accidently sneaked in.
I must have done some ammend error ... sorry

thx daveMDS for spotting it!
2018-02-18 14:00:03 +01:00
Marcel Hollerbach 881fddc7a3 elm_config: save the backend string as stringshare
the string might be on the stack ...

The same as in the previous commit, that path was never really tested,
caused by the fact that the *none* engine was not even running
2018-02-17 21:17:59 +01:00
Marcel Hollerbach 8aa4df37c3 elm: fix test case for elm_web
This is a funny story:
elm_web loads modules for getting a actual elm.web object. However, when
elementary was merged into EFL someone (... :)) forgot to change the
path that is used to load intree modules, so elm.web.none was never
actaully tested ... :)

But thx to the wonderfull legacy patch its super simple to fix this :)
2018-02-17 21:17:59 +01:00
Marcel Hollerbach 86b4af41c3 elementary: use new bs static lib 2018-02-17 21:17:58 +01:00
Marcel Hollerbach c93bd1b81b Introduction of buildtools!
buildtool is a little static library for the abstraction of buildtool
depedend path generation.
2018-02-17 21:17:47 +01:00
Marcel Hollerbach c8f32bd770 elementary: listen to EFL_RUN_IN_TREE instead of ELM_RUN_IN_TREE
so its unified and easier to handle
2018-02-17 21:17:47 +01:00
Carsten Haitzler 6b2f39a59d elm entry - dont seg if the obj has been deleted by callback time
i spotted a segv with elm entry + efm ... sd was NULl because obj was
seemingly not valid at that point, so fix and check the smart data
returns before moving on.
2018-02-17 18:00:19 +09:00
Carsten Haitzler 8a1ac683d4 elm - efl selection - don't seg if not in wayland
this code would execute wayland path code totally unconditionally if
compiled in even if in x11 to gegt seat id info from wayland... check
if we are in wl first at runtime.
2018-02-17 17:58:59 +09:00
Andy Williams 2aa580b073 elm_code: Fix issue where text selection menu did not show 2018-02-16 14:38:25 +00:00
Mike Blumenkrantz d17b8a23d9 Efl.Access.Text: resolve more name conflicts
text -> access_text
attributes -> text_attributes
selection -> access_selection
2018-02-15 13:28:49 -05:00
Mike Blumenkrantz 654656e69d Efl.Access.Selection: clear -> access_selection_clear
maybe there should be a text selection interface...
2018-02-15 13:28:49 -05:00
Mike Blumenkrantz b493f15069 Efl.Access.Editable.Text: content -> text_content 2018-02-15 13:28:48 -05:00
Mike Blumenkrantz b0bb09ef7a Efl.Access: resolve more name conflicts
children -> access_children
type -> access_type
2018-02-15 13:28:45 -05:00
Mike Blumenkrantz 7a0bdda5d6 elm_slideshow: loop -> items_loop 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz f07d0d3ff6 naviframe: remove 'style' property 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 8fc6aa5467 elm_widget: provide base implementation of style property 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 66ee9cf3e2 elm_menu: move -> relative_move 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 996671ce26 elm_map: rotate -> map_rotate 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz e60c78635a elm_map: region_bring_in -> map_region_bring_in 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 6b8b0301c3 elm_map: remove 'wheel_disabled' property 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 0a5b034977 elm_web: use Efl.Ui.Zoom 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 8530bbc57b elm_interface_scrollable: repeat_events -> content_events 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz a6566ef8ae elm_interface_scrollable: use 'mirrored' from Efl.Ui.Base 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz f13682a5df elm_interface_scrollable: repeat_events -> content_events 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz adf0015cd8 elm_map: use Efl.Ui.Zoom for zoom properties 2018-02-15 13:11:01 -05:00
Mike Blumenkrantz 57c07757c7 fileselector: remove 'model' property
this is already extant in Efl.Ui.View
2018-02-15 13:11:01 -05:00
Mike Blumenkrantz f7651bdc12 elm_grid: size -> grid_size 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 504ad62a6b elm_genlist: parent -> parent_item 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 1a65fa5dbc elm_gengrid: remove some properties implemented in scrollable 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f0b4de1b4d elm_entry: remove 'calc_force'
use Efl.Layout.Calc which is already inherited
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 63bd856fdd elm_entry: rename some eo methods
cursor_content -> textblock_cursor_content
cursor_geometry -> textblock_cursor_geometry

probably all cursor methods here should be renamed to something to
increase consistency
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz b3bc06a5be elm_colorselector: "color" -> "picked_color" 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 26ea82f975 Efl.Ui.Text: password -> password_mode 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 4ff7d8c2a8 Efl.Ui.List.Model: size -> model_size 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f45e972c8c Elm.Widget.Item: focus -> item_focus 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f15e1236a4 Efl.Ui.Zoom: zoom -> zoom_level 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 6b9a35d763 Efl.Ui.Model.Factory.Connect: remove this entirely
merge 'connect' method into Efl.Ui.Factory class as 'model_connect'
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz bfc5647298 efl.access: root -> access_root
fix T6702
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 7372802c32 Efl.Access.Image: remove the whole class
this is a copy of Efl.Access.Component and serves no purpose
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 5263f311f4 efl_widget_item: remove 'del'
this now uses regular efl_del
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 804fc1667a efl_access_component: resolve property name conflicts
this class is a giant FIXME for anyone looking to do refactoring work.
the only reason it seems to exist is to provide wrappers around
efl.gfx functions and provide screen position adjustments--something
which isn't even viable under wayland

note that a test was removed here due to the corresponding method being
removed
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f8e93775c0 efl.access: remove parent property
most of this is just a reimplementation of efl_provider_find
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 8b7bbb2398 efl.access: name -> i18n_name 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 76eb02303a efl: rename player.position property -> player.pos
position conflicts with gfx.position; this could maybe be named better?
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 17687f4066 evas: remove Evas_Canvas.objects_in_rectangle_get
also implement Efl_Canvas method
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 420ba4691d evas: remove Evas_Canvas.objects_at_xy_get
also implement Efl_Canvas.objects_at_xy_get

note that any function which returns an iterator cannot be @const since
it's necessary to wref the object to ensure the iterator's lifetime
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 3789e3e1dc efl: merge list->iterator creation function into evas_main.c and reuse
this deduplicates a large amount of code
2018-02-15 13:10:59 -05:00
Larry Jr 4362047313 Elementary: remove needless structs in Efl_Ui_List 2018-02-15 15:08:54 -02:00
Larry Jr ee0cbdad17 elementary: efl_ui_list change SegArray tree to Efl.Object 2018-02-15 15:08:54 -02:00
Larry Jr 10d10dfa5d elementary: efl_ui_list model_set update values fixed 2018-02-15 15:08:54 -02:00
Larry Jr 73a8ddf18f elementary: efl_ui_list_segarray fixed remove last block item 2018-02-15 15:08:54 -02:00
Larry Jr 7e0f98a794 elementary: efl_ui_list focus manager fix
fixed focus changed with keyboard
fixed scroll in focus
fixed focus in example
2018-02-15 15:08:54 -02:00
YeongJong Lee 6f0d962f67 efl_ui_focus_manager_sub: remove needless call
Summary: focus manager is not assigned in constructor

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5772
2018-02-15 14:53:46 +01:00
YeongJong Lee 837a806b21 elm_hover: remove focus_layer related code
Summary:
because elm_hover implements Efl.Ui.Focus.Layer, focus_layer related code
dosen't needed.

Test Plan: elementary_test - hover

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5758
2018-02-15 14:53:28 +01:00
Youngbok Shin 855c1886b6 elementary: fix legacy widget type name for backward compat
Summary:
For example, the widget type of elm_button was "Elm_Button".
But, the object which is created by elm_button_add() will
return its widget type "Efl.Ui.Button_Legacy".
It is not legacy name. It should be fixed to return "Elm_Button".

I don't know when but eolian start to make class name with ".".
So, it should be converted to "_" for all widgets.

@fix

Test Plan:
All test cases are included in this patch.
Run "make check"

Reviewers: raster, cedric, jpeg, taxi2se

Reviewed By: cedric

Subscribers: taxi2se, woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Sungtaek Hong 73f8b3b78f efl.ui.layout: change signal name for icon/text
Summary:
when set/unset icon and text,
signal "elm,state,[part],visible/hidden" is emitted.
This is wrong because visible/hidden should be handled by
Efl.Gfx.visible, not Efl.Text nor Efl.Content.
This should be changed into elm,state,[part],set/unset"
All relating edc should be fixed.

Test Plan: run elementary_test->button, Efl.Ui.Button

Reviewers: jpeg, cedric, woohyun, Jaehyun_Cho

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Wonki Kim b84206c4b6 elementary: modify return value of scroller_movement_block_get
Summary:
A return value of scroller_movement_block_get has been changed by applying the commit(ffa041fe)
The API returned a value which is being exclusively before, but now it returns a composition of states.

This patch modify the api to return "A state" of block mode.

Test Plan:
	1. set movement block mode as ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL for a scroller
	2. get movement block mode for the scroller
	3. compare the value and ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL by using == operation, not & operation

Reviewers: jpeg, cedric, woohyun, raster

Subscribers: raster

Differential Revision: https://phab.enlightenment.org/D5793
2018-02-14 10:42:17 +09:00
Mike Blumenkrantz 708c4ab576 efl_selection_manager: shut up shut up shut up ecore-x when running in wayland
fix T6643
2018-02-13 17:31:12 -05:00
WooHyun Jung b5a574f6e2 efl_ui_nstate: missed to add private.h 2018-02-13 23:26:14 +09:00
WooHyun Jung d679425c48 efl_ui_nstate: make "changed" callback is called properly
- "changed" callback is not called when theme_apply is called
- elm_check_state_set does not call "changed" callback to keep
  backward compatibility
2018-02-13 22:50:14 +09:00
WooHyun Jung 5d5538de5c Revert "elm: do not call "changed" callback when setting style"
This reverts commit b1ee35e35c.
2018-02-13 19:20:19 +09:00
WooHyun Jung 23877f2c44 Revert "Efl.Ui.Nstate: do not call "changed" callback"
This reverts commit fd8e9f9c4e.
2018-02-13 18:39:20 +09:00
Carsten Haitzler 4195242c9b elm focus ... set focus in focus in if focus is not already on something
let's actually set focus in focus_in on window (ecore evas) IF focus
is not set. this seems to make terminology still work...
2018-02-13 18:12:11 +09:00