ImageVisual ResourceReady signalled regardless of parent
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / buttons / push-button-impl.cpp
index cb5a747..1b7f495 100644 (file)
@@ -30,6 +30,7 @@
 #include <dali-toolkit/public-api/controls/text-controls/text-label.h>
 #include <dali-toolkit/devel-api/controls/control-depth-index-ranges.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+#include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
 
 #if defined(DEBUG_ENABLED)
   extern Debug::Filter* gLogButtonFilter;
@@ -47,8 +48,6 @@ namespace Internal
 namespace
 {
 
-const float   ANIMATION_TIME( 0.2f );
-
 BaseHandle Create()
 {
   return Toolkit::PushButton::New();
@@ -102,7 +101,6 @@ PushButton::PushButton()
 : Button(),
   mIconAlignment( RIGHT )
 {
-  SetAnimationTime( ANIMATION_TIME );
 }
 
 PushButton::~PushButton()
@@ -167,12 +165,12 @@ void PushButton::SetProperty( BaseObject* object, Property::Index propertyIndex,
     {
       case Toolkit::PushButton::Property::UNSELECTED_ICON:
       {
-        pushButtonImpl.CreateVisualsForComponent( Toolkit::Button::Property::UNSELECTED_VISUAL, value, DepthIndex::CONTENT );
+        pushButtonImpl.CreateVisualsForComponent( Toolkit::DevelButton::Property::UNSELECTED_VISUAL, value, DepthIndex::CONTENT );
         break;
       }
       case Toolkit::PushButton::Property::SELECTED_ICON:
       {
-        pushButtonImpl.CreateVisualsForComponent( Toolkit::Button::Property::SELECTED_VISUAL, value, DepthIndex::CONTENT );
+        pushButtonImpl.CreateVisualsForComponent( Toolkit::DevelButton::Property::SELECTED_VISUAL, value, DepthIndex::CONTENT );
         break;
       }
       case Toolkit::PushButton::Property::ICON_ALIGNMENT:
@@ -245,42 +243,100 @@ Property::Value PushButton::GetProperty( BaseObject* object, Property::Index pro
   return value;
 }
 
-void PushButton::PrepareForTranstionIn( Actor actor )
+// Deprecated API using Actor to set images
+
+void PushButton::SetButtonImage( Actor image )
+{
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetButtonImage() is deprecated and will be removed from next release. Use Button.SetProperty UNSELECTED_STATE_IMAGE or Styling file instead.\n" );
+
+  Image retreivedButtonImage = Toolkit::ImageView::DownCast( image ).GetImage();
+  if ( retreivedButtonImage )
+  {
+    ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage );
+
+    if ( resourceImage )
+    {
+      Self().SetProperty( Toolkit::DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, resourceImage.GetUrl() );
+
+    }
+  }
+}
+
+void PushButton::SetBackgroundImage( Actor image )
 {
-  // Set Toolkit::Button::Property::SELECTED_VISUAL and Toolkit::Button::Property::UNSELECTED_VISUAL to opacity 0
-  // Then get and start animation
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetBackgroundImage() is deprecated and will be removed from next release.\n" );
+
+  SetButtonImage( image );
+
 }
 
-void PushButton::PrepareForTranstionOut( Actor actor )
+void PushButton::SetSelectedImage( Actor image )
 {
-  // Set Toolkit::Button::Property::SELECTED_VISUAL and Toolkit::Button::Property::UNSELECTED_VISUAL to opacity 1
-  // Then get and start animation
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetSelectedImage() is deprecated and will be removed from next release. Use Button.SetProperty SELECTED_STATE_IMAGE or Styling file instead.\n" );
+
+  Image retreivedButtonImage = Toolkit::ImageView::DownCast( image ).GetImage();
+  if ( retreivedButtonImage )
+  {
+    ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage );
+
+    if ( resourceImage )
+    {
+      Self().SetProperty( Toolkit::DevelButton::Property::SELECTED_BACKGROUND_VISUAL, resourceImage.GetUrl() );
+    }
+  }
 }
 
-void PushButton::OnTransitionIn( Actor actor )
+void PushButton::SetSelectedBackgroundImage( Actor image )
 {
-  // Only transition selected and unselected visual, background doesn't change.
-  // Start Fade animation to 1
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetSelectedBackgroundImage() is deprecated and will be removed from next release.\n" );
+
+  SetSelectedImage( image );
 }
 
-void PushButton::OnTransitionOut( Actor actor )
+void PushButton::SetDisabledBackgroundImage( Actor image )
 {
-  // Only transition selected and unselected visual, background doesn't change.
-  // Start Fade animation to 0
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetDisabledBackgroundImage() is deprecated and will be removed from next release.\n" );
+
+  Image retreivedButtonImage = Toolkit::ImageView::DownCast( image ).GetImage();
+  if ( retreivedButtonImage )
+  {
+    ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage );
+
+    if ( resourceImage )
+    {
+      Self().SetProperty( Toolkit::DevelButton::Property::DISABLED_UNSELECTED_BACKGROUND_VISUAL, resourceImage.GetUrl() );
+    }
+  }
 }
 
-void PushButton::FadeImageTo( Actor actor , float opacity )
+void PushButton::SetDisabledImage( Actor image )
 {
-  if( actor )
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetDisabledImage() is deprecated and will be removed from next release. Use Button.SetProperty DISABLED_STATE_IMAGE or Styling file instead.\n" );
+
+  Image retreivedButtonImage = Toolkit::ImageView::DownCast( image ).GetImage();
+  if ( retreivedButtonImage )
   {
-    Dali::Animation transitionAnimation = GetTransitionAnimation();
-    DALI_ASSERT_DEBUG( transitionAnimation );
+    ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage );
 
-    if( transitionAnimation )
+    if ( resourceImage )
     {
-      DALI_LOG_INFO( gLogButtonFilter, Debug::Verbose, "PushButton::FadeImageTo(%f)\n", opacity );
+      Self().SetProperty( Toolkit::DevelButton::Property::DISABLED_UNSELECTED_BACKGROUND_VISUAL, resourceImage.GetUrl() );
+    }
+  }
+}
 
-      transitionAnimation.AnimateTo( Property( actor, Actor::Property::COLOR_ALPHA ), opacity );
+void PushButton::SetDisabledSelectedImage( Actor image )
+{
+  DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: SetDisabledSelectedImage() is deprecated and will be removed from next release.\n" );
+
+  Image retreivedButtonImage = Toolkit::ImageView::DownCast( image ).GetImage();
+  if ( retreivedButtonImage )
+  {
+    ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage );
+
+    if ( resourceImage )
+    {
+      Self().SetProperty( Toolkit::DevelButton::Property::DISABLED_SELECTED_BACKGROUND_VISUAL, resourceImage.GetUrl() );
     }
   }
 }