- mLayoutContainer.RemoveChildAt( Toolkit::TableView::CellPosition( 0, 1 ) );
- mLayoutContainer.AddChild( label, Toolkit::TableView::CellPosition( 0, 1 ) );
+ // Radio button width is FIT_TO_CHILDREN, so the label must have a sensible policy to fill out the space
+ if( label.GetResizePolicy( Dimension::WIDTH ) == ResizePolicy::FILL_TO_PARENT )
+ {
+ label.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::WIDTH );
+ }
+
+ if( IsSelected() && GetSelectedImage() )
+ {
+ label.SetX( GetSelectedImage().GetNaturalSize().width + DISTANCE_BETWEEN_IMAGE_AND_LABEL );
+ }
+ else if( GetButtonImage() )
+ {
+ label.SetX( GetButtonImage().GetNaturalSize().width + DISTANCE_BETWEEN_IMAGE_AND_LABEL );
+ }
+ else
+ {
+ label.SetX( DISTANCE_BETWEEN_IMAGE_AND_LABEL );
+ }