+ case Toolkit::PushButton::Property::LABEL_PADDING:
+ {
+ value = pushButtonImpl.GetLabelPadding();
+ break;
+ }
+ case Toolkit::PushButton::Property::ICON_PADDING:
+ {
+ value = pushButtonImpl.GetIconPadding();
+ break;
+ }
+ }
+ }
+
+ return value;
+}
+
+void PushButton::OnLabelSet( bool noPadding )
+{
+ Actor& label = GetLabelActor();
+
+ if( label )
+ {
+ if( noPadding )
+ {
+ mLabelPadding = Padding( 0.0f, 0.0f, 0.0f, 0.0f );
+ }
+
+ Toolkit::TextLabel textLabel = Toolkit::TextLabel::DownCast( label );
+ if( textLabel )
+ {
+ textLabel.SetProperty( Toolkit::TextLabel::Property::MULTI_LINE, false );
+ }
+ }
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnButtonImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnSelectedImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnBackgroundImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnSelectedBackgroundImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnDisabledImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnDisabledSelectedImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnDisabledBackgroundImageSet()
+{
+ ConfigureSizeNegotiation();
+}
+
+void PushButton::OnSizeSet( const Vector3& targetSize )
+{
+ if( targetSize != mSize )
+ {
+ mSize = targetSize;
+
+ Actor& label = GetLabelActor();
+
+ if( label )
+ {
+ label.SetSize( mSize );
+ }
+ }
+}
+
+void PushButton::PrepareForTranstionIn( Actor actor )
+{
+ actor.SetOpacity( 0.0f );
+}
+
+void PushButton::PrepareForTranstionOut( Actor actor )
+{
+ actor.SetOpacity( 1.0f );
+}
+
+void PushButton::OnTransitionIn( Actor actor )
+{
+ FadeImageTo( actor, 1.f );
+}
+
+void PushButton::OnTransitionOut( Actor actor )
+{
+ FadeImageTo( actor, 0.0f );
+}
+
+void PushButton::FadeImageTo( Actor actor, float opacity )
+{
+ if( actor )
+ {
+ Dali::Animation transitionAnimation = GetTransitionAnimation();
+ DALI_ASSERT_DEBUG( transitionAnimation );
+
+ if( transitionAnimation )
+ {
+ transitionAnimation.AnimateTo( Property( actor, Actor::Property::COLOR_ALPHA ), opacity );