Commit Graph

131 Commits

Author SHA1 Message Date
Amitesh Singh 248b6beeee intf scroll: handle wheel logic in post event cb.
Summary:
@Fix

Resolves: T2216

Reviewers: seoz, raster, JackDanielZ, Hermet

Reviewed By: Hermet

Subscribers: cedric, eagleeye, SanghyeonLee, seoz, sachin.dev

Maniphest Tasks: T2216

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

Conflicts:

	src/lib/elm_interface_scrollable.c
2015-08-07 17:34:20 +09:00
Daniel Kolesa df1b9b8455 interface_scrollable: convert to int before using abs first
@fix
2015-07-29 15:29:53 +01:00
Daniel Kolesa a91b54644b interface_scrollable: don't use integer abs on floating point
@fix
2015-07-29 15:28:08 +01:00
Carsten Haitzler 37fad8fd65 elm - scroller - set hold flag on wheel events if used for that dir
@fix

this should fix the clash between wheel and scroller ... somewhat
2015-07-07 19:35:48 +09:00
Avi Levin ca37a84db0 elc_fileselector_entry, elm_bubble: porting evas smart callbacks to eo 2015-07-05 13:05:38 +03:00
Avi Levin 4851b666c2 elc_hoversel, elm_interface_scrollable: porting evas smart callbacks to eo 2015-07-02 08:04:02 +03:00
Umesh Tanwar c68353545d Elm_Interface_Scrollable: Improvement in looping behavior
Summary:
x and y position variable assumes values ranging from min to max.
cw, the content width is larger than max in x axis. Beacause of this
the scroller is not able to loop in rigth/bottom direction. For looping
comparision min and max values should be used instead of content width.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: Hermet

Subscribers: eagleeye, SanghyeonLee, singh.amitesh, sachin.dev

Differential Revision: https://phab.enlightenment.org/D2731
2015-07-01 11:14:42 +09:00
SangHyeon Lee 9bb528ef09 elm_interface_scrollable: fix wrong mirrored calculation
Summary:
This Patch is regarding D2553, but funtionally independent patch.
D2557 is also related with this patch, so to test working fine,
need to install those all three patches.

1. _elm_interface_scrollable_content_region_show store wx
   into scroll_interface_data without coverting mirrored_x.
   fix to store wx to mirror-converted x if is_mirrored.

2. _elm_scroll_x_mirrored_get return mirroed_x after compare zero not minx.
   so current mirrored_x couldn't be less then 0.
   fix to check min not 0 for set return value.

3.  _elm_scroll_x_mirrored_get calculation need to consider start position of scroller.
some scroller(e.g. gengrid) start from non-zero position, so calculation need to change
like below.
ret = (cw - (x + w - min));

@fix

Test Plan: You can test this after merge D2553 patch and D2557 and test gengrid2.

Reviewers: raster, Hermet, seoz, jaehwan, tanwar.umesh07, cedric

Subscribers: tanwar.umesh07, Jaehyun, anand.km, eagleeye, singh.amitesh

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-25 17:24:08 +02:00
Hosang Kim 81ead01597 elm_interface_scrollable : Fix logic about setting EVAS_EVENT_FLAG_ON_HOLD
Summary: Even if scroller is not scrolled, EVAS_EVENT_FLAG_ON_HOLD is set. So clicked event is canceled in Edje.

Test Plan:
On the button in the vertical scroller, click button and move mouse horizontal.
Mouse up on the button, so now button is not clicked

Reviewers: Hermet, CHAN, seoz, jaehwan, woohyun, SanghyeonLee

Differential Revision: https://phab.enlightenment.org/D2550
2015-06-15 09:56:02 +09:00
taehyub 8bdcdf8cc6 interface scrollerable: modify the loop_v condition in _elm_scroll_momentum_animator() function
Summary:
change the 'sid->loop_v' condition to '!sid->loop_v' to delete momentum animator
when the vertical scroller reached the end of the content

@fix

Reviewers: raster, Hermet, woohyun

Subscribers: CHAN

Differential Revision: https://phab.enlightenment.org/D2609
2015-06-03 21:30:50 +09:00
Tom Hacohen 27b72840c8 Adjust usage of eo_constructor() according to recent changes. 2015-05-20 13:03:28 +01:00
Hosang Kim 900aebec53 Fix scrollbar position issue when content is resized.
Summary:
When content is resized, scrollbar's position is not updated.
Add bar position update after bar size is changed.

Test Plan: elementary_test -> scroller3

Reviewers: seoz, jaehwan, woohyun, cedric, raster, kimcinoo, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2419
2015-04-27 13:55:10 +09:00
Amitesh Singh b699096d64 interface scroll: handle wanted x coordinates in case of mirroring.
Summary:
In case of mirror enabled, wanted x should come from _elm_scroll_x_mirrored_get().
This defect is visible in case of some fancy effects on scroller (map).

@Fix

Reviewers: raster, Hermet

Subscribers: herdsman, sachin.dev, kimcinoo, eagleeye, seoz

Differential Revision: https://phab.enlightenment.org/D2363
2015-04-22 11:41:42 +09:00
Jaehwan Kim 1925ec3b8e scroller: add loop feature.
This feature works the infinite loop horizontally or vertically.
If the content is set, it will be shown repeatedly.
@feature

Change-Id: I1f20b794ae44bc8e5d120901222c7cccadca96b7

Conflicts:
	src/lib/elm_scroller.c
	src/lib/elm_scroller_legacy.h
2015-03-23 20:35:04 +09:00
Carsten Haitzler 44556de7f9 elm scroller - add adnimated and accelerated wheel scroll
now when a whele event comes in, 1. the amount we scroll accelerates
based on time between wheel events (the faster wheel events come out,
the more accel), and 2. we animate to the new position providing a
smooth transition to the new spot rather than a jump. very visually
nice.

@feature
2015-02-13 13:14:07 +09:00
VBS db5d4aff45 Scroller : Fix elm_scroller_last_page_get API wrong return value
Summary:
When first page is last page, elm_scroller_last_page_get need to return 0.
         But if pagesize is bigger then current content height or width, value will be returned -1.
         So fix this cases to return 0.

Test Plan: If set elm_scroller_page_set bigger then current content size, then issue is occurred.

Reviewers: seoz, jaehwan, raster

Reviewed By: raster

Subscribers: eagleeye

Differential Revision: https://phab.enlightenment.org/D1860
2015-01-12 11:51:42 +09:00
Hosang Kim f5508d8624 elm_interface_scrollable: fix last page get api
Summary: First page's number is 0. So I changed '+' to '-'.

Reviewers: seoz, jaehwan, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D1530
2014-10-10 14:36:52 +09:00
Tom Hacohen 7629c147eb Eo related: Change according to recent changes in eo_add().
For more info check out a7560dbc61 in
the EFL tree.
2014-09-25 17:39:34 +01:00
Daniel Kolesa 20525deb55 update according to latest efl changes: _CLASS -> _CLASS/INTERFACE/MIXIN 2014-06-30 21:37:04 +01:00
Tom Hacohen efa41c7d75 Elm: Update code to use the new class names generated by eolian. 2014-06-03 11:54:44 +01:00
wonguk.jeong e1ea913a22 elm_interface_scrollable: fix wanted coordinate calculation
Summary:
boundary check of _elm_scroll_wanted_coordinates_update() is wrong.
boundary was checked with assumption that 0, 0 is top, left
however, 0, 0 could be different according to usages, in case of gengrid, 0, 0 was center left not top left)

Do not assume the min/max value, but use pan min/max value for boundary check

Fixes T1092

Test Plan: elementary_test -> grid -> uncheck multi select mode -> select first item -> click bring in -> resize window

Reviewers: raster, woohyun, seoz, zmike

CC: seoz

Maniphest Tasks: T1092

Differential Revision: https://phab.enlightenment.org/D720
2014-04-21 15:06:28 +09:00
wonguk.jeong 495e0771c1 elm_interface_scrollable: fix resize after drag bug.
Summary:
after I drag by using scrollbar, if I resize window, the scroller position was moved to coordication before dragging.
invoke _elm_scroll_wanted_coordinates_update() after position setting in _elm_scroll_scroll_bar_read_and_update();

@fix

Test Plan: elementary_test -> drag scroller to center -> resize window -> scroller shouldn't go back to top

Reviewers: raster, woohyun, seoz

CC: seoz, Hermet

Differential Revision: https://phab.enlightenment.org/D722
2014-04-21 14:17:43 +09:00
Carsten Haitzler 9d55fab418 entry: wrong viewport value calculation issue fix
Summary:
Issue: As entire scroller edje co-ordinates was being taken instead of the actual viewport value,
if in scroller edje more parts are added apart from just "elm.swallow.content", then the viewport value
set will be wrong. hence the selection handlers will not hide when they have to hide.

solution: Instead of taking scroller edje's geometry, get the actual viewport values.
To get viewport x,y a new scrollable interface is also added.

signed-off by: Shilpa Singh <shilpa.singh@samsung.com>

@fix

Test Plan: Selection handlers have to hide correctly when the text is scrolled in a scrolled entry, if the scroller edc of entry has more parts added other than elm.swallow.content, then when we scroll the selection handlers are not hidden correctly.

Reviewers: jaehwan, woohyun, seoz, Hermet, raster

CC: govi, rajeshps, thiepha

Differential Revision: https://phab.enlightenment.org/D674
2014-04-21 12:31:49 +09:00
Tom Hacohen de9c5486f6 interface scrollable: Adjusted to Eo2. 2014-04-10 09:35:01 +01:00
Daniel Zaoui 45dc4cd461 Eolian: Fix ctor/dtor generation 2014-03-19 07:04:34 +02:00
Daniel Zaoui 6ef8dc7502 Eolian: Integration of Pan 2014-03-18 08:14:44 +02:00
Daniel Zaoui 7460467419 Eolian: Integration of Scrollable Interface 2014-03-18 08:14:44 +02:00
Carsten Haitzler 1d4b74e1de elm scroller - fix self feeding reconfigure to bail out on many loops 2014-02-14 17:32:13 +09:00
Carsten Haitzler 0fb094063b entry - fix scroller hide/show signal when changing style (edje obj) 2014-02-12 20:39:39 +09:00
Daniel Juyung Seo db5fe2581d elm: Removed unnecessary null check for evas_object_del. 2014-01-22 10:54:52 +09:00
Daniel Juyung Seo c066009c49 elm: Removed unnecessary null check for ecore_idler_del, ecore_idle_enterer_del. 2014-01-22 10:54:28 +09:00
Daniel Juyung Seo a4f3074f9c elm: Removed unnecessary null check for ecore_timer_del,
ecore_animator_del, and ecore_job_del.

As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
2014-01-21 23:18:16 +09:00
Hosang Kim 9204ce6833 scroller: Fixed wheel event callback
Summary:
scroller is moved page by page if scroller's paging is enable

1. default is move to vertical.
2. move to horizontal with Shift key

Reviewers: seoz, Hermet, jaehwan, woohyun, raster, cedric

Reviewed By: seoz

Differential Revision: https://phab.enlightenment.org/D453
2014-01-14 16:56:52 +09:00
Hosang Kim 55d26bd52e [scroller] fixed infinite loop bug in scroller
Summary: called scroller bring in API in "scroll,anim,stop" callback, so occured infinite loop

Reviewers: seoz, jaehwan, raster, woohyun, cedric

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D445
2014-01-10 15:42:12 +09:00
Daniel Juyung Seo fd5c046dfe elm: Changed __UNUSED__ to EINA_UNUSED. 2014-01-06 23:33:57 +09:00
Daniel Juyung Seo e63dd3110a elm: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 13:03:55 +09:00
Daniel Juyung Seo 6d71a23c3a elm lib: removed all the unnecessary empty lines.
being pedantic.
2013-12-15 06:18:35 +09:00
Daniel Juyung Seo 9013230dac elm_interface_scrollable.c: fix scroller page flick calculation roundup routine.
When the offset is not bigger than 0 && abs(offset) is not smaller than dx(or dy), round up routine could have mis-calculation bug.
It should substract one value more to get a proper round up result.
For example, when x = 1440, offset = -2160, dx = 360, x should become 720 but round up routine made it 1440.
Because it was rounded up from 1080 to 1440. It should be rounded down from 1079 to 720.

Special thanks to Hosang Kim for the help.

Signed-off-by: Daniel Juyung Seo <juyung.seo@samsung.com>
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>
2013-12-04 00:42:15 +09:00
Daniel Juyung Seo bc9d9ecd6b elm_interface_scrollable.c: reset momentum_animator to null when return cancel from the animator. 2013-12-03 21:40:09 +09:00
Daniel Juyung Seo a754a91961 elm_interface_scrollable.c: use correct structure for mouse up.
Actually Evas_Event_Mouse_Up and Evas_Event_Mouse_Down are same though :)
Being pedantic.
2013-12-02 23:55:27 +09:00
Daniel Juyung Seo 8a0159df4f elm: long waited seasonal trailing whitespaces removal!
This is a ceremony of elementary 1.8 release!
2013-12-02 19:43:46 +09:00
Carsten Haitzler c0e17c12f0 elm scroller - fix infinite recursion in scroller adjust
there is an infinite recursion in the scroller adjust code that can
happen some times. this fixes T434.
2013-11-26 19:34:36 +09:00
Carsten Haitzler 758b1caeb8 printf-- 2013-11-25 21:38:21 +09:00
Carsten Haitzler 799a4a0924 elm - scroller - fix missing large set of signal callbacks on scrollbar
this fixes T138 and a bunch of other missing callback signals
2013-11-25 21:23:11 +09:00
Tom Hacohen 4c8d03894c Changed Eo class names to be consistent. #2
All the class names are now of the format: Elm_Type_Subtype_Extra

Thanks to Yakov for pointing out I forgot a few and for giving me a nice
list.
2013-11-07 14:30:22 +00:00
Tom Hacohen 2f1e1554e5 Changed Eo class names to be consistent.
All the class names are now of the format: Elm_Type_Subtype_Extra
2013-11-07 11:44:22 +00:00
Carsten Haitzler c09a0d9ea3 elm scroller - try a simpler approach - animator queues idle enterer
this allows the idle enterer to pick up all prior stored events like
move coords etc. just before going idle (and rendering).
2013-10-25 17:00:25 +09:00
Carsten Haitzler 8dab5200ea Revert "elm scroller - also allow animator still to ALSO drive scroll for smoothing"
This reverts commit e52ddca9b0d424c5e1dfeeec501f4a95544e3dbb.
This reverts commit 7a7ea7d61e8a321dcd2046d07a0473e57a87d8b2.
2013-10-25 17:00:10 +09:00
Carsten Haitzler 498747b16a elm scroller - also allow animator still to ALSO drive scroll for smoothing 2013-10-22 11:01:00 +01:00
Carsten Haitzler c199bf7b35 scrollable - try using a job for move events for scrollinh instead of animator 2013-10-22 08:12:59 +01:00