/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Actor mActivatedActor;
};
-} // namespace
+// Used to connect to signals via the ConnectSignal Handle method
+struct CallbackFunctor
+{
+ CallbackFunctor()
+ {
+ }
+ void operator()()
+ {
+ }
+};
+
+} // namespace
int UtcDaliKeyboardFocusManagerGet(void)
{
focusGroupChangedCallback.Reset();
END_TEST;
}
+
+int UtcDaliKeyboardFocusManagerSignals(void)
+{
+ ToolkitTestApplication application;
+
+ KeyboardFocusManager manager = KeyboardFocusManager::Get();
+ DALI_TEST_CHECK( manager );
+
+ ConnectionTracker* testTracker = new ConnectionTracker();
+ DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardPreFocusChange", CallbackFunctor() ), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusChanged", CallbackFunctor() ), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusGroupChanged", CallbackFunctor() ), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusedActorEnterKey", CallbackFunctor() ), TEST_LOCATION );
+
+ END_TEST;
+}
Dali::BaseHandle handle( object );
bool connected( true );
- KeyboardFocusManager* manager = dynamic_cast<KeyboardFocusManager*>( object );
+ KeyboardFocusManager* manager = static_cast< KeyboardFocusManager* >( object ); // TypeRegistry guarantees that this is the correct type.
if( 0 == strcmp( signalName.c_str(), SIGNAL_PRE_FOCUS_CHANGE ) )
{
manager->PreFocusChangeSignal().Connect( tracker, functor );
}
- if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) )
+ else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) )
{
manager->FocusChangedSignal().Connect( tracker, functor );
}
- if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_GROUP_CHANGED ) )
+ else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_GROUP_CHANGED ) )
{
manager->FocusGroupChangedSignal().Connect( tracker, functor );
}
#define __DALI_TOOLKIT_KEYBOARD_FOCUS_MANAGER_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* is changed.
*
* Signals
- * | %Signal Name | Method |
- * |-------------------------------|------------------------------------|
- * | keyboardPreFocusChange | @ref PreFocusChangeSignal() |
- * | keyboardFocusChanged | @ref FocusChangedSignal() |
- * | keyboardFocusGroupChanged | @ref FocusGroupChangedSignal() |
- * | keyboardFocusedActorAenterKey | @ref FocusedActorEnterKeySignal() |
+ * | %Signal Name | Method |
+ * |------------------------------|------------------------------------|
+ * | keyboardPreFocusChange | @ref PreFocusChangeSignal() |
+ * | keyboardFocusChanged | @ref FocusChangedSignal() |
+ * | keyboardFocusGroupChanged | @ref FocusGroupChangedSignal() |
+ * | keyboardFocusedActorEnterKey | @ref FocusedActorEnterKeySignal() |
* @SINCE_1_0.0
*/
class DALI_IMPORT_API KeyboardFocusManager : public BaseHandle