语言

Menu
Sites
Language
How to trigger Dali::Actor::WheelEventSignal?

Hi!

I have connected the Dali::Actor::WheelEventSignal to a function, but the function is never called. Stage::WheelEventSignal triggers as expected. Is there a property or something else that I have to enable to get wheel events for actors?

My platform is Wearable Tizen 3.0. However, I have also tested the Dali::Actor::WheelEventSignal on Wearable Tizen 4.0 and Mobile Tizen 4.0 and I never managed to trigger this signal on any platform.

Best regards,
Stian Andre Olsen

响应

5 回复
K Johnson

Would you please try with Dali::Toolkit::Control in that case? According to this linkDali::Toolkit::Control class can also receive wheel events as it inherits from the Dali::Actor class.

Stian Andre Olsen

I have tried with Dali::Toolkit::Control and several derived classes. Non of them triggers the wheel event signal.

K Johnson

Did you initialize the actor? Please check the precondition for Dali::Actor::WheelEventSignal() here in this link. 

Stian Andre Olsen

As far as I know, initializing an actor means creating it with the New-function. I have tested the WheelEventSignal on several different controls that are shown on the screen. They are all initialized with the appropriate New-function.

Sample code that shows how to use Dali::Actor::WheelEventSignal is appreciated. I have looked through all the samples I could find without finding any use of this signal. Initially, I expected ScrollView to handle the wheel event internally, just as it handles the pan gestures. When it didn't I started to investigate the WheelEventSignal. If wheel scrolling was added to the ScrollView sample (https://developer.tizen.org/development/sample/native/UI/%28DALi%29_ScrollView_1), that would be perfect.

 

Stian Andre Olsen

Using the debugger I can see that the wheel event triggered by the watch wheel has the type CUSTOM_WHEEL. Furthermore, I have found the following statement in the WheelEvent documentation: "The mouse wheel event can be sent to the specific actor but the custom wheel event will be sent to the stage." Does this mean that wheel events from the watch wheel are never sent to any actors/controls? If that is the case I have to use the stage signal and create my own code for checking which control that is active and should respond to the wheel event.

However, during my investigation I tried the provided ScrollView sample on Mobile 4.0 using the mobile emulator on a PC. It did not respond to my mouse wheel either.