Refactored Item Layouts
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ItemView.cpp
index cb506a9..920e152 100644 (file)
@@ -23,7 +23,6 @@
 // test harness headers before dali headers.
 #include <dali-toolkit-test-suite-utils.h>
 
-#include <dali/dali.h>
 #include <dali-toolkit/dali-toolkit.h>
 
 using namespace Dali;
@@ -84,7 +83,7 @@ public: // From ItemFactory
   virtual Actor NewItem(unsigned int itemId)
   {
     // Create an image actor for this item
-    Image image = Image::New( TEST_IMAGE_FILE_NAME );
+    Image image = ResourceImage::New( TEST_IMAGE_FILE_NAME );
     Actor actor = ImageActor::New(image);
 
     return actor;
@@ -144,15 +143,30 @@ int UtcDaliItemViewAddAndGetLayout(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // As we have added one layout, check the number of layout is now 1
   DALI_TEST_CHECK(view.GetLayoutCount() == 1);
 
+  // Create a depth layout and add it to ItemView
+  ItemLayoutPtr depthLayout = DefaultItemLayout::New( DefaultItemLayout::DEPTH );
+  view.AddLayout(*depthLayout);
+
+  // As we have added another layout, check the number of layout is now 2
+  DALI_TEST_CHECK(view.GetLayoutCount() == 2);
+
+  // Create a spiral layout and add it to ItemView
+  ItemLayoutPtr spiralLayout = DefaultItemLayout::New( DefaultItemLayout::SPIRAL );
+  view.AddLayout(*spiralLayout);
+
+  // As we have added another layout, check the number of layout is now 3
+  DALI_TEST_CHECK(view.GetLayoutCount() == 3);
 
   // Check we are getting the correct layout from ItemView
   DALI_TEST_CHECK(view.GetLayout(0) == gridLayout);
+  DALI_TEST_CHECK(view.GetLayout(1) == depthLayout);
+  DALI_TEST_CHECK(view.GetLayout(2) == spiralLayout);
   END_TEST;
 }
 
@@ -165,21 +179,37 @@ int UtcDaliItemViewAddAndRemoveLayout(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // As we have added one layout, check the number of layout is now 1
   DALI_TEST_CHECK(view.GetLayoutCount() == 1);
 
+  // Create a depth layout and add it to ItemView
+  ItemLayoutPtr depthLayout = DefaultItemLayout::New( DefaultItemLayout::DEPTH );
+  view.AddLayout(*depthLayout);
+
+  // As we have added another layout, check the number of layout is now 2
+  DALI_TEST_CHECK(view.GetLayoutCount() == 2);
+
   // Check we are getting the correct layout from ItemView
   DALI_TEST_CHECK(view.GetLayout(0) == gridLayout);
+  DALI_TEST_CHECK(view.GetLayout(1) == depthLayout);
 
   // Remove the grid layout
   view.RemoveLayout(0);
 
-  // As we have removed the grid layout, check the number of layout is now 0
-  DALI_TEST_CHECK(view.GetLayoutCount() == 0);
+  // As we have removed the grid layout, check the number of layout is now 1
+  DALI_TEST_CHECK(view.GetLayoutCount() == 1);
+
+  // Check we are getting the correct layout from ItemView
+  DALI_TEST_CHECK(view.GetLayout(0) == depthLayout);
+
+  // Remove the depth layout
+  view.RemoveLayout(0);
 
+  // As we also removed the depth layout, check the number of layout is now 0
+  DALI_TEST_CHECK(view.GetLayoutCount() == 0);
   END_TEST;
 }
 
@@ -192,21 +222,41 @@ int UtcDaliItemViewActivateLayoutAndGetActiveLayout(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
-  DALI_TEST_CHECK(view.GetLayoutCount() == 1);
+  // Create a depth layout and add it to ItemView
+  ItemLayoutPtr depthLayout = DefaultItemLayout::New( DefaultItemLayout::DEPTH );
+  view.AddLayout(*depthLayout);
+
+  // Create a spiral layout and add it to ItemView
+  ItemLayoutPtr spiralLayout = DefaultItemLayout::New( DefaultItemLayout::SPIRAL );
+  view.AddLayout(*spiralLayout);
+
+  // As we have added three layouts, check the number of layout is now 3
+  DALI_TEST_CHECK(view.GetLayoutCount() == 3);
 
   // Check there is no active layout at the moment
   DALI_TEST_CHECK(view.GetActiveLayout() == NULL);
 
-  // Activate the grid layout
+  // Activate the depth layout
   Vector3 stageSize(Dali::Stage::GetCurrent().GetSize());
+  view.ActivateLayout(1, stageSize, 0.5f);
+
+  // Check the current active layout is the depth layout
+  DALI_TEST_CHECK(view.GetActiveLayout() == depthLayout);
+
+  // Activate the grid layout
   view.ActivateLayout(0, stageSize, 0.5f);
 
   // Check the current active layout is the grid layout
   DALI_TEST_CHECK(view.GetActiveLayout() == gridLayout);
 
+  // Activate the spiral layout
+  view.ActivateLayout(2, stageSize, 0.5f);
+
+  // Check the current active layout is the spiral layout
+  DALI_TEST_CHECK(view.GetActiveLayout() == spiralLayout);
   END_TEST;
 }
 
@@ -219,7 +269,7 @@ int UtcDaliItemViewDeactivateCurrentLayout(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // Check there is no active layout at the moment
@@ -249,7 +299,7 @@ int UtcDaliItemViewGetItemAndGetItemId(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // Activate the grid layout so that the items will be created and added to ItemView
@@ -273,7 +323,7 @@ int UtcDaliItemViewRemoveItem(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // Activate the grid layout so that the items will be created and added to ItemView
@@ -306,7 +356,7 @@ int UtcDaliItemViewGetCurrentLayoutPosition(void)
   ItemView view = ItemView::New(factory);
 
   // Create a grid layout and add it to ItemView
-  GridLayoutPtr gridLayout = GridLayout::New();
+  ItemLayoutPtr gridLayout = DefaultItemLayout::New( DefaultItemLayout::GRID );
   view.AddLayout(*gridLayout);
 
   // Activate the grid layout so that the items will be created and added to ItemView
@@ -406,7 +456,7 @@ int UtcDaliItemViewScrollToItem(void)
   TestItemFactory factory;
   ItemView view = ItemView::New(factory);
   Vector3 vec(480.0f, 800.0f, 0.0f);
-  GridLayoutPtr layout = GridLayout::New();
+  ItemLayoutPtr layout = DefaultItemLayout::New( DefaultItemLayout::GRID );
 
   view.SetName("view actor");
   view.AddLayout(*layout);