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=8d33e027b888693eac19f65a58b8ae7dd129da80;hp=b59c8b3957b9175fc4e9451e096bb13958d31d02;hb=8a647e87a01c5c78451653c1264a9eea81ac9b20;hpb=e5db233869c72ec43ed7be31a3f1a2231f1f510d 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 b59c8b3..8d33e02 --- 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) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -18,12 +18,13 @@ * */ - // INTERNAL INCLUDES #include #include -#include +#include +#include #include +#include namespace Dali { @@ -46,11 +47,11 @@ class ProgressBar : public Control public: /** - * Create a new ProgressBar. - * + * 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(); + static Dali::Toolkit::ProgressBar New( DevelProgressBar::Style progressBarStyle = DevelProgressBar::Style::LINEAR ); public: @@ -171,12 +172,12 @@ 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: @@ -202,7 +203,7 @@ private: /** * @copydoc Toolkit::Control::OnInitialize() */ - virtual void OnInitialize(); + void OnInitialize() override; /** * Get the range of the valid values the ProgressBar handle can move between @@ -225,7 +226,7 @@ private: /** * Update progress bar label when progress value is changed */ - void CreateVisualsForComponent( Property::Index index, const Property::Value& value, const float visualDepth ); + void CreateVisualsForComponent( Property::Index index, const Property::Value& value, const int visualDepth ); /** * Update progress bar label when progress value is changed @@ -233,9 +234,19 @@ private: bool GetPropertyMapForVisual( Property::Index visualIndex, Property::Map& retreivedMap ) const; /** + * Apply progress value to visual + */ + void ApplyProgressToVisual( float progress, Property::Index index, int depth ); + + /** + * Apply progress value to visual transform + */ + 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: @@ -256,6 +267,21 @@ private: 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 Control::Impl::AccessibleImpl, + public virtual Dali::Accessibility::Value + { + using Control::Impl::AccessibleImpl::AccessibleImpl; + double GetMinimum() override; + double GetCurrent() override; + double GetMaximum() override; + bool SetCurrent( double ) override; + double GetMinimumIncrement() override; + }; }; } // namespace Internal