Moved PushButton::SetButtonImage etc to Button base class.
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / buttons / button.cpp
index 1fbe69e..c7b7b89 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // CLASS HEADER
 
 
 #include <dali-toolkit/internal/controls/buttons/button-impl.h>
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/actors/image-actor.h>
+
 namespace Dali
 {
 
 namespace Toolkit
 {
 
-const char* const Button::SIGNAL_CLICKED = "clicked";
-
 Button::Button()
 {}
 
@@ -56,14 +58,64 @@ Button Button::DownCast( BaseHandle handle )
   return Control::DownCast<Button, Internal::Button>(handle);
 }
 
-void Button::SetDimmed( bool dimmed )
+void Button::SetDisabled( bool disabled )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetDisabled( disabled );
+}
+
+bool Button::IsDisabled() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).IsDisabled();
+}
+
+void Button::SetAutoRepeating( bool autoRepeating )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetAutoRepeating( autoRepeating );
+}
+
+bool Button::IsAutoRepeating() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).IsAutoRepeating();
+}
+
+void Button::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetInitialAutoRepeatingDelay( initialAutoRepeatingDelay );
+}
+
+float Button::GetInitialAutoRepeatingDelay() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).GetInitialAutoRepeatingDelay();
+}
+
+void Button::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetNextAutoRepeatingDelay( nextAutoRepeatingDelay );
+}
+
+float Button::GetNextAutoRepeatingDelay() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).GetNextAutoRepeatingDelay();
+}
+
+void Button::SetTogglableButton( bool togglable )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetTogglableButton( togglable );
+}
+
+bool Button::IsTogglableButton() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).IsTogglableButton();
+}
+
+void Button::SetSelected( bool selected )
 {
-  Dali::Toolkit::GetImplementation( *this ).SetDimmed( dimmed );
+  Dali::Toolkit::GetImplementation( *this ).SetSelected( selected );
 }
 
-bool Button::IsDimmed() const
+bool Button::IsSelected() const
 {
-  return Dali::Toolkit::GetImplementation( *this ).IsDimmed();
+  return Dali::Toolkit::GetImplementation( *this ).IsSelected();
 }
 
 void Button::SetAnimationTime( float animationTime )
@@ -76,11 +128,86 @@ float Button::GetAnimationTime() const
   return Dali::Toolkit::GetImplementation( *this ).GetAnimationTime();
 }
 
-Button::ClickedSignalV2& Button::ClickedSignal()
+void Button::SetLabel( const std::string& label )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetLabel( label );
+}
+
+void Button::SetLabel( Actor label )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetLabel( label );
+}
+
+Actor Button::GetLabel() const
+{
+  return Dali::Toolkit::GetImplementation( *this ).GetLabel();
+}
+
+void Button::SetButtonImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  Dali::Toolkit::GetImplementation( *this ).SetButtonImage( imageActor );
+}
+
+void Button::SetBackgroundImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  Dali::Toolkit::GetImplementation( *this ).SetBackgroundImage( imageActor );
+}
+
+void Button::SetSelectedImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+  Dali::Toolkit::GetImplementation( *this ).SetSelectedImage( imageActor );
+}
+
+void Button::SetSelectedBackgroundImage( Image image )
+{
+  Dali::Toolkit::GetImplementation( *this ).SetSelectedBackgroundImage( ImageActor::New( image ) );
+}
+
+void Button::SetDisabledBackgroundImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+  Dali::Toolkit::GetImplementation( *this ).SetDisabledBackgroundImage( imageActor );
+}
+
+void Button::SetDisabledImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+  Dali::Toolkit::GetImplementation( *this ).SetDisabledImage( imageActor );
+}
+
+void Button::SetDisabledSelectedImage( Image image )
+{
+  Actor imageActor = ImageActor::New( image );
+  imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+  Dali::Toolkit::GetImplementation( *this ).SetDisabledSelectedImage( imageActor );
+}
+
+Button::ButtonSignalType& Button::PressedSignal()
+{
+  return Dali::Toolkit::GetImplementation( *this ).PressedSignal();
+}
+
+Button::ButtonSignalType& Button::ReleasedSignal()
+{
+  return Dali::Toolkit::GetImplementation( *this ).ReleasedSignal();
+}
+
+Button::ButtonSignalType& Button::ClickedSignal()
 {
   return Dali::Toolkit::GetImplementation( *this ).ClickedSignal();
 }
 
+Button::ButtonSignalType& Button::StateChangedSignal()
+{
+  return Dali::Toolkit::GetImplementation( *this ).StateChangedSignal();
+}
+
 Button::Button( Internal::Button& implementation )
 : Control( implementation )
 {