X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ScrollBar.cpp;h=c287c5e9555f7e94bd880ae7f23acc20e15020e8;hp=a56ca7c0d82f8e4b00dd7fbe018e76b5e5d57f8e;hb=HEAD;hpb=df89f9f230cadaac7be4007d1b1a7cf7dc893011 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ScrollBar.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ScrollBar.cpp index a56ca7c..c5ebbd9 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ScrollBar.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ScrollBar.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -15,11 +15,16 @@ * */ -#include #include +#include +#include + #include +#include "dali-toolkit-test-utils/toolkit-timer.h" + #include -#include +#include +#include using namespace Dali; using namespace Toolkit; @@ -36,50 +41,7 @@ void dali_scrollbar_cleanup(void) 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; -} +const int RENDER_FRAME_INTERVAL = 16; ///< Duration of each frame in ms. (at approx 60FPS) /* * Simulate time passed by. @@ -94,7 +56,7 @@ int Wait(ToolkitTestApplication& application, int duration = 0) { int time = 0; - for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++) + for(int i = 0; i <= (duration / RENDER_FRAME_INTERVAL); i++) { application.SendNotification(); application.Render(RENDER_FRAME_INTERVAL); @@ -107,7 +69,7 @@ int Wait(ToolkitTestApplication& application, int duration = 0) // Callback probes. static bool gOnPanFinishedCalled; ///< Whether the PanFinished signal was invoked. -static bool gOnScrollPositionIntervalReachedSignalCalled; ///< Whether the ScrollPositionIntervalReached signal was invoked. +static bool gOnScrollPositionIntervalReachedSignalCalled; ///< Whether the ScrollPositionIntervalReached signal was invoked. /** * Invoked when pan gesture is finished on the scroll indicator. @@ -117,36 +79,56 @@ static void OnPanFinished() gOnPanFinishedCalled = true; } +struct CallbackFunctor +{ + CallbackFunctor(bool* callbackFlag) + : mCallbackFlag(callbackFlag) + { + } + + void operator()() + { + *mCallbackFlag = true; + } + bool* mCallbackFlag; +}; + /** * Invoked when the current scroll position of the scrollable content goes above or below the values * specified by SCROLL_POSITION_INTERVALS property. * * @param[in] position The current scroll position. */ -static void OnScrollPositionIntervalReached( float position ) +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; @@ -159,7 +141,7 @@ int UtcDaliToolkitScrollBarConstructorP(void) ToolkitTestApplication application; ScrollBar scrollBar; - DALI_TEST_CHECK( !scrollBar ); + DALI_TEST_CHECK(!scrollBar); END_TEST; } @@ -168,11 +150,11 @@ int UtcDaliToolkitScrollBarCopyConstructorP(void) ToolkitTestApplication application; ScrollBar scrollBar = ScrollBar::New(); - scrollBar.SetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT, 38.2f ); + scrollBar.SetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT, 38.2f); - ScrollBar copy( scrollBar ); - DALI_TEST_CHECK( copy ); - DALI_TEST_CHECK( copy.GetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT ) == scrollBar.GetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT ) ); + ScrollBar copy(scrollBar); + DALI_TEST_CHECK(copy); + DALI_TEST_CHECK(copy.GetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT) == scrollBar.GetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT)); END_TEST; } @@ -181,11 +163,11 @@ int UtcDaliToolkitScrollBarAssignmentOperatorP(void) ToolkitTestApplication application; ScrollBar scrollBar = ScrollBar::New(); - scrollBar.SetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT, 38.2f ); + scrollBar.SetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT, 38.2f); ScrollBar copy = scrollBar; - DALI_TEST_CHECK( copy ); - DALI_TEST_CHECK( copy.GetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT ) == scrollBar.GetProperty( ScrollBar::Property::INDICATOR_FIXED_HEIGHT ) ); + DALI_TEST_CHECK(copy); + DALI_TEST_CHECK(copy.GetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT) == scrollBar.GetProperty(ScrollBar::Property::INDICATOR_FIXED_HEIGHT)); END_TEST; } @@ -196,7 +178,7 @@ int UtcDaliScrollBarDestructorP(void) ScrollBar* scrollBar = new ScrollBar(); delete scrollBar; - DALI_TEST_CHECK( true ); + DALI_TEST_CHECK(true); END_TEST; } @@ -205,16 +187,54 @@ int UtcDaliToolkitScrollBarNewP(void) ToolkitTestApplication application; ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); END_TEST; - ScrollBar vertical = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( vertical ); - DALI_TEST_CHECK( vertical.GetScrollDirection() == ScrollBar::Vertical ); + ScrollBar vertical = ScrollBar::New(ScrollBar::VERTICAL); + DALI_TEST_CHECK(vertical); + DALI_TEST_CHECK(vertical.GetScrollDirection() == ScrollBar::VERTICAL); - ScrollBar horizontal = ScrollBar::New(ScrollBar::Horizontal); - DALI_TEST_CHECK( horizontal ); - DALI_TEST_CHECK( horizontal.GetScrollDirection() == ScrollBar::Horizontal ); + Property::Value value = vertical.GetProperty(ScrollBar::Property::SCROLL_DIRECTION); + std::string scrollDirection = value.Get(); + DALI_TEST_EQUALS(scrollDirection, "VERTICAL", TEST_LOCATION); + + ScrollBar horizontal = ScrollBar::New(ScrollBar::HORIZONTAL); + DALI_TEST_CHECK(horizontal); + DALI_TEST_CHECK(horizontal.GetScrollDirection() == ScrollBar::HORIZONTAL); + value = vertical.GetProperty(ScrollBar::Property::SCROLL_DIRECTION); + scrollDirection = value.Get(); + DALI_TEST_EQUALS(scrollDirection, "HORIZONTAL", TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarCreateP(void) +{ + ToolkitTestApplication application; + + TypeRegistry typeRegistry = TypeRegistry::Get(); + DALI_TEST_CHECK(typeRegistry); + + TypeInfo typeInfo = typeRegistry.GetTypeInfo("ScrollBar"); + DALI_TEST_CHECK(typeInfo); + + BaseHandle handle = typeInfo.CreateInstance(); + DALI_TEST_CHECK(handle); + + ScrollBar scrollBar = ScrollBar::DownCast(handle); + DALI_TEST_CHECK(scrollBar); + + scrollBar.SetProperty(ScrollBar::Property::SCROLL_DIRECTION, "VERTICAL"); + scrollBar.SetProperty(ScrollBar::Property::INDICATOR_HEIGHT_POLICY, "FIXED"); + + DALI_TEST_EQUALS(scrollBar.GetScrollDirection(), Toolkit::ScrollBar::VERTICAL, TEST_LOCATION); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::FIXED, TEST_LOCATION); + + scrollBar.SetProperty(ScrollBar::Property::SCROLL_DIRECTION, "HORIZONTAL"); + scrollBar.SetProperty(ScrollBar::Property::INDICATOR_HEIGHT_POLICY, "VARIABLE"); + + DALI_TEST_EQUALS(scrollBar.GetScrollDirection(), Toolkit::ScrollBar::HORIZONTAL, TEST_LOCATION); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::VARIABLE, TEST_LOCATION); END_TEST; } @@ -223,14 +243,14 @@ int UtcDaliToolkitScrollBarDownCastP(void) { ToolkitTestApplication application; - ScrollBar scrollBar1 = ScrollBar::New(); - BaseHandle object( scrollBar1 ); + ScrollBar scrollBar1 = ScrollBar::New(); + BaseHandle object(scrollBar1); - ScrollBar scrollBar2 = ScrollBar::DownCast( object ); - DALI_TEST_CHECK( scrollBar2 ); + ScrollBar scrollBar2 = ScrollBar::DownCast(object); + DALI_TEST_CHECK(scrollBar2); - ScrollBar scrollBar3 = DownCast< ScrollBar >( object ); - DALI_TEST_CHECK( scrollBar3 ); + ScrollBar scrollBar3 = DownCast(object); + DALI_TEST_CHECK(scrollBar3); END_TEST; } @@ -239,11 +259,11 @@ int UtcDaliToolkitScrollBarDownCastN(void) ToolkitTestApplication application; BaseHandle uninitializedObject; - ScrollBar scrollBar1 = ScrollBar::DownCast( uninitializedObject ); - DALI_TEST_CHECK( !scrollBar1 ); + ScrollBar scrollBar1 = ScrollBar::DownCast(uninitializedObject); + DALI_TEST_CHECK(!scrollBar1); - ScrollBar scrollBar2 = DownCast< ScrollBar >( uninitializedObject ); - DALI_TEST_CHECK( !scrollBar2 ); + ScrollBar scrollBar2 = DownCast(uninitializedObject); + DALI_TEST_CHECK(!scrollBar2); END_TEST; } @@ -252,28 +272,28 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); - DALI_TEST_CHECK( scrollBar.GetScrollDirection() == ScrollBar::Vertical ); + ScrollBar scrollBar = ScrollBar::New(ScrollBar::VERTICAL); + DALI_TEST_CHECK(scrollBar); + DALI_TEST_CHECK(scrollBar.GetScrollDirection() == ScrollBar::VERTICAL); float scrollBarHeight = 100.0f; - scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f); - Stage::GetCurrent().Add( scrollBar ); + scrollBar.SetProperty(Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f)); + application.GetScene().Add(scrollBar); // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 100.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 500.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 100.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 500.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -283,75 +303,75 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void) application.Render(); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // 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; - DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION ); + float indicatorHeight = indicator.GetCurrentProperty(Actor::Property::SIZE).y; + DALI_TEST_EQUALS(indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION); // Decrease the content length - sourceActor.SetProperty( propertyScrollContentSize, 250.0f ); + sourceActor.SetProperty(propertyScrollContentSize, 250.0f); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator size is changed accordingly - indicatorHeight = indicator.GetCurrentSize().y; - DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 250.0f, TEST_LOCATION ); + indicatorHeight = indicator.GetCurrentProperty(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; - DALI_TEST_EQUALS( indicatorPosition, 0.0f, TEST_LOCATION ); + float indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, 0.0f, TEST_LOCATION); // Set the scroll position to the middle - sourceActor.SetProperty( propertyScrollPosition, -50.0f ); + sourceActor.SetProperty(propertyScrollPosition, -50.0f); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator should be in the middle of the scroll bar - indicatorPosition = indicator.GetCurrentPosition().y; - DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION ); + indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION); // Set the scroll position to the maximum - sourceActor.SetProperty( propertyScrollPosition, -100.0f ); + sourceActor.SetProperty(propertyScrollPosition, -100.0f); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator should be in the end of the scroll bar - indicatorPosition = indicator.GetCurrentPosition().y; - DALI_TEST_EQUALS( indicatorPosition, scrollBarHeight - indicatorHeight, TEST_LOCATION ); + indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, scrollBarHeight - indicatorHeight, TEST_LOCATION); // Increase the maximum scroll position to double - sourceActor.SetProperty( propertyMaxScrollPosition, 200.0f ); + sourceActor.SetProperty(propertyMaxScrollPosition, 200.0f); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator should be now in the middle of the scroll bar - indicatorPosition = indicator.GetCurrentPosition().y; - DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION ); + indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.5f, TEST_LOCATION); // Create another source actor Actor newSourceActor = Actor::New(); - Stage::GetCurrent().Add( newSourceActor ); + application.GetScene().Add(newSourceActor); // Register the scroll properties - Property::Index newPropertyScrollPosition = newSourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index newPropertyMinScrollPosition = newSourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index newPropertyMaxScrollPosition = newSourceActor.RegisterProperty( "source-position-max", 200.0f ); - Property::Index newPropertyScrollContentSize = newSourceActor.RegisterProperty( "source-content-size", 400.0f ); + Property::Index newPropertyScrollPosition = newSourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index newPropertyMinScrollPosition = newSourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index newPropertyMaxScrollPosition = newSourceActor.RegisterProperty("sourcePositionMax", 200.0f); + Property::Index newPropertyScrollContentSize = newSourceActor.RegisterProperty("sourceContentSize", 400.0f); - DALI_TEST_EQUALS( newSourceActor.GetPropertyIndex( "source-position" ), newPropertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( newSourceActor.GetPropertyIndex( "source-position-min" ), newPropertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( newSourceActor.GetPropertyIndex( "source-position-max" ), newPropertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( newSourceActor.GetPropertyIndex( "source-content-size" ), newPropertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(newSourceActor.GetPropertyIndex("sourcePosition"), newPropertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(newSourceActor.GetPropertyIndex("sourcePositionMin"), newPropertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(newSourceActor.GetPropertyIndex("sourcePositionMax"), newPropertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(newSourceActor.GetPropertyIndex("sourceContentSize"), newPropertyScrollContentSize, TEST_LOCATION); // Change the source of the scroll position properties to be the new source actor. scrollBar.SetScrollPropertySource(newSourceActor, newPropertyScrollPosition, newPropertyMinScrollPosition, newPropertyMaxScrollPosition, newPropertyScrollContentSize); @@ -361,23 +381,23 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceP(void) application.Render(); // Check that the indicator size is changed accordingly - indicatorHeight = indicator.GetCurrentSize().y; - DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 400.0f, TEST_LOCATION ); + indicatorHeight = indicator.GetCurrentProperty(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; - DALI_TEST_EQUALS( indicatorPosition, 0.0f, TEST_LOCATION ); + indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, 0.0f, TEST_LOCATION); // Set the scroll position to one fifth of the maximum - newSourceActor.SetProperty( propertyScrollPosition, -40.0f ); + newSourceActor.SetProperty(propertyScrollPosition, -40.0f); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator should be in one fifth from the beginning of the scroll bar - indicatorPosition = indicator.GetCurrentPosition().y; - DALI_TEST_EQUALS( indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.2f, TEST_LOCATION ); + indicatorPosition = indicator.GetCurrentProperty(Actor::Property::POSITION).y; + DALI_TEST_EQUALS(indicatorPosition, (scrollBarHeight - indicatorHeight) * 0.2f, TEST_LOCATION); END_TEST; } @@ -388,13 +408,13 @@ int UtcDaliToolkitScrollBarSetScrollPropertySourceN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); // Set empty handle of source object and invalid source property index. Actor sourceActor; scrollBar.SetScrollPropertySource(sourceActor, Property::INVALID_INDEX, Property::INVALID_INDEX, Property::INVALID_INDEX, Property::INVALID_INDEX); - DALI_TEST_CHECK( true ); + DALI_TEST_CHECK(true); END_TEST; } @@ -404,19 +424,24 @@ int UtcDaliToolkitScrollBarSetScrollIndicatorP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Set a new indicator Actor newIndicator = Actor::New(); scrollBar.SetScrollIndicator(newIndicator); // Check that the new indicator is successfully set - DALI_TEST_CHECK( indicator != scrollBar.GetScrollIndicator() ); - DALI_TEST_CHECK( newIndicator == scrollBar.GetScrollIndicator() ); + DALI_TEST_CHECK(indicator != scrollBar.GetScrollIndicator()); + DALI_TEST_CHECK(newIndicator == scrollBar.GetScrollIndicator()); + // Check that the new control indicator is successfully set + Control controlIndicator = Control::New(); + scrollBar.SetScrollIndicator(controlIndicator); + + DALI_TEST_CHECK(controlIndicator == Control::DownCast(scrollBar.GetScrollIndicator())); END_TEST; } @@ -426,18 +451,18 @@ int UtcDaliToolkitScrollBarSetScrollIndicatorN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Try to set an uninitialized actor as the indicator Actor uninitializedIndicator; scrollBar.SetScrollIndicator(uninitializedIndicator); // Check that the uninitialized actor can not be set as the indicator - DALI_TEST_CHECK( indicator == scrollBar.GetScrollIndicator() ); - DALI_TEST_CHECK( uninitializedIndicator != scrollBar.GetScrollIndicator() ); + DALI_TEST_CHECK(indicator == scrollBar.GetScrollIndicator()); + DALI_TEST_CHECK(uninitializedIndicator != scrollBar.GetScrollIndicator()); END_TEST; } @@ -448,19 +473,19 @@ int UtcDaliToolkitScrollBarGetScrollIndicatorP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Set a new indicator Actor newIndicator = Actor::New(); scrollBar.SetScrollIndicator(newIndicator); // Check that the new indicator is successfully set - DALI_TEST_CHECK( scrollBar.GetScrollIndicator() ); - DALI_TEST_CHECK( indicator != scrollBar.GetScrollIndicator() ); - DALI_TEST_CHECK( newIndicator == scrollBar.GetScrollIndicator() ); + DALI_TEST_CHECK(scrollBar.GetScrollIndicator()); + DALI_TEST_CHECK(indicator != scrollBar.GetScrollIndicator()); + DALI_TEST_CHECK(newIndicator == scrollBar.GetScrollIndicator()); END_TEST; } @@ -471,18 +496,18 @@ int UtcDaliToolkitScrollBarGetScrollIndicatorN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Try to set an uninitialized actor as the indicator Actor uninitializedIndicator; scrollBar.SetScrollIndicator(uninitializedIndicator); // Check that the indicator has not been changed - DALI_TEST_CHECK( indicator == scrollBar.GetScrollIndicator() ); - DALI_TEST_CHECK( uninitializedIndicator != scrollBar.GetScrollIndicator() ); + DALI_TEST_CHECK(indicator == scrollBar.GetScrollIndicator()); + DALI_TEST_CHECK(uninitializedIndicator != scrollBar.GetScrollIndicator()); END_TEST; } @@ -492,17 +517,17 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + 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 ); + application.GetScene().Add(scrollBar); // Connect to the ScrollPositionIntervalReached signal - scrollBar.ScrollPositionIntervalReachedSignal().Connect( &OnScrollPositionIntervalReached ); + scrollBar.ScrollPositionIntervalReachedSignal().Connect(&OnScrollPositionIntervalReached); // Render and notify application.SendNotification(); @@ -510,18 +535,18 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 800.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 2000.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 800.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 2000.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -532,9 +557,9 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) // Set the values to get notified when the scroll positions of the source actor goes above or below these values Dali::Vector positionIntervals; - for( size_t i = 0; i != 10; ++i ) + for(size_t i = 0; i != 10; ++i) { - positionIntervals.PushBack( -80.0f * i ); // should get notified for each 80 pixels + positionIntervals.PushBack(-80.0f * i); // should get notified for each 80 pixels } scrollBar.SetScrollPositionIntervals(positionIntervals); @@ -542,31 +567,31 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) Dali::Vector results = scrollBar.GetScrollPositionIntervals(); // Check that the result is the same as the list previously set. - DALI_TEST_EQUALS( positionIntervals.Count(), results.Count(), TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[0], results[0], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[1], results[1], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[2], results[2], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[3], results[3], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[4], results[4], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[5], results[5], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[6], results[6], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[7], results[7], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[8], results[8], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[9], results[9], TEST_LOCATION ); + DALI_TEST_EQUALS(positionIntervals.Count(), results.Count(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[0], results[0], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[1], results[1], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[2], results[2], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[3], results[3], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[4], results[4], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[5], results[5], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[6], results[6], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[7], results[7], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[8], results[8], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[9], results[9], TEST_LOCATION); // Reset the flag gOnScrollPositionIntervalReachedSignalCalled = false; // Animate the scroll position to cross the specified value Animation animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -85.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -85.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); // Reset the flag gOnScrollPositionIntervalReachedSignalCalled = false; @@ -577,14 +602,14 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) // Animate the scroll position to cross another specified value animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -170.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -170.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); // Reset the flag gOnScrollPositionIntervalReachedSignalCalled = false; @@ -595,14 +620,14 @@ int UtcDaliToolkitScrollBarSetScrollPositionIntervalsP(void) // Animate the scroll position back to the previous value animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -85.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -85.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); END_TEST; } @@ -612,14 +637,14 @@ int UtcDaliToolkitScrollBarGetScrollPositionIntervalsP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + ScrollBar scrollBar = ScrollBar::New(ScrollBar::VERTICAL); + DALI_TEST_CHECK(scrollBar); // Set the values to get notified when the scroll positions of the source actor goes above or below these values Dali::Vector positionIntervals; - for( size_t i = 0; i != 10; ++i ) + for(size_t i = 0; i != 10; ++i) { - positionIntervals.PushBack( -80.0f * i ); // should get notified for each 80 pixels + positionIntervals.PushBack(-80.0f * i); // should get notified for each 80 pixels } scrollBar.SetScrollPositionIntervals(positionIntervals); @@ -627,17 +652,31 @@ int UtcDaliToolkitScrollBarGetScrollPositionIntervalsP(void) Dali::Vector results = scrollBar.GetScrollPositionIntervals(); // Check that the result is the same as the list previously set. - DALI_TEST_EQUALS( positionIntervals.Count(), results.Count(), TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[0], results[0], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[1], results[1], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[2], results[2], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[3], results[3], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[4], results[4], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[5], results[5], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[6], results[6], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[7], results[7], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[8], results[8], TEST_LOCATION ); - DALI_TEST_EQUALS( positionIntervals[9], results[9], TEST_LOCATION ); + DALI_TEST_EQUALS(positionIntervals.Count(), results.Count(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[0], results[0], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[1], results[1], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[2], results[2], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[3], results[3], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[4], results[4], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[5], results[5], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[6], results[6], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[7], results[7], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[8], results[8], TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[9], results[9], TEST_LOCATION); + + Property::Array resultArray = scrollBar.GetProperty(Toolkit::ScrollBar::Property::SCROLL_POSITION_INTERVALS); + + DALI_TEST_EQUALS(positionIntervals.Count(), resultArray.Count(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[0], resultArray[0].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[1], resultArray[1].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[2], resultArray[2].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[3], resultArray[3].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[4], resultArray[4].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[5], resultArray[5].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[6], resultArray[6].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[7], resultArray[7].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[8], resultArray[8].Get(), TEST_LOCATION); + DALI_TEST_EQUALS(positionIntervals[9], resultArray[9].Get(), TEST_LOCATION); END_TEST; } @@ -647,13 +686,13 @@ int UtcDaliToolkitScrollBarGetScrollDirectionP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); - DALI_TEST_CHECK( scrollBar.GetScrollDirection() == ScrollBar::Vertical ); + ScrollBar scrollBar = ScrollBar::New(ScrollBar::VERTICAL); + DALI_TEST_CHECK(scrollBar); + DALI_TEST_CHECK(scrollBar.GetScrollDirection() == ScrollBar::VERTICAL); // Change the direction of scroll bar to horizontal - scrollBar.SetScrollDirection(ScrollBar::Horizontal); - DALI_TEST_CHECK( scrollBar.GetScrollDirection() == ScrollBar::Horizontal ); + scrollBar.SetScrollDirection(ScrollBar::HORIZONTAL); + DALI_TEST_CHECK(scrollBar.GetScrollDirection() == ScrollBar::HORIZONTAL); END_TEST; } @@ -664,26 +703,26 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); float scrollBarHeight = 100.0f; - scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f); - Stage::GetCurrent().Add( scrollBar ); + scrollBar.SetProperty(Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f)); + application.GetScene().Add(scrollBar); // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 100.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 500.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 100.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 500.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -693,35 +732,40 @@ int UtcDaliToolkitScrollBarSetIndicatorHeightPolicyP(void) application.Render(); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // 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; - DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION ); + float indicatorHeight = indicator.GetCurrentProperty(Actor::Property::SIZE).y; + DALI_TEST_EQUALS(indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION); // Set the indicator height to be fixed to 50.0f - scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Fixed); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::FIXED); scrollBar.SetIndicatorFixedHeight(50.0f); + Property::Value value = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HEIGHT_POLICY); + DALI_TEST_EQUALS(value.Get(), "FIXED", TEST_LOCATION); + // Render and notify application.SendNotification(); application.Render(); // Check that the indicator size should be 50.0f - indicatorHeight = indicator.GetCurrentSize().y; - DALI_TEST_EQUALS( indicatorHeight, 50.0f, TEST_LOCATION ); + indicatorHeight = indicator.GetCurrentProperty(Actor::Property::SIZE).y; + DALI_TEST_EQUALS(indicatorHeight, 50.0f, TEST_LOCATION); // Set the indicator height to be variable - scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Variable); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::VARIABLE); + value = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HEIGHT_POLICY); + DALI_TEST_EQUALS(value.Get(), "VARIABLE", TEST_LOCATION); // Render and notify application.SendNotification(); application.Render(); // Check that the indicator size should be: scroll bar size * (scroll bar size / content size). - indicatorHeight = indicator.GetCurrentSize().y; - DALI_TEST_EQUALS( indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION ); + indicatorHeight = indicator.GetCurrentProperty(Actor::Property::SIZE).y; + DALI_TEST_EQUALS(indicatorHeight, scrollBarHeight * scrollBarHeight / 500.0f, TEST_LOCATION); END_TEST; } @@ -732,15 +776,15 @@ int UtcDaliToolkitScrollBarGetIndicatorHeightPolicyP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); // Set the indicator height to be fixed - scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Fixed); - DALI_TEST_EQUALS( scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::Fixed, TEST_LOCATION ); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::FIXED); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::FIXED, TEST_LOCATION); // Set the indicator height to be variable - scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Variable); - DALI_TEST_EQUALS( scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::Variable, TEST_LOCATION ); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::VARIABLE); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHeightPolicy(), Toolkit::ScrollBar::VARIABLE, TEST_LOCATION); END_TEST; } @@ -751,17 +795,17 @@ int UtcDaliToolkitScrollBarSetIndicatorFixedHeightP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); float scrollBarHeight = 100.0f; - scrollBar.SetSize(20.0f, scrollBarHeight, 0.0f); - Stage::GetCurrent().Add( scrollBar ); + scrollBar.SetProperty(Actor::Property::SIZE, Vector3(20.0f, scrollBarHeight, 0.0f)); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Set the indicator height to be fixed to 50.0f - scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::Fixed); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::FIXED); scrollBar.SetIndicatorFixedHeight(50.0f); // Render and notify @@ -769,7 +813,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(Actor::Property::SIZE).y, 50.0f, TEST_LOCATION); // Set the indicator height to be fixed to 25.0f scrollBar.SetIndicatorFixedHeight(25.0f); @@ -779,7 +823,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(Actor::Property::SIZE).y, 25.0f, TEST_LOCATION); END_TEST; } @@ -790,19 +834,19 @@ int UtcDaliToolkitScrollBarGetIndicatorFixedHeightP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); // Set the fixed indicator height to be 50.0f scrollBar.SetIndicatorFixedHeight(50.0f); // Check that the indicator size should be 50.0f - DALI_TEST_EQUALS( scrollBar.GetIndicatorFixedHeight(), 50.0f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorFixedHeight(), 50.0f, TEST_LOCATION); // Set the indicator height to be fixed to 25.0f scrollBar.SetIndicatorFixedHeight(25.0f); // Check that the indicator size should be 50.0f - DALI_TEST_EQUALS( scrollBar.GetIndicatorFixedHeight(), 25.0f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorFixedHeight(), 25.0f, TEST_LOCATION); END_TEST; } @@ -813,26 +857,26 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Set the duration to show the indicator to be 0.35 second scrollBar.SetIndicatorShowDuration(0.35); - DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), 0.35f, TEST_LOCATION ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Show the indicator scrollBar.ShowIndicator(); @@ -845,21 +889,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(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 ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Show the indicator scrollBar.ShowIndicator(); @@ -872,7 +916,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(Actor::Property::OPACITY) != 1.0f); // Wait for another 0.4 second Wait(application, 400); @@ -882,7 +926,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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); END_TEST; } @@ -893,28 +937,28 @@ int UtcDaliToolkitScrollBarSetIndicatorShowDurationN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Get the default duration to show the indicator float duration = scrollBar.GetIndicatorShowDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Show the indicator scrollBar.ShowIndicator(); @@ -927,21 +971,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(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 ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Show the indicator scrollBar.ShowIndicator(); @@ -951,7 +995,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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); END_TEST; } @@ -962,19 +1006,19 @@ int UtcDaliToolkitScrollBarGetIndicatorShowDurationP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); // Set the duration to show the indicator to be 0.35 second scrollBar.SetIndicatorShowDuration(0.35f); // Check that the duration to show the indicator is 0.35 second - DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), 0.35f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorShowDuration(), 0.35f, TEST_LOCATION); // Set the duration to show the indicator to be 0.75 second scrollBar.SetIndicatorShowDuration(0.75f); // Check that the duration to show the indicator is 0.75 second - DALI_TEST_EQUALS( scrollBar.GetIndicatorShowDuration(), 0.75f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorShowDuration(), 0.75f, TEST_LOCATION); END_TEST; } @@ -985,26 +1029,26 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Set the duration to hide the indicator to be 0.15 second scrollBar.SetIndicatorHideDuration(0.15f); - DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), 0.15f, TEST_LOCATION ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Hide the indicator scrollBar.HideIndicator(); @@ -1017,21 +1061,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(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 ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Hide the indicator scrollBar.HideIndicator(); @@ -1044,7 +1088,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(Actor::Property::OPACITY) != 0.0f); // Wait for another 0.5 second Wait(application, 500); @@ -1054,7 +1098,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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); END_TEST; } @@ -1065,28 +1109,28 @@ int UtcDaliToolkitScrollBarSetIndicatorHideDurationN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Get the default duration to hide the indicator float duration = scrollBar.GetIndicatorHideDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Hide the indicator scrollBar.HideIndicator(); @@ -1099,21 +1143,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(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 ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Hide the indicator scrollBar.HideIndicator(); @@ -1123,7 +1167,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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); END_TEST; } @@ -1134,19 +1178,19 @@ int UtcDaliToolkitScrollBarGetIndicatorHideDurationP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); // Set the duration to hide the indicator to be 0.15 second scrollBar.SetIndicatorHideDuration(0.15f); // Check that the duration to hide the indicator is 0.15 second - DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), 0.15f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHideDuration(), 0.15f, TEST_LOCATION); // Set the duration to hide the indicator to be 0.65 second scrollBar.SetIndicatorHideDuration(0.65f); // Check that the duration to hide the indicator is 0.65 second - DALI_TEST_EQUALS( scrollBar.GetIndicatorHideDuration(), 0.65f, TEST_LOCATION ); + DALI_TEST_EQUALS(scrollBar.GetIndicatorHideDuration(), 0.65f, TEST_LOCATION); END_TEST; } @@ -1157,28 +1201,28 @@ int UtcDaliToolkitScrollBarShowIndicatorP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Get the default duration to show the indicator float duration = scrollBar.GetIndicatorShowDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Show the indicator scrollBar.ShowIndicator(); @@ -1191,7 +1235,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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); END_TEST; } @@ -1202,28 +1246,28 @@ int UtcDaliToolkitScrollBarShowIndicatorN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Get the default duration to show the indicator float duration = scrollBar.GetIndicatorShowDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + DALI_TEST_CHECK(duration > 0.0f); // Show the indicator scrollBar.ShowIndicator(); @@ -1233,7 +1277,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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); END_TEST; } @@ -1244,28 +1288,28 @@ int UtcDaliToolkitScrollBarHideIndicatorP(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + DALI_TEST_CHECK(indicator); // Get the default duration to hide the indicator float duration = scrollBar.GetIndicatorHideDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + 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(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); // Hide the indicator scrollBar.HideIndicator(); @@ -1278,7 +1322,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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); END_TEST; } @@ -1289,28 +1333,28 @@ int UtcDaliToolkitScrollBarHideIndicatorN(void) // Create a scroll bar ScrollBar scrollBar = ScrollBar::New(); - DALI_TEST_CHECK( scrollBar ); + DALI_TEST_CHECK(scrollBar); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); Actor indicator = scrollBar.GetScrollIndicator(); - DALI_TEST_CHECK( indicator ); + 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); // Get the default duration to hide the indicator float duration = scrollBar.GetIndicatorHideDuration(); // Check that the default duration is greater than 0 - DALI_TEST_CHECK( duration > 0.0f ); + DALI_TEST_CHECK(duration > 0.0f); // Hide the indicator scrollBar.HideIndicator(); @@ -1320,7 +1364,308 @@ 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(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarActionShowIndicator(void) +{ + ToolkitTestApplication application; + + // Create a scroll bar + ScrollBar scrollBar = ScrollBar::New(); + DALI_TEST_CHECK(scrollBar); + + application.GetScene().Add(scrollBar); + + Actor indicator = scrollBar.GetScrollIndicator(); + DALI_TEST_CHECK(indicator); + + // Get the default duration to hide the indicator + float duration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_SHOW_DURATION); + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(duration > 0.0f); + + // Make the indicator invisible + indicator.SetProperty(Actor::Property::OPACITY, 0.0f); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + // Do the "ShowIndicator" action + Property::Map emptyMap; + scrollBar.DoAction("ShowIndicator", emptyMap); + + // Wait for the specified duration + Wait(application, duration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarActionHideIndicator(void) +{ + ToolkitTestApplication application; + + // Create a scroll bar + ScrollBar scrollBar = ScrollBar::New(); + DALI_TEST_CHECK(scrollBar); + + application.GetScene().Add(scrollBar); + + Actor indicator = scrollBar.GetScrollIndicator(); + DALI_TEST_CHECK(indicator); + + // Get the default duration to hide the indicator + float duration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HIDE_DURATION); + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(duration > 0.0f); + + // Make the indicator visible + indicator.SetProperty(Actor::Property::OPACITY, 1.0f); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + // Do the "HideIndicator" action + Property::Map emptyMap; + scrollBar.DoAction("HideIndicator", emptyMap); + + // Wait for the specified duration + Wait(application, duration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarActionShowTransientIndicator(void) +{ + ToolkitTestApplication application; + + // Create a scroll bar + ScrollBar scrollBar = ScrollBar::New(); + DALI_TEST_CHECK(scrollBar); + + application.GetScene().Add(scrollBar); + + Actor indicator = scrollBar.GetScrollIndicator(); + DALI_TEST_CHECK(indicator); + + // Get the default duration to hide the indicator + float duration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_SHOW_DURATION); + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(duration > 0.0f); + + // Make the indicator invisible + indicator.SetProperty(Actor::Property::OPACITY, 0.0f); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + // Do the "ShowIndicator" action + Property::Map emptyMap; + scrollBar.DoAction("ShowTransientIndicator", emptyMap); + + // Wait for the specified duration + Wait(application, duration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + // Get the default duration to hide the indicator + float hideDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HIDE_DURATION); + float transientDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_TRANSIENT_DURATION); + float totalVisibleDuration = hideDuration + transientDuration; + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(totalVisibleDuration > 0.0f); + + // Wait for the specified duration + Wait(application, totalVisibleDuration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarActionShowTransientIndicatorImmediate(void) +{ + ToolkitTestApplication application; + + // Create a scroll bar + ScrollBar scrollBar = ScrollBar::New(); + DALI_TEST_CHECK(scrollBar); + + application.GetScene().Add(scrollBar); + + Actor indicator = scrollBar.GetScrollIndicator(); + DALI_TEST_CHECK(indicator); + + // Make the indicator invisible + 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); + float duration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_SHOW_DURATION); + DALI_TEST_EQUALS(duration, 0.0f, TEST_LOCATION); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Do the "ShowIndicator" action + Property::Map emptyMap; + scrollBar.DoAction("ShowTransientIndicator", emptyMap); + + // Wait for the specified duration + Wait(application); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + // Get the default duration to hide the indicator + float hideDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HIDE_DURATION); + float transientDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_TRANSIENT_DURATION); + float totalVisibleDuration = hideDuration + transientDuration; + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(totalVisibleDuration > 0.0f); + + // Wait for the specified duration + Wait(application, totalVisibleDuration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitScrollBarActionShowTransientIndicatorDuringHide(void) +{ + ToolkitTestApplication application; + + // Create a scroll bar + ScrollBar scrollBar = ScrollBar::New(); + DALI_TEST_CHECK(scrollBar); + + application.GetScene().Add(scrollBar); + + Actor indicator = scrollBar.GetScrollIndicator(); + DALI_TEST_CHECK(indicator); + + // Get the default duration to hide the indicator + float duration = scrollBar.GetIndicatorHideDuration(); + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(duration > 0.0f); + + // Make the indicator visible + indicator.SetProperty(Actor::Property::OPACITY, 1.0f); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + // Hide the indicator + scrollBar.HideIndicator(); + + // Wait for half the specified duration + Wait(application, duration * 0.5f * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now partially hidden + DALI_TEST_CHECK(indicator.GetCurrentProperty(Actor::Property::OPACITY) < 1.0f); + + // Now interrupt the Hide with a DoAction( "ShowTransientIndicator" ) + + // Get the default duration to hide the indicator + duration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_SHOW_DURATION); + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(duration > 0.0f); + + // Do the "ShowIndicator" action + Property::Map emptyMap; + scrollBar.DoAction("ShowTransientIndicator", emptyMap); + + // Wait for the specified duration + Wait(application, duration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now visible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 1.0f, TEST_LOCATION); + + // Get the default duration to hide the indicator + float hideDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_HIDE_DURATION); + float transientDuration = scrollBar.GetProperty(ScrollBar::Property::INDICATOR_TRANSIENT_DURATION); + float totalVisibleDuration = hideDuration + transientDuration; + + // Check that the default duration is greater than 0 + DALI_TEST_CHECK(totalVisibleDuration > 0.0f); + + // Wait for the specified duration + Wait(application, totalVisibleDuration * 1000); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Check that the indicator is now invisible + DALI_TEST_EQUALS(indicator.GetCurrentProperty(Actor::Property::OPACITY), 0.0f, TEST_LOCATION); END_TEST; } @@ -1330,21 +1675,24 @@ int UtcDaliToolkitScrollBarPanFinishedSignalP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + 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); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::FIXED); scrollBar.SetIndicatorFixedHeight(50.0f); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); // Connect the pan finished signal - scrollBar.PanFinishedSignal().Connect( &OnPanFinished ); + ConnectionTracker connectionTracker; + bool panFinished = false; + scrollBar.PanFinishedSignal().Connect(&OnPanFinished); + scrollBar.ConnectSignal(&connectionTracker, "panFinished", CallbackFunctor(&panFinished)); // Render and notify application.SendNotification(); @@ -1352,18 +1700,18 @@ int UtcDaliToolkitScrollBarPanFinishedSignalP(void) // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 100.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 500.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 100.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 500.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -1373,8 +1721,9 @@ 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); - DALI_TEST_EQUALS( gOnPanFinishedCalled, true, TEST_LOCATION ); + 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); END_TEST; } @@ -1384,44 +1733,47 @@ int UtcDaliToolkitScrollBarPanFinishedSignalN(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + 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); + scrollBar.SetIndicatorHeightPolicy(Toolkit::ScrollBar::FIXED); scrollBar.SetIndicatorFixedHeight(50.0f); - Stage::GetCurrent().Add( scrollBar ); + application.GetScene().Add(scrollBar); // Connect the pan finished signal - scrollBar.PanFinishedSignal().Connect( &OnPanFinished ); + ConnectionTracker connectionTracker; + bool panFinished = false; + scrollBar.PanFinishedSignal().Connect(&OnPanFinished); + scrollBar.ConnectSignal(&connectionTracker, "panFinished", CallbackFunctor(&panFinished)); // Render and notify application.SendNotification(); 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); - DALI_TEST_EQUALS( gOnPanFinishedCalled, false, TEST_LOCATION ); + 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 Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 100.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 500.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 100.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 500.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -1431,12 +1783,14 @@ 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); - DALI_TEST_EQUALS( gOnPanFinishedCalled, false, TEST_LOCATION ); + 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); - DALI_TEST_EQUALS( gOnPanFinishedCalled, true, TEST_LOCATION ); + 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); END_TEST; } @@ -1446,17 +1800,20 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + 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 ); + application.GetScene().Add(scrollBar); + ConnectionTracker connectionTracker; // Connect to the ScrollPositionIntervalReached signal - scrollBar.ScrollPositionIntervalReachedSignal().Connect( &OnScrollPositionIntervalReached ); + bool intervalReached = false; + scrollBar.ScrollPositionIntervalReachedSignal().Connect(&OnScrollPositionIntervalReached); + scrollBar.ConnectSignal(&connectionTracker, "scrollPositionIntervalReached", CallbackFunctor(&intervalReached)); // Render and notify application.SendNotification(); @@ -1464,18 +1821,18 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 800.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 2000.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 800.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 2000.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -1486,9 +1843,9 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) // Set the values to get notified when the scroll positions of the source actor goes above or below these values Dali::Vector positionIntervals; - for( size_t i = 0; i != 10; ++i ) + for(size_t i = 0; i != 10; ++i) { - positionIntervals.PushBack( -80.0f * i ); // should get notified for each 80 pixels + positionIntervals.PushBack(-80.0f * i); // should get notified for each 80 pixels } scrollBar.SetScrollPositionIntervals(positionIntervals); @@ -1501,17 +1858,19 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) // Animate the scroll position to cross the specified value Animation animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -85.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -85.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); + DALI_TEST_EQUALS(intervalReached, true, TEST_LOCATION); // Reset the flag gOnScrollPositionIntervalReachedSignalCalled = false; + intervalReached = false; // Rest and clear the animation animation.Clear(); @@ -1519,17 +1878,19 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) // Animate the scroll position to cross another specified value animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -170.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -170.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); + DALI_TEST_EQUALS(intervalReached, true, TEST_LOCATION); // Reset the flag gOnScrollPositionIntervalReachedSignalCalled = false; + intervalReached = false; // Rest and clear the animation animation.Clear(); @@ -1537,14 +1898,15 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalP(void) // Animate the scroll position back to the previous value animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -85.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -85.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); + DALI_TEST_EQUALS(intervalReached, true, TEST_LOCATION); END_TEST; } @@ -1554,17 +1916,17 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void) ToolkitTestApplication application; // Create a vertical scroll bar - ScrollBar scrollBar = ScrollBar::New(ScrollBar::Vertical); - DALI_TEST_CHECK( scrollBar ); + 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 ); + application.GetScene().Add(scrollBar); // Connect to the ScrollPositionIntervalReached signal - scrollBar.ScrollPositionIntervalReachedSignal().Connect( &OnScrollPositionIntervalReached ); + scrollBar.ScrollPositionIntervalReachedSignal().Connect(&OnScrollPositionIntervalReached); // Render and notify application.SendNotification(); @@ -1572,18 +1934,18 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void) // Create a source actor that owns the scroll properties required by the scroll bar Actor sourceActor = Actor::New(); - Stage::GetCurrent().Add( sourceActor ); + application.GetScene().Add(sourceActor); // Register the scroll properties - Property::Index propertyScrollPosition = sourceActor.RegisterProperty( "source-position", 0.0f ); - Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty( "source-position-min", 0.0f ); - Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty( "source-position-max", 800.0f ); - Property::Index propertyScrollContentSize = sourceActor.RegisterProperty( "source-content-size", 2000.0f ); + Property::Index propertyScrollPosition = sourceActor.RegisterProperty("sourcePosition", 0.0f); + Property::Index propertyMinScrollPosition = sourceActor.RegisterProperty("sourcePositionMin", 0.0f); + Property::Index propertyMaxScrollPosition = sourceActor.RegisterProperty("sourcePositionMax", 800.0f); + Property::Index propertyScrollContentSize = sourceActor.RegisterProperty("sourceContentSize", 2000.0f); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position" ), propertyScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-min" ), propertyMinScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-position-max" ), propertyMaxScrollPosition, TEST_LOCATION ); - DALI_TEST_EQUALS( sourceActor.GetPropertyIndex( "source-content-size" ), propertyScrollContentSize, TEST_LOCATION ); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePosition"), propertyScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMin"), propertyMinScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourcePositionMax"), propertyMaxScrollPosition, TEST_LOCATION); + DALI_TEST_EQUALS(sourceActor.GetPropertyIndex("sourceContentSize"), propertyScrollContentSize, TEST_LOCATION); // Set the source of the scroll position properties. scrollBar.SetScrollPropertySource(sourceActor, propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize); @@ -1594,9 +1956,9 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void) // Set the values to get notified when the scroll positions of the source actor goes above or below these values Dali::Vector positionIntervals; - for( size_t i = 0; i != 10; ++i ) + for(size_t i = 0; i != 10; ++i) { - positionIntervals.PushBack( -80.0f * i ); // should get notified for each 80 pixels + positionIntervals.PushBack(-80.0f * i); // should get notified for each 80 pixels } scrollBar.SetScrollPositionIntervals(positionIntervals); @@ -1609,14 +1971,14 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void) // Animate the scroll position not to cross the specified value Animation animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -70.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -70.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is not called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, false, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, false, TEST_LOCATION); // Rest and clear the animation animation.Clear(); @@ -1624,16 +1986,14 @@ int UtcDaliToolkitScrollBarScrollPositionIntervalReachedSignalN(void) // Animate the scroll position to cross another specified value animation = Animation::New(0.1f); - animation.AnimateTo( Property( sourceActor, propertyScrollPosition ), -85.0f ); + animation.AnimateTo(Property(sourceActor, propertyScrollPosition), -85.0f); animation.Play(); // Wait for 0.1 second Wait(application, 100); // Check that the signal callback is called - DALI_TEST_EQUALS( gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(gOnScrollPositionIntervalReachedSignalCalled, true, TEST_LOCATION); END_TEST; } - -