X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fprogress-bar%2Fprogress-bar-impl.h;h=9ff203a3690cfe54b5d9ffd4f5baccdff698db4f;hp=31ae483119328c67924ef70608f2420606164c92;hb=c87b2e1b8bde8db53067b24e191a1adf9deeb8db;hpb=6dee0c77383cfa21c57099dd519ce4821a9d23b0 diff --git a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h old mode 100755 new mode 100644 index 31ae483..9ff203a --- a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h +++ b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_PROGRESS_BAR_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -19,24 +19,23 @@ */ // INTERNAL INCLUDES -#include -#include -#include +#include #include #include +#include +#include +#include +#include namespace Dali { - namespace Toolkit { - namespace Internal { - class ProgressBar; -typedef Dali::IntrusivePtr< ProgressBar > ProgressBarPtr; +typedef Dali::IntrusivePtr ProgressBarPtr; /** * @copydoc Toolkit::ProgressBar @@ -44,16 +43,14 @@ typedef Dali::IntrusivePtr< ProgressBar > ProgressBarPtr; class ProgressBar : public Control { public: - /** * Create a new ProgressBar with predefined style. * @param[in] progressBarStyle A style value that determines the shape of the progress bar. * @return A public handle to the newly allocated ProgressBar. */ - static Dali::Toolkit::ProgressBar New( DevelProgressBar::Style progressBarStyle = DevelProgressBar::Style::LINEAR ); + static Dali::Toolkit::ProgressBar New(DevelProgressBar::Style progressBarStyle = DevelProgressBar::Style::LINEAR); public: - // Properties /** @@ -61,7 +58,7 @@ public: * * @param[in] value The value to set. Will be clamped to [lowerBound .. upperBound] */ - void SetProgressValue( float value ); + void SetProgressValue(float value); /** * Get the value of the ProgressBar @@ -75,7 +72,7 @@ public: * * @param[in] value The secondary progress value to set. Will be clamped to [lowerBound .. upperBound] */ - void SetSecondaryProgressValue( float value ); + void SetSecondaryProgressValue(float value); /** * Get the secondary progress value of the ProgressBar @@ -89,7 +86,7 @@ public: * * @param[in] value The value to set. */ - void SetIndeterminate( bool value ); + void SetIndeterminate(bool value); /** * Get the indeterminate state value of the ProgressBar @@ -103,7 +100,7 @@ public: * * @param[in] Transition data map to set. */ - void SetIndeterminateVisualTransition( Property::Map transtion ); + void SetIndeterminateVisualTransition(Property::Map transtion); /** * Get the indeterminate visual transition data map of the ProgressBar @@ -125,7 +122,6 @@ public: */ Toolkit::ProgressBar::ValueChangedSignalType& ValueChangedSignal(); - /** * Connects a callback function with the object's signals. * @param[in] object The object providing the signal. @@ -135,8 +131,7 @@ public: * @return True if the signal was connected. * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor. */ - static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, - FunctorDelegate* functor ); + static bool DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor); // Properties @@ -146,7 +141,7 @@ public: * @param[in] index The property index. * @param[in] value The new property value. */ - static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ); + static void SetProperty(BaseObject* object, Property::Index index, const Property::Value& value); /** * Called to retrieve a property of an object of this type. @@ -154,10 +149,9 @@ public: * @param[in] index The property index. * @return The current value of the property. */ - static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex ); + static Property::Value GetProperty(BaseObject* object, Property::Index propertyIndex); protected: - /** * Construct a new ProgressBar. */ @@ -171,15 +165,14 @@ protected: /** * @copydoc CustomActorImpl::OnRelayout() */ - virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + void OnRelayout(const Vector2& size, RelayoutContainer& container) override; /** * @copydoc CustomActorImpl::GetNaturalSize() */ - virtual Vector3 GetNaturalSize(); + Vector3 GetNaturalSize() override; private: - /** * Domain is a from/to pair */ @@ -191,18 +184,18 @@ private: Domain() { } - Domain( Vector2 fromVal, Vector2 toVal ) - : from( fromVal ), to( toVal ) + Domain(Vector2 fromVal, Vector2 toVal) + : from(fromVal), + to(toVal) { } }; private: - /** * @copydoc Toolkit::Control::OnInitialize() */ - virtual void OnInitialize(); + void OnInitialize() override; /** * Get the range of the valid values the ProgressBar handle can move between @@ -210,87 +203,97 @@ private: * @param[in] currentSize The current size of the ProgressBar * @return The range as a domain pair */ - Domain CalcDomain( const Vector2& currentSize ); + Domain CalcDomain(const Vector2& currentSize); /** * Set indeterminate visual transition animation */ - void SetIndeterminateVisualTransition( Toolkit::TransitionData transtion ); + void SetIndeterminateVisualTransition(Toolkit::TransitionData transtion); /** * Convert value to transition data */ - Toolkit::TransitionData ConvertPropertyToTransition( const Property::Value& value ); + Toolkit::TransitionData ConvertPropertyToTransition(const Property::Value& value); /** * Update progress bar label when progress value is changed */ - void CreateVisualsForComponent( Property::Index index, const Property::Value& value, const int visualDepth ); + void CreateVisualsForComponent(Property::Index index, const Property::Value& value, const int visualDepth); /** * Update progress bar label when progress value is changed */ - bool GetPropertyMapForVisual( Property::Index visualIndex, Property::Map& retreivedMap ) const; + bool GetPropertyMapForVisual(Property::Index visualIndex, Property::Map& retreivedMap) const; /** * Apply progress value to visual */ - void ApplyProgressToVisual( float progress, Property::Index index, int depth ); + void ApplyProgressToVisual(float progress, Property::Index index, int depth); /** * Apply progress value to visual transform */ - void ApplyProgressToVisualTransform( float progress, Vector2 trackSize, Property::Index index ); + void ApplyProgressToVisualTransform(float progress, Vector2 trackSize, Property::Index index); /** * Check if we should start animating */ - virtual void OnStageConnection( int depth ); + void OnSceneConnection(int depth) override; private: - // Undefined - ProgressBar( const ProgressBar& ); + ProgressBar(const ProgressBar&); // Undefined - ProgressBar& operator=( const ProgressBar& rhs ); + ProgressBar& operator=(const ProgressBar& rhs); private: + Domain mDomain; ///< Current domain of the handle - Domain mDomain; ///< Current domain of the handle + Animation mIndeterminateVisualAni; ///< Animation for indetrminate visual. Transition animation. + Toolkit::ProgressBar::ValueChangedSignalType mValueChangedSignal; ///< Signal emitted when the value is changed - Animation mIndeterminateVisualAni; ///< Animation for indetrminate visual. Transition animation. - Toolkit::ProgressBar::ValueChangedSignalType mValueChangedSignal; ///< Signal emitted when the value is changed + Toolkit::TransitionData mIndeterminateVisualTransition; ///< Transition data map for mIndeterminateVisualAni + float mProgressValue; ///< Current value of ProgressBar + float mSecondaryProgressValue; ///< Current loading value of ProgressBar + bool mIndeterminate; ///< Whether the progress state is determined or not + Property::Map mTrackVisualMap; ///< To backup visual properties when switching determinate/indeterminate. + Property::Map mProgressVisualMap; ///< To backup visual properties when switching determinate/indeterminate. + Property::Map mSecondaryProgressVisualMap; ///< To backup visual properties when switching determinate/indeterminate. - Toolkit::TransitionData mIndeterminateVisualTransition; ///< Transition data map for mIndeterminateVisualAni - float mProgressValue; ///< Current value of ProgressBar - float mSecondaryProgressValue; ///< Current loading value of ProgressBar - bool mIndeterminate; ///< Whether the progress state is determined or not - Property::Map mTrackVisualMap; ///< To backup visual properties when switching determinate/indeterminate. - Property::Map mProgressVisualMap; ///< To backup visual properties when switching determinate/indeterminate. - Property::Map mSecondaryProgressVisualMap; ///< To backup visual properties when switching determinate/indeterminate. +protected: + struct AccessibleImpl : public DevelControl::AccessibleImpl, + public virtual Dali::Accessibility::Value + { + using DevelControl::AccessibleImpl::AccessibleImpl; + double GetMinimum() override; + double GetCurrent() override; + double GetMaximum() override; + bool SetCurrent(double) override; + double GetMinimumIncrement() override; + }; }; } // namespace Internal // Helpers for public-api forwarding methods -inline Toolkit::Internal::ProgressBar& GetImpl( Toolkit::ProgressBar& pub ) +inline Toolkit::Internal::ProgressBar& GetImpl(Toolkit::ProgressBar& pub) { - DALI_ASSERT_ALWAYS( pub ); + DALI_ASSERT_ALWAYS(pub); Dali::RefObject& handle = pub.GetImplementation(); - return static_cast< Toolkit::Internal::ProgressBar& >( handle ); + return static_cast(handle); } -inline const Toolkit::Internal::ProgressBar& GetImpl( const Toolkit::ProgressBar& pub ) +inline const Toolkit::Internal::ProgressBar& GetImpl(const Toolkit::ProgressBar& pub) { - DALI_ASSERT_ALWAYS( pub ); + DALI_ASSERT_ALWAYS(pub); const Dali::RefObject& handle = pub.GetImplementation(); - return static_cast< const Toolkit::Internal::ProgressBar& >( handle ); + return static_cast(handle); } } // namespace Toolkit