END_TEST;
}
-
-int UtcDaliKeyboardFocusManagerWithHide(void)
-{
- ToolkitTestApplication application;
-
- tet_infoline(" UtcDaliKeyboardFocusManagerWithHide");
-
- KeyboardFocusManager manager = KeyboardFocusManager::Get();
- DALI_TEST_CHECK(manager);
-
- // Create the first control and add it to the stage
- Control first = Control::New();
- first.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
- application.GetScene().Add(first);
-
- // Create the second control and add it to the first control.
- Control second = Control::New();
- second.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
- first.Add(second);
-
-
- // flush the queue and render once
- application.SendNotification();
- application.Render();
-
- // Check that no actor is being focused yet.
- DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
- // Check that the focus is set on the actor
- DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
- DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
- // If the currently focused actor becomes VISIBLE false, it loses focus.
- first.SetProperty(Actor::Property::VISIBLE, false);
- DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
- first.SetProperty(Actor::Property::VISIBLE, true);
- // Check that the focus is set on the actor
- DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
- DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
- // If the currently focused actor becomes VISIBLE false, When the parent is hidden, the child also loses focus.
- first.SetProperty(Actor::Property::VISIBLE, false);
- DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-
- END_TEST;
-}
-
int UtcDaliKeyboardFocusManagerFocusFinderRootActor(void)
{
ToolkitTestApplication application;
if(actor &&
actor.GetProperty<bool>(Actor::Property::KEYBOARD_FOCUSABLE) &&
actor.GetProperty<bool>(DevelActor::Property::USER_INTERACTION_ENABLED) &&
- actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE) &&
- actor.GetProperty<bool>(Actor::Property::VISIBLE))
+ actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE))
{
// If the parent's KEYBOARD_FOCUSABLE_CHILDREN is false, it cannot have focus.
Actor parent = actor.GetParent();
}
case Actor::Property::VISIBLE:
{
- const bool visible = propertyValue.Get<bool>();
- GetAccessibleObject()->EmitVisible(visible);
- if(!visible)
- {
- Dali::Actor self = Self();
- Dali::Actor actor = Dali::Toolkit::KeyboardFocusManager::Get().GetCurrentFocusActor();
- while(actor)
- {
- if(self == actor)
- {
- Dali::Toolkit::KeyboardFocusManager::Get().ClearFocus();
- break;
- }
- actor = actor.GetParent();
- }
- }
+ GetAccessibleObject()->EmitVisible(Self().GetProperty<bool>(Actor::Property::VISIBLE));
break;
}
case DevelActor::Property::USER_INTERACTION_ENABLED: