Merge "Make radio buttons work with size negotiation, bug fixes." into tizen
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / internal / controls / buttons / button-impl.cpp
index ec78cba..90a741a 100644 (file)
@@ -47,6 +47,7 @@ BaseHandle Create()
 TypeRegistration typeRegistration( typeid(Toolkit::Button), typeid(Toolkit::Control), Create );
 
 SignalConnectorType signalConnector1( typeRegistration, Toolkit::Button::SIGNAL_CLICKED, &Button::DoConnectSignal );
+SignalConnectorType signalConnector2( typeRegistration, Toolkit::Button::SIGNAL_TOGGLED, &Button::DoConnectSignal );
 
 PropertyRegistration property1( typeRegistration, "dimmed", Toolkit::Button::PROPERTY_DIMMED, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty );
 
@@ -106,6 +107,11 @@ Toolkit::Button::ClickedSignalV2& Button::ClickedSignal()
   return mClickedSignalV2;
 }
 
+Toolkit::Button::ToggledSignalV2& Button::ToggledSignal()
+{
+  return mToggledSignalV2;
+}
+
 bool Button::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
 {
   Dali::BaseHandle handle( object );
@@ -117,6 +123,10 @@ bool Button::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tr
   {
     button.ClickedSignal().Connect( tracker, functor );
   }
+  else if( Dali::Toolkit::Button::SIGNAL_TOGGLED == signalName )
+  {
+    button.ToggledSignal().Connect( tracker, functor );
+  }
   else
   {
     // signalName does not match any signal