*
* These non-animatable properties should be registered to the child which would be added to the table
*/
-const char * const CELL_INDEX_PROPERTY_NAME("cell-index");
-const char * const ROW_SPAN_PROPERTY_NAME("row-span");
-const char * const COLUMN_SPAN_PROPERTY_NAME("column-span");
-const char * const CELL_HORIZONTAL_ALIGNMENT_PROPERTY_NAME("cell-horizontal-alignment");
-const char * const CELL_VERTICAL_ALIGNMENT_PROPERTY_NAME("cell-vertical-alignment");
+const char * const CELL_INDEX_PROPERTY_NAME("cellIndex");
+const char * const ROW_SPAN_PROPERTY_NAME("rowSpan");
+const char * const COLUMN_SPAN_PROPERTY_NAME("columnSpan");
+const char * const CELL_HORIZONTAL_ALIGNMENT_PROPERTY_NAME("cellHorizontalAlignment");
+const char * const CELL_VERTICAL_ALIGNMENT_PROPERTY_NAME("cellVerticalAlignment");
/**
* @brief Should the tableview fit around the given actor
DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "rows", INTEGER, ROWS )
DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "columns", INTEGER, COLUMNS )
-DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "cell-padding", VECTOR2, CELL_PADDING )
-DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "layout-rows", MAP, LAYOUT_ROWS )
-DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "layout-columns", MAP, LAYOUT_COLUMNS )
+DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "cellPadding", VECTOR2, CELL_PADDING )
+DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "layoutRows", MAP, LAYOUT_ROWS )
+DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "layoutColumns", MAP, LAYOUT_COLUMNS )
DALI_TYPE_REGISTRATION_END()
if( child )
{
RelayoutingLock lock( *this );
- // Remove the child, this will trigger a call to OnControlChildRemove
+ // Remove the child, this will trigger a call to OnChildRemove
Self().Remove( child );
// relayout the table only if instances were found
else if( row >= rowIndex ) // If below of or at the inserted row, decrease row index
{
// Decrement index
- if( position.rowIndex > 1 )
+ if( position.rowIndex > 0 )
{
position.rowIndex--;
}
}
}
+void TableView::OnSizeSet( const Vector3& size )
+{
+ // If this table view is size negotiated by another actor or control, then the
+ // rows and columns must be recalculated or the new size will not take effect.
+ mRowDirty = mColumnDirty = true;
+ RelayoutRequest();
+}
+
void TableView::OnRelayout( const Vector2& size, RelayoutContainer& container )
{
// Go through the layout data
return value;
}
-void TableView::OnControlChildAdd( Actor& child )
+void TableView::OnChildAdd( Actor& child )
{
+ Control::OnChildAdd( child );
+
if( mLayoutingChild )
{
// we're in the middle of laying out children so no point doing anything here
RelayoutRequest();
}
-void TableView::OnControlChildRemove( Actor& child )
+void TableView::OnChildRemove( Actor& child )
{
// dont process if we're in the middle of bigger operation like delete row, column or resize
if( !mLayoutingChild )
RelayoutRequest();
}
}
+
+ Control::OnChildRemove( child );
}
TableView::TableView( unsigned int initialRows, unsigned int initialColumns )
if( childMap )
{
Property::Value* policy = childMap->Find( "policy" );
- Property::Value* value = childMap->Find( "value" );
- if( policy && value )
+ Property::Value* childMapValue = childMap->Find( "value" );
+ if( policy && childMapValue )
{
std::string policyValue;
policy->Get( policyValue );
{
if( policy == Toolkit::TableView::FIXED )
{
- (tableViewImpl.*funcFixed)( index, value->Get<float>() );
+ (tableViewImpl.*funcFixed)( index, childMapValue->Get<float>() );
}
else if( policy == Toolkit::TableView::RELATIVE )
{
- (tableViewImpl.*funcRelative)( index, value->Get<float>() );
+ (tableViewImpl.*funcRelative)( index, childMapValue->Get<float>() );
}
else if( policy == Toolkit::TableView::FIT )
{