From: Adeel Kazmi Date: Wed, 16 Nov 2016 17:43:37 +0000 (+0000) Subject: (KeyboardFocusManager) Fixed ConnectSignal handling & SVACE error X-Git-Tag: dali_1.2.15~5^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=42604e3a42f0b1493e0be4ea0340055dba8ebb86;ds=inline (KeyboardFocusManager) Fixed ConnectSignal handling & SVACE error Change-Id: Ic6893d38d9b957d41f9e4cdf287c7eb40e32433f --- diff --git a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp index 95a6eb5..6ef6e9e 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp @@ -1,5 +1,5 @@ /* - * 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. @@ -175,8 +175,19 @@ public: Actor mActivatedActor; }; -} // namespace +// Used to connect to signals via the ConnectSignal Handle method +struct CallbackFunctor +{ + CallbackFunctor() + { + } + void operator()() + { + } +}; + +} // namespace int UtcDaliKeyboardFocusManagerGet(void) { @@ -668,3 +679,19 @@ int UtcDaliKeyboardFocusManagerSignalFocusGroupChanged(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; +} diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp index 3f9a81d..54d8afa 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -707,17 +707,17 @@ bool KeyboardFocusManager::DoConnectSignal( BaseObject* object, ConnectionTracke Dali::BaseHandle handle( object ); bool connected( true ); - KeyboardFocusManager* manager = dynamic_cast( 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 ); } diff --git a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h index 96bbed0..457f222 100644 --- a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h +++ b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h @@ -2,7 +2,7 @@ #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. @@ -46,12 +46,12 @@ class KeyboardFocusManager; * 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