const char* const PROPERTY_NAME_ROWS = "rows";
const char* const PROPERTY_NAME_COLUMNS = "columns";
const char* const PROPERTY_NAME_CELL_PADDING = "cell-padding";
-const char* const PROPERTY_NAME_LAYOUT_ANIMATION_DURATION = "layout-animation-duration";
const char* const PROPERTY_NAME_LAYOUT_ROWS = "layout-rows";
const char* const PROPERTY_NAME_LAYOUT_COLUMNS = "layout-columns";
-
+const Vector2 CELL_SIZE( 10, 10 );
static bool gObjectCreatedCallBackCalled;
gObjectCreatedCallBackCalled = true;
}
-
struct Constraint100
{
Constraint100( )
/**
* function operator to apply the parent size
*/
- Dali::Vector3 operator()(const Dali::Vector3& current)
+ void operator()( Dali::Vector3& current, const PropertyInputContainer& /* inputs */ )
{
- return Dali::Vector3( 100.0f, 100.0f, 100.0f );
+ current.x = current.y = current.z = 100.0f;
}
};
// Convenience function to quickly set up a 10x10 table with each cell being 10x10 pixels in size by default.
static void SetupTableViewAndActors(TableView& tableView, Actor& actor1, Actor& actor2, Actor& actor3)
{
- tableView = TableView::New(10,10); // 10 by 10 grid.
- DALI_TEST_CHECK(tableView);
+ tableView = TableView::New( 10, 10 ); // 10 by 10 grid.
+ DALI_TEST_CHECK( tableView );
Stage::GetCurrent().Add( tableView );
- tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
- tableView.SetLayoutAnimationDuration(0.0f);
+ tableView.SetSize( Dali::Vector2( 100.0f, 100.0f ) );
actor1 = Actor::New();
actor2 = Actor::New();
actor3 = Actor::New();
- actor1.SetSize(10,10);
- actor2.SetSize(10,10);
- actor3.SetSize(10,10);
+ actor1.SetSize( CELL_SIZE );
+ actor2.SetSize( CELL_SIZE );
+ actor3.SetSize( CELL_SIZE );
- tableView.AddChild(actor1, TableView::CellPosition(0,0));
- tableView.AddChild(actor2, TableView::CellPosition(0,1));
- tableView.AddChild(actor3, TableView::CellPosition(1,0));
+ tableView.AddChild( actor1, TableView::CellPosition( 0, 0 ) );
+ tableView.AddChild( actor2, TableView::CellPosition( 0, 1 ) );
+ tableView.AddChild( actor3, TableView::CellPosition( 1, 0 ) );
}
} // namespace
+int UtcDaliTableViewCtorCopyP(void)
+{
+ TestApplication application;
+
+ TableView actor1 = TableView::New(10,10);
+ TableView actor2( actor1 );
+
+ DALI_TEST_EQUALS( actor1, actor2, TEST_LOCATION );
+ END_TEST;
+}
int UtcDaliTableViewNew(void)
{
}
// Test adjusting the metric values for the cell.
+int UtcDaliTableViewMetricsFit(void)
+{
+ ToolkitTestApplication application;
+
+ tet_infoline("UtcDaliTableViewMetricsFit");
+
+ TableView tableView;
+ Actor actor1;
+ Actor actor2;
+ Actor actor3;
+
+ SetupTableViewAndActors(tableView, actor1, actor2, actor3);
+ application.SendNotification();
+ application.Render();
+
+ // 1. check that with no fixed width/heights, actors are in default position.
+ DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
+ DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION );
+ DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION );
+
+ // 2. check that with a fixed width & height, actors to the right and below are offsetted.
+ tableView.SetFitHeight(0);
+ tableView.SetFitWidth(0);
+ DALI_TEST_EQUALS( tableView.IsFitHeight(0), true, TEST_LOCATION );
+ DALI_TEST_EQUALS( tableView.IsFitWidth(0), true, TEST_LOCATION );
+
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION );
+ DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION );
+ DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION );
+ END_TEST;
+}
+
+// Test adjusting the metric values for the cell.
int UtcDaliTableViewMetricsFixed(void)
{
ToolkitTestApplication application;
}
-// Test animation duration setting.
-int UtcDaliTableViewAnimation(void)
-{
- ToolkitTestApplication application;
-
- tet_infoline("UtcDaliTableViewAnimation");
- TableView tableView = TableView::New(10,10);
- DALI_TEST_CHECK(tableView);
-
- tableView.SetLayoutAnimationDuration(5.0f);
- DALI_TEST_EQUALS(tableView.GetLayoutAnimationDuration(), 5.0f, TEST_LOCATION);
-
- tableView.SetLayoutAnimationDuration(2.5f);
- DALI_TEST_EQUALS(tableView.GetLayoutAnimationDuration(), 2.5f, TEST_LOCATION);
- END_TEST;
-}
-
// Test Adding/Removing/Finding Children.
int UtcDaliTableViewChild(void)
{
tableView.AddChild(actor1, TableView::CellPosition(110, 110, 5, 5));
DALI_TEST_CHECK( tableView.GetRows() == 115 && tableView.GetColumns() == 115 );
+ // Set the alignment of the cell
+ tableView.SetCellAlignment( TableView::CellPosition(100, 100, 1, 1), HorizontalAlignment::CENTER, VerticalAlignment::CENTER );
+ tableView.SetCellAlignment( TableView::CellPosition(110, 110, 5, 5), HorizontalAlignment::LEFT, VerticalAlignment::TOP );
+
DALI_TEST_CHECK( true );
END_TEST;
}
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "rowIndex < mFixedHeights.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "rowIndex < mFixedHeights.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "columnIndex < mFixedWidths.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "columnIndex < mFixedWidths.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION);
}
// relatives...
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "rowIndex < mRelativeHeights.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION);
}
try
catch( Dali::DaliException& e )
{
DALI_TEST_PRINT_ASSERT( e );
- DALI_TEST_EQUALS(e.condition, "columnIndex < mRelativeWidths.size()", TEST_LOCATION);
+ DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION);
}
END_TEST;
}
// Create a 1x1 table-view
TableView tableView = TableView::New(1,1);
- tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
+ tableView.SetSize( Vector2( 100.0f, 100.0f ) );
DALI_TEST_CHECK( tableView );
// Test "rows" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_ROWS ) == TableView::PROPERTY_ROWS );
+ DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_ROWS ) == TableView::Property::ROWS );
- tableView.SetProperty( TableView::PROPERTY_ROWS, 4u );
+ tableView.SetProperty( TableView::Property::ROWS, 4u );
DALI_TEST_CHECK( tableView.GetRows() == 4u );
- DALI_TEST_CHECK( tableView.GetProperty(TableView::PROPERTY_ROWS).Get<unsigned int>() == 4u );
+ DALI_TEST_CHECK( tableView.GetProperty(TableView::Property::ROWS).Get<unsigned int>() == 4u );
// Test "columns" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_COLUMNS ) == TableView::PROPERTY_COLUMNS );
+ DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_COLUMNS ) == TableView::Property::COLUMNS );
- tableView.SetProperty( TableView::PROPERTY_COLUMNS, 5u );
+ tableView.SetProperty( TableView::Property::COLUMNS, 5u );
DALI_TEST_CHECK( tableView.GetColumns() == 5u );
- DALI_TEST_CHECK( tableView.GetProperty(TableView::PROPERTY_COLUMNS).Get<unsigned int>() == 5u );
+ DALI_TEST_CHECK( tableView.GetProperty(TableView::Property::COLUMNS).Get<unsigned int>() == 5u );
// Test "cell-padding" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_CELL_PADDING ) == TableView::PROPERTY_CELL_PADDING );
+ DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_CELL_PADDING ) == TableView::Property::CELL_PADDING );
- tableView.SetProperty( TableView::PROPERTY_CELL_PADDING, Size( 6.f, 8.f ) );
+ tableView.SetProperty( TableView::Property::CELL_PADDING, Size( 6.f, 8.f ) );
DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(6.f, 8.f), TEST_LOCATION );
- DALI_TEST_EQUALS( tableView.GetProperty(TableView::PROPERTY_CELL_PADDING).Get<Vector2>(), Vector2(6.f,8.f), TEST_LOCATION );
-
- // Test "layout-animation-duration" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ANIMATION_DURATION) == TableView::PROPERTY_LAYOUT_ANIMATION_DURATION );
-
- tableView.SetProperty( TableView::PROPERTY_LAYOUT_ANIMATION_DURATION, 1.5f );
-
- DALI_TEST_EQUALS( tableView.GetLayoutAnimationDuration(), 1.5f, TEST_LOCATION );
- DALI_TEST_EQUALS( tableView.GetProperty(TableView::PROPERTY_LAYOUT_ANIMATION_DURATION).Get<float>(), 1.5f, TEST_LOCATION );
+ DALI_TEST_EQUALS( tableView.GetProperty(TableView::Property::CELL_PADDING).Get<Vector2>(), Vector2(6.f,8.f), TEST_LOCATION );
//{ "policy": "fixed", "value": 30.0 },
Property::Map item1;
item2[ "value" ] = 0.2f;
// Test "layout-rows" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ROWS) == TableView::PROPERTY_LAYOUT_ROWS );
+ DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ROWS) == TableView::Property::LAYOUT_ROWS );
/*
* "layout-rows":
Property::Map layoutRows;
layoutRows[ "1" ] = item1;
layoutRows[ "3" ] = item2;
- tableView.SetProperty( TableView::PROPERTY_LAYOUT_ROWS, layoutRows );
+ tableView.SetProperty( TableView::Property::LAYOUT_ROWS, layoutRows );
DALI_TEST_EQUALS( tableView.GetFixedHeight( 1u ), 30.f, TEST_LOCATION );
DALI_TEST_EQUALS( tableView.GetRelativeHeight( 3u ), 0.2f, TEST_LOCATION );
- Property::Map layoutRowsGet = tableView.GetProperty(TableView::PROPERTY_LAYOUT_ROWS).Get<Property::Map>();
- DALI_TEST_CHECK( layoutRowsGet.GetKey(0).compare(layoutRows.GetKey(0)) == 0 );
- DALI_TEST_CHECK( layoutRowsGet.GetValue(0).GetValue( "policy" ).Get<std::string>().compare(layoutRows.GetValue(0).GetValue( "policy" ).Get<std::string>()) == 0 );
- DALI_TEST_EQUALS( layoutRowsGet.GetValue(0).GetValue( "value" ).Get<float>(),layoutRows.GetValue(0).GetValue( "value" ).Get<float>(), TEST_LOCATION );
- DALI_TEST_CHECK( layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(1)) == 0 );
- DALI_TEST_CHECK( layoutRowsGet.GetValue(1).GetValue( "policy" ).Get<std::string>().compare(layoutRows.GetValue(1).GetValue( "policy" ).Get<std::string>()) == 0 );
- DALI_TEST_EQUALS( layoutRowsGet.GetValue(1).GetValue( "value" ).Get<float>(),layoutRows.GetValue(1).GetValue( "value" ).Get<float>(), TEST_LOCATION );
+ Property::Map layoutRowsGet = tableView.GetProperty(TableView::Property::LAYOUT_ROWS).Get<Property::Map>();
+
+ DALI_TEST_EQUALS( layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(0)), 0, TEST_LOCATION );
+ DALI_TEST_CHECK( layoutRowsGet.GetValue(1).GetValue( "policy" ).Get<std::string>().compare(layoutRows.GetValue(0).GetValue( "policy" ).Get<std::string>()) == 0 );
+ DALI_TEST_EQUALS( layoutRowsGet.GetValue(1).GetValue( "value" ).Get<float>(), layoutRows.GetValue(0).GetValue( "value" ).Get<float>(), TEST_LOCATION );
+
+ DALI_TEST_CHECK( layoutRowsGet.GetKey(3).compare(layoutRows.GetKey(1)) == 0 );
+ DALI_TEST_CHECK( layoutRowsGet.GetValue(3).GetValue( "policy" ).Get<std::string>().compare(layoutRows.GetValue(1).GetValue( "policy" ).Get<std::string>()) == 0 );
+ DALI_TEST_EQUALS( layoutRowsGet.GetValue(3).GetValue( "value" ).Get<float>(), layoutRows.GetValue(1).GetValue( "value" ).Get<float>(), TEST_LOCATION );
// Test "layout-columns" property
- DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_LAYOUT_COLUMNS ) == TableView::PROPERTY_LAYOUT_COLUMNS );
+ DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_LAYOUT_COLUMNS ) == TableView::Property::LAYOUT_COLUMNS );
/*
* "layout-columns":
Property::Map layoutColumns;
layoutColumns[ "2" ] = item2;
layoutColumns[ "3" ] = item1;
- tableView.SetProperty( TableView::PROPERTY_LAYOUT_COLUMNS, layoutColumns );
+ tableView.SetProperty( TableView::Property::LAYOUT_COLUMNS, layoutColumns );
DALI_TEST_EQUALS( tableView.GetRelativeWidth( 2u ), 0.2f, TEST_LOCATION );
DALI_TEST_EQUALS( tableView.GetFixedWidth( 3u ), 30.f, TEST_LOCATION );
- Property::Map layoutColumnsGet = tableView.GetProperty(TableView::PROPERTY_LAYOUT_COLUMNS).Get<Property::Map>();
- DALI_TEST_CHECK( layoutColumnsGet.GetKey(0).compare(layoutColumns.GetKey(0)) == 0 );
- DALI_TEST_CHECK( layoutColumnsGet.GetValue(0).GetValue( "policy" ).Get<std::string>().compare(layoutColumns.GetValue(0).GetValue( "policy" ).Get<std::string>()) == 0 );
- DALI_TEST_EQUALS( layoutColumnsGet.GetValue(0).GetValue( "value" ).Get<float>(),layoutColumns.GetValue(0).GetValue( "value" ).Get<float>(), TEST_LOCATION );
- DALI_TEST_CHECK( layoutColumnsGet.GetKey(1).compare(layoutColumns.GetKey(1)) == 0 );
- DALI_TEST_CHECK( layoutColumnsGet.GetValue(1).GetValue( "policy" ).Get<std::string>().compare(layoutColumns.GetValue(1).GetValue( "policy" ).Get<std::string>()) == 0 );
- DALI_TEST_EQUALS( layoutColumnsGet.GetValue(1).GetValue( "value" ).Get<float>(),layoutColumns.GetValue(1).GetValue( "value" ).Get<float>(), TEST_LOCATION );
+ Property::Map layoutColumnsGet = tableView.GetProperty(TableView::Property::LAYOUT_COLUMNS).Get<Property::Map>();
+ DALI_TEST_CHECK( layoutColumnsGet.GetKey(2).compare(layoutColumns.GetKey(0)) == 0 );
+ DALI_TEST_CHECK( layoutColumnsGet.GetValue(2).GetValue( "policy" ).Get<std::string>().compare(layoutColumns.GetValue(0).GetValue( "policy" ).Get<std::string>()) == 0 );
+ DALI_TEST_EQUALS( layoutColumnsGet.GetValue(2).GetValue( "value" ).Get<float>(),layoutColumns.GetValue(0).GetValue( "value" ).Get<float>(), TEST_LOCATION );
+
+ DALI_TEST_CHECK( layoutColumnsGet.GetKey(3).compare(layoutColumns.GetKey(1)) == 0 );
+ DALI_TEST_CHECK( layoutColumnsGet.GetValue(3).GetValue( "policy" ).Get<std::string>().compare(layoutColumns.GetValue(1).GetValue( "policy" ).Get<std::string>()) == 0 );
+ DALI_TEST_EQUALS( layoutColumnsGet.GetValue(3).GetValue( "value" ).Get<float>(),layoutColumns.GetValue(1).GetValue( "value" ).Get<float>(), TEST_LOCATION );
END_TEST;
}
// Create a 10x10 table-view
TableView tableView = TableView::New(10,10);
- tableView.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, Constraint100() ) );
+ Constraint constraint = Constraint::New<Vector3>( tableView, Actor::Property::SIZE, Constraint100() );
+ constraint.Apply();
DALI_TEST_CHECK( tableView );
// Create a child actor with the custom properties