Page 1 of 1
Rawkey events, widgets, and scrolling groups
Posted: Fri Mar 27, 2015 5:13 pm
by trevordevore
Current widgets eat scroll wheel raw key events. This causes a problem if you have a widget in a group that you try to scroll using rawkeydown events. Are there any workarounds available right now? It doesn't look like keyboard events are hooked up to widgets yet.
Re: Rawkey events, widgets, and scrolling groups
Posted: Mon Mar 30, 2015 8:39 am
by LCMark
@trevordevore: The plan is that widgets will get more specific 'mouseWheel' type events, rather than rawKey events for handling movement of the mouse wheel. Looking at how such scroll events are handled, the widget infrastructure will require some sort of message passing system in place to make them work correctly (for example, on Mac at least, if you scroll a field inside another scrolling entity, then the scroll events are passed by the embedded field if the field is at the extremity of the current scroll direction).
I've filed:
http://quality.runrev.com/show_bug.cgi?id=15111.
Re: Rawkey events, widgets, and scrolling groups
Posted: Mon Mar 30, 2015 12:52 pm
by trevordevore
Thanks @LCMark.
Re: Rawkey events, widgets, and scrolling groups
Posted: Mon Mar 30, 2015 6:50 pm
by LCMark
@trevordevore: I took a look at this today and will hopefully have a patch ready tomorrow. LCB does currently support mouse wheel events, they appear to widgets as 'high-level' scroll events - OnMouseScroll(deltaX, deltaY). My patch will mean this event will only be sent and handled by a widget if it contains an OnMouseScroll() handler. To make mouse scrolling work as it needs to though, some 'passing' mechanism will be needed as mentioned above - however, at least with my suggested tweak, you'll be able to put non-mouse-scroll-handling widgets in scrolling groups and have them work as you'd expect.
Re: Rawkey events, widgets, and scrolling groups
Posted: Tue Mar 31, 2015 10:15 am
by LCMark
Re: Rawkey events, widgets, and scrolling groups
Posted: Tue Mar 31, 2015 1:39 pm
by trevordevore
Ah, that works much better. Thanks!