static void UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged()
{
  ToolkitTestApplication application;
  KeyInputFocusManager manager = KeyInputFocusManager::Get();
  Stage stage = Stage::GetCurrent();

  tet_infoline(" UtcDaliKeyInputFocusManagerSignalKeyInputFocusChanged");

  PushButton pushButton1 = PushButton::New();
  PushButton pushButton2 = PushButton::New();

  stage.Add( pushButton1 );
  stage.Add( pushButton2 );

  PushButton gainActor, lostActor;
  KeyInputFocusChangedCallback callback( gainActor, lostActor );
  manager.KeyInputFocusChangedSignal().Connect( &callback, &KeyInputFocusChangedCallback::Callback );

  manager.SetFocus(pushButton1);

  DALI_TEST_CHECK( gainActor == pushButton1 );
  DALI_TEST_CHECK( lostActor == Control() );

  gainActor = lostActor = NULL;

  manager.SetFocus(pushButton2);

  DALI_TEST_CHECK( gainActor == pushButton2 );
  DALI_TEST_CHECK( lostActor == pushButton1 );

  gainActor = lostActor = NULL;

  // Removing the focus actor from the stage would also result in signal emission.
  stage.Remove( pushButton1 );
  stage.Remove( pushButton2 );

  DALI_TEST_CHECK( gainActor == Control() );
  DALI_TEST_CHECK( lostActor == Control() );
}
示例#2
0
int UtcDaliStageRemoveN2(void)
{
  TestApplication application;

  Stage stage = Stage::GetCurrent();
  Actor actor = Actor::New();
  DALI_TEST_CHECK( !actor.OnStage() );

  bool asserted = false;
  try
  {
    // Actor is not on stage, confirm a removal attempt does not assert / segfault.
    stage.Remove( actor );
  }
  catch( Dali::DaliException& e )
  {
    DALI_TEST_PRINT_ASSERT( e );
    asserted = true;
  }

  DALI_TEST_CHECK( !asserted );
  END_TEST;
}
示例#3
0
int UtcDaliStageRemoveN1(void)
{
  TestApplication application;

  Stage stage = Stage::GetCurrent();
  Actor actor;

  bool asserted = false;
  try
  {
    // Actor is not valid, confirm a removal attempt does assert.
    stage.Remove( actor );
  }
  catch( Dali::DaliException& e )
  {
    DALI_TEST_PRINT_ASSERT( e );
    DALI_TEST_ASSERT( e, "actor && \"Actor handle is empty\"", TEST_LOCATION );
    asserted = true;
  }

  DALI_TEST_CHECK( asserted );
  END_TEST;
}