X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftable-view%2Ftable-view-impl.cpp;h=d2e46fd69872c011cfa10c2528c028961677e864;hp=0be26cdfcbc54466c4ec1b6f9c3efd74b2b3ca3f;hb=f3da11c2818c6d17706fbb2417f21b602b3190f5;hpb=fbbecdf7055c52aa0a68ceb5c1f5131a7a5a21ad diff --git a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp index 0be26cd..d2e46fd 100644 --- a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp +++ b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp @@ -39,11 +39,11 @@ namespace * * 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 @@ -142,11 +142,11 @@ BaseHandle Create() // Setup properties, signals and actions using the type-registry. DALI_TYPE_REGISTRATION_BEGIN( Toolkit::TableView, Toolkit::Control, Create ); -DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "rows", UNSIGNED_INTEGER, ROWS ) -DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "columns", UNSIGNED_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, "rows", INTEGER, ROWS ) +DALI_PROPERTY_REGISTRATION( Toolkit, TableView, "columns", INTEGER, 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() @@ -798,6 +798,14 @@ void TableView::OnLayoutNegotiated( float size, Dimension::Type dimension ) } } +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 @@ -877,17 +885,25 @@ void TableView::SetProperty( BaseObject* object, Property::Index index, const Pr { case Toolkit::TableView::Property::ROWS: { - if( value.Get() != tableViewImpl.GetRows() ) + int rows = 0; + if( value.Get( rows ) && rows >= 0 ) { - tableViewImpl.Resize( value.Get(), tableViewImpl.GetColumns() ); + if( static_cast(rows) != tableViewImpl.GetRows() ) + { + tableViewImpl.Resize( rows, tableViewImpl.GetColumns() ); + } } break; } case Toolkit::TableView::Property::COLUMNS: { - if( value.Get() != tableViewImpl.GetColumns() ) + int columns = 0; + if( value.Get( columns ) && columns >= 0 ) { - tableViewImpl.Resize( tableViewImpl.GetRows(), value.Get() ); + if( static_cast( columns ) != tableViewImpl.GetColumns() ) + { + tableViewImpl.Resize( tableViewImpl.GetRows(), value.Get() ); + } } break; } @@ -923,12 +939,12 @@ Property::Value TableView::GetProperty( BaseObject* object, Property::Index inde { case Toolkit::TableView::Property::ROWS: { - value = tableViewImpl.GetRows(); + value = static_cast( tableViewImpl.GetRows() ); break; } case Toolkit::TableView::Property::COLUMNS: { - value = tableViewImpl.GetColumns(); + value = static_cast( tableViewImpl.GetColumns() ); break; } case Toolkit::TableView::Property::CELL_PADDING: