dependency : https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-core/+/276883/
Change-Id: I57c8858d5f2492e7c18135624cb3e44f6149e3a7
return GetImplementation(window).GetLastTouchEvent();
}
+InterceptKeyEventSignalType& InterceptKeyEventSignal(Window window)
+{
+ return GetImplementation(window).InterceptKeyEventSignal();
+}
+
} // namespace DevelWindow
} // namespace Dali
namespace DevelWindow
{
-
typedef Signal<void()> EventProcessingFinishedSignalType; ///< Event Processing finished signal type
typedef Signal<void(const KeyEvent&)> KeyEventSignalType; ///< Key event signal type
typedef Signal<void(const std::string&, const std::string&, const Property::Array&)> AuxiliaryMessageSignalType; ///< Auxiliary message signal type
+typedef Signal<bool(const KeyEvent&)> InterceptKeyEventSignalType; ///< Intercept Key event signal type
+
/**
* @brief Creates an initialized handle to a new Window.
*
*/
DALI_ADAPTOR_API const TouchEvent& GetLastTouchEvent(Window window);
+/**
+ * @brief The user would connect to this signal to intercept a KeyEvent at window.
+ *
+ * Intercepts KeyEvents in the window before dispatching KeyEvents to the control.
+ * If a KeyEvent is consumed, no KeyEvent is delivered to the control.
+ *
+ * @param[in] window The window instance.
+ * @return The signal to connect to
+ */
+DALI_ADAPTOR_API InterceptKeyEventSignalType& InterceptKeyEventSignal(Window window);
+
} // namespace DevelWindow
} // namespace Dali
}
/**
+ * @copydoc Dali::Integration::SceneHolder::InterceptKeyEventSignal()
+ */
+ Dali::Integration::SceneHolder::KeyEventGeneratedSignalType& InterceptKeyEventSignal()
+ {
+ return mScene.InterceptKeyEventSignal();
+ }
+
+ /**
* @copydoc Dali::Integration::SceneHolder::TouchedSignal()
*/
Dali::Integration::SceneHolder::TouchEventSignalType& TouchedSignal()
return GetImplementation(*this).KeyEventGeneratedSignal();
}
+SceneHolder::KeyEventGeneratedSignalType& SceneHolder::InterceptKeyEventSignal()
+{
+ return GetImplementation(*this).InterceptKeyEventSignal();
+}
+
SceneHolder::TouchEventSignalType& SceneHolder::TouchedSignal()
{
return GetImplementation(*this).TouchedSignal();
KeyEventGeneratedSignalType& KeyEventGeneratedSignal();
/**
+ * @brief This signal is emitted when key event is received.
+ * Intercepts KeyEvents in the window before dispatching KeyEvents to the control.
+ * If a KeyEvent is consumed, no KeyEvent is delivered to the control.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ * bool YourCallbackName(const KeyEvent& event);
+ * @endcode
+ * @return The signal to connect to
+ */
+ KeyEventGeneratedSignalType& InterceptKeyEventSignal();
+
+ /**
* @brief This signal is emitted when the screen is touched and when the touch ends
* (i.e. the down & up touch events only).
*