From: Kimmo Hoikka Date: Thu, 25 Sep 2014 14:19:01 +0000 (-0700) Subject: Merge "Make radio buttons work with size negotiation, bug fixes." into tizen X-Git-Tag: dali_1.0.11~6 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=1123d866f9342b8950fe63715f6eaa1be9a2c18f;hp=-c Merge "Make radio buttons work with size negotiation, bug fixes." into tizen --- 1123d866f9342b8950fe63715f6eaa1be9a2c18f diff --combined automated-tests/src/dali-toolkit-unmanaged/CMakeLists.txt index a4ad16f,60d94aa..c58d7f2 --- a/automated-tests/src/dali-toolkit-unmanaged/CMakeLists.txt +++ b/automated-tests/src/dali-toolkit-unmanaged/CMakeLists.txt @@@ -50,11 -50,13 +50,12 @@@ SET(TC_SOURCE utc-Dali-ScrollViewEffect.cpp utc-Dali-TextInput.cpp utc-Dali-StyleManager.cpp + utc-Dali-RadioButton.cpp ) # Append list of test harness files (Won't get parsed for test cases) LIST(APPEND TC_SOURCES ../dali-toolkit/dali-toolkit-test-utils/toolkit-accessibility-manager.cpp - ../dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.cpp ../dali-toolkit/dali-toolkit-test-utils/toolkit-imf-manager.cpp diff --combined base/dali-toolkit/internal/controls/buttons/button-impl.cpp index ec78cba,a4f1f90..90a741a --- a/base/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/base/dali-toolkit/internal/controls/buttons/button-impl.cpp @@@ -47,6 -47,7 +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 +107,11 @@@ Toolkit::Button::ClickedSignalV2& Butto 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 +123,10 @@@ { 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 @@@ -224,10 -234,13 +234,10 @@@ void Button::OnTap(Actor actor, TapGest // Do nothing. } -void Button::OnStageDisconnection() +void Button::OnControlStageDisconnection() { - if( ButtonUp != mState ) - { - OnTouchPointLeave(); // Notification for derived classes. - mState = ButtonUp; - } + OnButtonStageDisconnection(); // Notification for derived classes. + mState = ButtonUp; } void Button::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ) diff --combined base/dali-toolkit/internal/controls/buttons/button-impl.h index e3763e4,bb8b326..2c45d7f --- a/base/dali-toolkit/internal/controls/buttons/button-impl.h +++ b/base/dali-toolkit/internal/controls/buttons/button-impl.h @@@ -130,12 -130,6 +130,12 @@@ private */ virtual float OnAnimationTimeRequested() const; + /** + * This method is called when the button is removed from the stage. + * Could be reimplemented in subclasses to provide specific behaviour. + */ + virtual void OnButtonStageDisconnection() { } + public: /** @@@ -144,6 -138,11 +144,11 @@@ Toolkit::Button::ClickedSignalV2& ClickedSignal(); /** + * @copydoc Dali::Toolkit::Button::ToggledSignal() + */ + Toolkit::Button::ToggledSignalV2& ToggledSignal(); + + /** * Connects a callback function with the object's signals. * @param[in] object The object providing the signal. * @param[in] tracker Used to disconnect the signal. @@@ -191,12 -190,6 +196,12 @@@ private: // From Contro */ virtual void OnControlSizeSet( const Vector3& targetSize ); + /** + * Callback received when the button is disconnected from the stage. + * It resets the button status. + */ + void OnControlStageDisconnection(); + private: /** @@@ -211,6 -204,14 +216,6 @@@ private: - /** - * Callback received when the button is disconected from the stage. - * It resets the button status. - */ - void OnStageDisconnection(); - -private: - // Undefined Button( const Button& ); @@@ -232,6 -233,7 +237,7 @@@ protected: // Signal ButtonPainterPtr mPainter; ///< Pointer to a ButtonPainter base class. Toolkit::Button::ClickedSignalV2 mClickedSignalV2; ///< Signal emitted when the button is clicked. + Toolkit::Button::ToggledSignalV2 mToggledSignalV2; ///< Signal emitted when the button is toggled. TapGestureDetector mTapDetector; }; diff --combined base/dali-toolkit/internal/controls/buttons/push-button-impl.cpp index 9d758b0,153c396..34245c2 --- a/base/dali-toolkit/internal/controls/buttons/push-button-impl.cpp +++ b/base/dali-toolkit/internal/controls/buttons/push-button-impl.cpp @@@ -59,9 -59,8 +59,8 @@@ BaseHandle Create( TypeRegistration typeRegistration( typeid(Toolkit::PushButton), typeid(Toolkit::Button), Create ); - SignalConnectorType signalConnector1( typeRegistration, Toolkit::PushButton::SIGNAL_TOGGLED , &PushButton::DoConnectSignal ); - SignalConnectorType signalConnector2( typeRegistration, Toolkit::PushButton::SIGNAL_PRESSED , &PushButton::DoConnectSignal ); - SignalConnectorType signalConnector3( typeRegistration, Toolkit::PushButton::SIGNAL_RELEASED, &PushButton::DoConnectSignal ); + SignalConnectorType signalConnector1( typeRegistration, Toolkit::PushButton::SIGNAL_PRESSED , &PushButton::DoConnectSignal ); + SignalConnectorType signalConnector2( typeRegistration, Toolkit::PushButton::SIGNAL_RELEASED, &PushButton::DoConnectSignal ); TypeAction action1( typeRegistration, Toolkit::PushButton::ACTION_PUSH_BUTTON_CLICK, &PushButton::DoAction ); @@@ -356,11 -355,6 +355,6 @@@ Actor& PushButton::GetFadeOutButtonImag return mFadeOutButtonImage; } - Toolkit::PushButton::ToggledSignalV2& PushButton::ToggledSignal() - { - return mToggledSignalV2; - } - Toolkit::PushButton::PressedSignalV2& PushButton::PressedSignal() { return mPressedSignalV2; @@@ -584,7 -578,7 +578,7 @@@ void PushButton::OnButtonUp( // Notifies the painter the button has been toggled. GetPushButtonPainter( mPainter )->Toggled( handle ); - //Emit signal. + // Emit signal. mToggledSignalV2.Emit( handle, mToggled ); } else @@@ -644,25 -638,6 +638,25 @@@ float PushButton::OnAnimationTimeReques return GetPushButtonPainter( mPainter )->GetAnimationTime(); } +void PushButton::OnButtonStageDisconnection() +{ + if( ButtonDown == mState ) + { + if( !mToggleButton ) + { + Toolkit::PushButton handle( GetOwner() ); + + // Notifies the painter the button has been released. + GetPushButtonPainter( mPainter )->Released( handle ); + + if( mAutoRepeating ) + { + mAutoRepeatingTimer.Reset(); + } + } + } +} + PushButton::PushButton() : Button(), mAutoRepeating( false ), diff --combined base/dali-toolkit/internal/controls/buttons/push-button-impl.h index b4acfaf,a3264ad..a021683 --- a/base/dali-toolkit/internal/controls/buttons/push-button-impl.h +++ b/base/dali-toolkit/internal/controls/buttons/push-button-impl.h @@@ -242,11 -242,6 +242,6 @@@ public // Signals /** - * @copydoc Dali::Toolkit::PushButton::ToggledSignal() - */ - Toolkit::PushButton::ToggledSignalV2& ToggledSignal(); - - /** * @copydoc Dali::Toolkit::PushButton::PressedSignal() */ Toolkit::PushButton::PressedSignalV2& PressedSignal(); @@@ -321,11 -316,6 +316,11 @@@ protected: // From Butto */ virtual float OnAnimationTimeRequested() const; + /** + * This method is called when the button is removed from the stage. + */ + virtual void OnButtonStageDisconnection(); + protected: // From Control /** @@@ -399,7 -389,6 +394,6 @@@ private bool mToggled; ///< Stores the toggle state. // Signals - Toolkit::PushButton::ToggledSignalV2 mToggledSignalV2; ///< Signal emitted when the button is toggled. Toolkit::PushButton::PressedSignalV2 mPressedSignalV2; ///< Signal emitted when the button is pressed. Toolkit::PushButton::ReleasedSignalV2 mReleasedSignalV2; ///< Signal emitted when the button is released.