X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbuttons%2Fpush-button-impl.cpp;h=a63b861fdd7a9643dcf389ece4f6e96c0dce8172;hb=1c5674a11a51310ee689d6daf4e6b7d94dec607e;hp=f07eb329ccf6c6f35ce1eae89db0d41f7d21c7f8;hpb=a6f34ab2df1f2418c037366030a4dcfbcda29847;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp index f07eb32..a63b861 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp @@ -538,7 +538,7 @@ void PushButton::StopAllAnimations() StopTransitionAnimation(); } -void PushButton::OnControlSizeSet( const Vector3& targetSize ) +void PushButton::OnSizeSet( const Vector3& targetSize ) { if( targetSize != mSize ) { @@ -641,7 +641,7 @@ void PushButton::OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type d void PushButton::ConfigureSizeNegotiation() { - ActorContainer images; + std::vector< Actor > images; images.reserve( 7 ); images.push_back( GetButtonImage() ); @@ -661,11 +661,25 @@ void PushButton::ConfigureSizeNegotiation() if( label ) { - label.SetPadding( Padding( TEXT_PADDING, TEXT_PADDING, TEXT_PADDING, TEXT_PADDING) ); + Padding padding; + + if( label.GetResizePolicy( Dimension::WIDTH ) == ResizePolicy::USE_NATURAL_SIZE ) + { + padding.left = TEXT_PADDING; + padding.right = TEXT_PADDING; + } + + if( label.GetResizePolicy( Dimension::HEIGHT ) == ResizePolicy::USE_NATURAL_SIZE ) + { + padding.top = TEXT_PADDING; + padding.bottom = TEXT_PADDING; + } + + label.SetPadding( padding ); } } -void PushButton::ConfigureSizeNegotiationDimension( Dimension::Type dimension, const ActorContainer& images, Actor& label ) +void PushButton::ConfigureSizeNegotiationDimension( Dimension::Type dimension, const std::vector< Actor >& images, Actor& label ) { ResizePolicy::Type imageResizePolicy = ResizePolicy::FILL_TO_PARENT; ResizePolicy::Type labelResizePolicy = ResizePolicy::FILL_TO_PARENT; @@ -700,7 +714,7 @@ void PushButton::ConfigureSizeNegotiationDimension( Dimension::Type dimension, c label.SetResizePolicy( labelResizePolicy, dimension ); } - for( ActorConstIter it = images.begin(), itEnd = images.end(); it != itEnd; ++it ) + for( std::vector< Actor >::const_iterator it = images.begin(), itEnd = images.end(); it != itEnd; ++it ) { Actor actor = *it; if( actor )