Support weak handle for BaseHandle
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ScrollBar.cpp
index f3a377c..609621a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
 #include <stdlib.h>
 #include <string>
 #include <dali-toolkit-test-suite-utils.h>
+#include "dali-toolkit-test-utils/toolkit-timer.h"
 #include <dali-toolkit/dali-toolkit.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
-#include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar-devel.h>
+#include <dali/devel-api/actors/actor-devel.h>
+#include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar.h>
 
 using namespace Dali;
 using namespace Toolkit;
@@ -41,48 +42,6 @@ namespace
 
 const int RENDER_FRAME_INTERVAL = 16;                       ///< Duration of each frame in ms. (at approx 60FPS)
 
-// Generate a PanGestureEvent to send to Core
-Integration::PanGestureEvent GeneratePan(
-    Gesture::State state,
-    const Vector2& previousPosition,
-    const Vector2& currentPosition,
-    unsigned long timeDelta,
-    unsigned int numberOfTouches = 1)
-{
-  Integration::PanGestureEvent pan(state);
-
-  pan.previousPosition = previousPosition;
-  pan.currentPosition = currentPosition;
-  pan.timeDelta = timeDelta;
-  pan.numberOfTouches = numberOfTouches;
-
-  return pan;
-}
-
-/**
- * Helper to generate PanGestureEvent
- *
- * @param[in] application Application instance
- * @param[in] state The Gesture State
- * @param[in] pos The current position of touch.
- */
-static void SendPan(ToolkitTestApplication& application, Gesture::State state, const Vector2& pos)
-{
-  static Vector2 last;
-
-  if( (state == Gesture::Started) ||
-      (state == Gesture::Possible) )
-  {
-    last.x = pos.x;
-    last.y = pos.y;
-  }
-
-  application.ProcessEvent(GeneratePan(state, last, pos, RENDER_FRAME_INTERVAL));
-
-  last.x = pos.x;
-  last.y = pos.y;
-}
-
 /*
  * Simulate time passed by.
  *
@@ -144,25 +103,31 @@ static void OnScrollPositionIntervalReached( float position )
   gOnScrollPositionIntervalReachedSignalCalled = true;
 }
 
-static Vector2 PerformGestureSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames)
+static Vector2 PerformGestureSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, uint32_t start_time)
 {
   gOnPanFinishedCalled = false;
 
   // Now do a pan starting from (start) and heading (direction)
-  Vector2 pos(start);
-  SendPan(application, Gesture::Possible, pos);
-  SendPan(application, Gesture::Started, pos);
+  Vector2 pos( start + ( direction * 15 ) );
+  uint32_t time = start_time;
+
+  TestStartPan( application, start, pos, time );
+
   Wait(application);
 
   for(int i = 0; i < frames; i++)
   {
+    Test::EmitGlobalTimerSignal();
+
     pos += direction; // Move in this direction
-    SendPan(application, Gesture::Continuing, pos);
+    time += RENDER_FRAME_INTERVAL;
+    TestMovePan( application, pos, time);
     Wait(application);
   }
 
   pos += direction; // Move in this direction.
-  SendPan(application, Gesture::Finished, pos);
+  time += RENDER_FRAME_INTERVAL;
+  TestEndPan(application, pos, time );
   Wait(application);
 
   return pos;
@@ -311,7 +276,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   DALI_TEST_CHECK( scrollBar.GetScrollDirection() == ScrollBar::Vertical );
 
   float scrollBarHeight = 100.0f;
-  scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f) );
   Stage::GetCurrent().Add( scrollBar );
 
   // Create a source actor that owns the scroll properties required by the scroll bar
@@ -341,7 +306,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
 
   // Check that the indicator size should be: scroll bar size * (scroll bar size / content size).
   // i.e. The bigger the content size, the smaller the indicator size
-  float indicatorHeight = indicator.GetCurrentSize().y;
+  float indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION );
 
   // Decrease the content length
@@ -352,11 +317,11 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator size is changed accordingly
-  indicatorHeight = indicator.GetCurrentSize().y;
+  indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 250.0f, TEST_LOCATION );
 
   // As scroll position is 0, check that the indicator position should be 0.0f.
-  float indicatorPosition = indicator.GetCurrentPosition().y;
+  float indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, 0.0f, TEST_LOCATION );
 
   // Set the scroll position to the middle
@@ -367,7 +332,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator should be in the middle of the scroll bar
-  indicatorPosition = indicator.GetCurrentPosition().y;
+  indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION );
 
   // Set the scroll position to the maximum
@@ -378,7 +343,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator should be in the end of the scroll bar
-  indicatorPosition = indicator.GetCurrentPosition().y;
+  indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, scrollBarHeight - indicatorHeight, TEST_LOCATION );
 
   // Increase the maximum scroll position to double
@@ -389,7 +354,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator should be now in the middle of the scroll bar
-  indicatorPosition = indicator.GetCurrentPosition().y;
+  indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION );
 
   // Create another source actor
@@ -415,11 +380,11 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator size is changed accordingly
-  indicatorHeight = indicator.GetCurrentSize().y;
+  indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 400.0f, TEST_LOCATION );
 
   // Check that the indicator position goes back to the beginning of the scroll bar
-  indicatorPosition = indicator.GetCurrentPosition().y;
+  indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, 0.0f, TEST_LOCATION );
 
   // Set the scroll position to one fifth of the maximum
@@ -430,7 +395,7 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void)
   application.Render();
 
   // Check that the indicator should be in one fifth from the beginning of the scroll bar
-  indicatorPosition = indicator.GetCurrentPosition().y;
+  indicatorPosition = indicator.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
   DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.2f, TEST_LOCATION );
 
   END_TEST;
@@ -554,9 +519,9 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void)
   ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical);
   DALI_TEST_CHECK( scrollBar );
 
-  scrollBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollBar.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollBar.SetSize(20.0f, 800.0f, 0.0f);
+  scrollBar.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, 800.0f, 0.0f) );
 
   Stage::GetCurrent().Add( scrollBar );
 
@@ -740,7 +705,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void)
   DALI_TEST_CHECK( scrollBar );
 
   float scrollBarHeight = 100.0f;
-  scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f) );
   Stage::GetCurrent().Add( scrollBar );
 
   // Create a source actor that owns the scroll properties required by the scroll bar
@@ -770,7 +735,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void)
 
   // Check that the indicator size should be: scroll bar size * (scroll bar size / content size).
   // i.e. The bigger the content size, the smaller the indicator size
-  float indicatorHeight = indicator.GetCurrentSize().y;
+  float indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION );
 
   // Set the indicator height to be fixed to 50.0f
@@ -785,7 +750,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void)
   application.Render();
 
   // Check that the indicator size should be 50.0f
-  indicatorHeight = indicator.GetCurrentSize().y;
+  indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, 50.0f, TEST_LOCATION );
 
   // Set the indicator height to be variable
@@ -798,7 +763,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void)
   application.Render();
 
   // Check that the indicator size should be: scroll bar size * (scroll bar size / content size).
-  indicatorHeight = indicator.GetCurrentSize().y;
+  indicatorHeight = indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y;
   DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION );
 
   END_TEST;
@@ -832,7 +797,7 @@ int UtcDaliToolkitScrollBarSetIndicatorFixedHeightP(void)
   DALI_TEST_CHECK( scrollBar );
 
   float scrollBarHeight = 100.0f;
-  scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f) );
   Stage::GetCurrent().Add( scrollBar );
 
   Actor indicator = scrollBar.GetScrollIndicator();
@@ -847,7 +812,7 @@ int UtcDaliToolkitScrollBarSetIndicatorFixedHeightP(void)
   application.Render();
 
   // Check that the indicator size should be 50.0f
-  DALI_TEST_EQUALS( indicator.GetCurrentSize().y, 50.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y, 50.0f, TEST_LOCATION );
 
   // Set the indicator height to be fixed to 25.0f
   scrollBar.SetIndicatorFixedHeight(25.0f);
@@ -857,7 +822,7 @@ int UtcDaliToolkitScrollBarSetIndicatorFixedHeightP(void)
   application.Render();
 
   // Check that the indicator size should be 25.0f
-  DALI_TEST_EQUALS( indicator.GetCurrentSize().y, 25.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).y, 25.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -903,14 +868,14 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationP(void)
   DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), 0.35f, TEST_LOCATION );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Show the indicator
   scrollBar.ShowIndicator();
@@ -923,21 +888,21 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationP(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Set the duration to show the indicator to be 0.75 second
   scrollBar.SetIndicatorShowDuration(0.75);
   DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), 0.75f, TEST_LOCATION );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Show the indicator
   scrollBar.ShowIndicator();
@@ -950,7 +915,7 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationP(void)
   application.Render();
 
   // Check that the indicator is not fully visible yet
-  DALI_TEST_CHECK( indicator.GetCurrentOpacity() != 1.0f );
+  DALI_TEST_CHECK( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ) != 1.0f );
 
   // Wait for another 0.4 second
   Wait(application, 400);
@@ -960,7 +925,7 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationP(void)
   application.Render();
 
   // Check that the indicator is now fully visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -985,14 +950,14 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationN(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Show the indicator
   scrollBar.ShowIndicator();
@@ -1005,21 +970,21 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationN(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Now set the duration to show the indicator to be a negative value (which should be ignored and therefore means instant)
   scrollBar.SetIndicatorShowDuration(-0.25f);
   DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), -0.25f, TEST_LOCATION );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Show the indicator
   scrollBar.ShowIndicator();
@@ -1029,7 +994,7 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationN(void)
   application.Render();
 
   // Check that the indicator becomes instantly visible in the next frame
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1075,14 +1040,14 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationP(void)
   DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), 0.15f, TEST_LOCATION );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1095,21 +1060,21 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationP(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Set the duration to hide the indicator to be 0.65 second
   scrollBar.SetIndicatorHideDuration(0.65f);
   DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), 0.65f, TEST_LOCATION );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1122,7 +1087,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationP(void)
   application.Render();
 
   // Check that the indicator is not fully invisible yet
-  DALI_TEST_CHECK( indicator.GetCurrentOpacity() != 0.0f );
+  DALI_TEST_CHECK( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ) != 0.0f );
 
   // Wait for another 0.5 second
   Wait(application, 500);
@@ -1132,7 +1097,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationP(void)
   application.Render();
 
   // Check that the indicator is now fully invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1157,14 +1122,14 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationN(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1177,21 +1142,21 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationN(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Now set the duration to hide the indicator to be a negative value (which should be ignored and therefore means instant)
   scrollBar.SetIndicatorHideDuration(-0.25f);
   DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), -0.25f, TEST_LOCATION );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1201,7 +1166,7 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationN(void)
   application.Render();
 
   // Check that the indicator becomes instantly invisible in the next frame
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1249,14 +1214,14 @@ int UtcDaliToolkitScrollBarShowIndicatorP(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Show the indicator
   scrollBar.ShowIndicator();
@@ -1269,7 +1234,7 @@ int UtcDaliToolkitScrollBarShowIndicatorP(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1288,14 +1253,14 @@ int UtcDaliToolkitScrollBarShowIndicatorN(void)
   DALI_TEST_CHECK( indicator );
 
   // Make the indicator initially visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is initially visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Get the default duration to show the indicator
   float duration = scrollBar.GetIndicatorShowDuration();
@@ -1311,7 +1276,7 @@ int UtcDaliToolkitScrollBarShowIndicatorN(void)
   application.Render();
 
   // Check that the indicator is still visible in the very next frame
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1336,14 +1301,14 @@ int UtcDaliToolkitScrollBarHideIndicatorP(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1356,7 +1321,7 @@ int UtcDaliToolkitScrollBarHideIndicatorP(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1375,14 +1340,14 @@ int UtcDaliToolkitScrollBarHideIndicatorN(void)
   DALI_TEST_CHECK( indicator );
 
   // Make the indicator initially invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is initially invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Get the default duration to hide the indicator
   float duration = scrollBar.GetIndicatorHideDuration();
@@ -1398,7 +1363,7 @@ int UtcDaliToolkitScrollBarHideIndicatorN(void)
   application.Render();
 
   // Check that the indicator is still invisible in the very next frame
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1423,14 +1388,14 @@ int UtcDaliToolkitScrollBarActionShowIndicator(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Do the "ShowIndicator" action
   Property::Map emptyMap;
@@ -1444,7 +1409,7 @@ int UtcDaliToolkitScrollBarActionShowIndicator(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1469,14 +1434,14 @@ int UtcDaliToolkitScrollBarActionHideIndicator(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Do the "HideIndicator" action
   Property::Map emptyMap;
@@ -1490,7 +1455,7 @@ int UtcDaliToolkitScrollBarActionHideIndicator(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1515,14 +1480,14 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicator(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   // Do the "ShowIndicator" action
   Property::Map emptyMap;
@@ -1536,11 +1501,11 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicator(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Get the default duration to hide the indicator
   float hideDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_HIDE_DURATION );
-  float transientDuration = scrollBar.GetProperty<float>( DevelScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
+  float transientDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
   float totalVisibleDuration = hideDuration + transientDuration;
 
   // Check that the default duration is greater than 0
@@ -1554,7 +1519,7 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicator(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1573,7 +1538,7 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorImmediate(void)
   DALI_TEST_CHECK( indicator );
 
   // Make the indicator invisible
-  indicator.SetOpacity(0.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,0.0f);
 
   // Don't use a show animation; the indicator should appear immediately
   scrollBar.SetProperty( ScrollBar::Property::INDICATOR_SHOW_DURATION, 0.0f );
@@ -1596,11 +1561,11 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorImmediate(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Get the default duration to hide the indicator
   float hideDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_HIDE_DURATION );
-  float transientDuration = scrollBar.GetProperty<float>( DevelScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
+  float transientDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
   float totalVisibleDuration = hideDuration + transientDuration;
 
   // Check that the default duration is greater than 0
@@ -1614,7 +1579,7 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorImmediate(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1639,14 +1604,14 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorDuringHide(void)
   DALI_TEST_CHECK( duration > 0.0f );
 
   // Make the indicator visible
-  indicator.SetOpacity(1.0f);
+  indicator.SetProperty( Actor::Property::OPACITY,1.0f);
 
   // Render and notify
   application.SendNotification();
   application.Render();
 
   // Check that the indicator is visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Hide the indicator
   scrollBar.HideIndicator();
@@ -1659,7 +1624,7 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorDuringHide(void)
   application.Render();
 
   // Check that the indicator is now partially hidden
-  DALI_TEST_CHECK( indicator.GetCurrentOpacity() < 1.0f );
+  DALI_TEST_CHECK( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ) < 1.0f );
 
   // Now interrupt the Hide with a DoAction( "ShowTransientIndicator" )
 
@@ -1681,11 +1646,11 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorDuringHide(void)
   application.Render();
 
   // Check that the indicator is now visible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 1.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, TEST_LOCATION );
 
   // Get the default duration to hide the indicator
   float hideDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_HIDE_DURATION );
-  float transientDuration = scrollBar.GetProperty<float>( DevelScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
+  float transientDuration = scrollBar.GetProperty<float>( ScrollBar::Property::INDICATOR_TRANSIENT_DURATION );
   float totalVisibleDuration = hideDuration + transientDuration;
 
   // Check that the default duration is greater than 0
@@ -1699,7 +1664,7 @@ int UtcDaliToolkitScrollBarActionShowTransientIndicatorDuringHide(void)
   application.Render();
 
   // Check that the indicator is now invisible
-  DALI_TEST_EQUALS( indicator.GetCurrentOpacity(), 0.0f, TEST_LOCATION );
+  DALI_TEST_EQUALS( indicator.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, TEST_LOCATION );
 
   END_TEST;
 }
@@ -1712,9 +1677,9 @@ int UtcDaliToolkitScrollBarPanFinishedSignalP(void)
   ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical);
   DALI_TEST_CHECK( scrollBar );
 
-  scrollBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollBar.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollBar.SetSize(20.0f, 800.0f, 0.0f);
+  scrollBar.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, 800.0f, 0.0f) );
 
   // Set the indicator height to be fixed to 50.0f
   scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Fixed);
@@ -1755,7 +1720,7 @@ int UtcDaliToolkitScrollBarPanFinishedSignalP(void)
   application.Render();
 
   // Perform a swipe gesture on the indicator
-  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 20);
+  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 1, 500);
   DALI_TEST_EQUALS( gOnPanFinishedCalled, true, TEST_LOCATION );
   DALI_TEST_EQUALS( panFinished, true, TEST_LOCATION );
 
@@ -1770,9 +1735,9 @@ int UtcDaliToolkitScrollBarPanFinishedSignalN(void)
   ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical);
   DALI_TEST_CHECK( scrollBar );
 
-  scrollBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollBar.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollBar.SetSize(20.0f, 800.0f, 0.0f);
+  scrollBar.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, 800.0f, 0.0f) );
 
   // Set the indicator height to be fixed to 50.0f
   scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Fixed);
@@ -1791,7 +1756,7 @@ int UtcDaliToolkitScrollBarPanFinishedSignalN(void)
   application.Render();
 
   // Perform a vertical swipe gesture on the indicator when there is no source object set on the scroll bar
-  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 20);
+  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 20, 500);
   DALI_TEST_EQUALS( gOnPanFinishedCalled, false, TEST_LOCATION );
 
   // Create a source actor that owns the scroll properties required by the scroll bar
@@ -1817,12 +1782,12 @@ int UtcDaliToolkitScrollBarPanFinishedSignalN(void)
   application.Render();
 
   // Perform a swipe gesture on the scroll bar but not on the indicator
-  PerformGestureSwipe(application, Vector2(1.0f, 780.0f), Vector2(Vector2::YAXIS * -1.0f), 20);
+  PerformGestureSwipe(application, Vector2(1.0f, 780.0f), Vector2(Vector2::YAXIS * -1.0f), 20, 2000);
   DALI_TEST_EQUALS( gOnPanFinishedCalled, false, TEST_LOCATION );
   DALI_TEST_EQUALS( panFinished, false, TEST_LOCATION );
 
   // Perform a swipe gesture on the indicator
-  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 20);
+  PerformGestureSwipe(application, Vector2(1.0f, 1.0f), Vector2(Vector2::YAXIS * 1.0f), 20, 4000);
   DALI_TEST_EQUALS( gOnPanFinishedCalled, true, TEST_LOCATION );
   DALI_TEST_EQUALS( panFinished, true, TEST_LOCATION );
 
@@ -1837,9 +1802,9 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void)
   ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical);
   DALI_TEST_CHECK( scrollBar );
 
-  scrollBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollBar.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollBar.SetSize(20.0f, 800.0f, 0.0f);
+  scrollBar.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, 800.0f, 0.0f) );
 
   Stage::GetCurrent().Add( scrollBar );
   ConnectionTracker connectionTracker;
@@ -1953,9 +1918,9 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void)
   ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical);
   DALI_TEST_CHECK( scrollBar );
 
-  scrollBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
-  scrollBar.SetAnchorPoint(AnchorPoint::TOP_LEFT);
-  scrollBar.SetSize(20.0f, 800.0f, 0.0f);
+  scrollBar.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+  scrollBar.SetProperty( Actor::Property::SIZE, Vector3(20.0f, 800.0f, 0.0f) );
 
   Stage::GetCurrent().Add( scrollBar );