X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fprogress-bar%2Fprogress-bar-impl.h;h=31ae483119328c67924ef70608f2420606164c92;hb=refs%2Fchanges%2F01%2F235301%2F7;hp=f5f7e9198d1aecf36ce55518c952d8639ba18a91;hpb=4c4754749d5878776947da542c55ad8c1526c885;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h index f5f7e91..31ae483 100755 --- 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,14 +18,12 @@ * */ -// EXTERNAL INCLUDES -#include - // INTERNAL INCLUDES #include -#include -#include -#include +#include +#include +#include +#include namespace Dali { @@ -48,11 +46,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: @@ -63,7 +61,6 @@ public: * * @param[in] value The value to set. Will be clamped to [lowerBound .. upperBound] */ - void SetProgressValue( float value ); /** @@ -73,14 +70,62 @@ public: */ float GetProgressValue() const; + /** + * Set the secondary progress value of the ProgressBar + * + * @param[in] value The secondary progress value to set. Will be clamped to [lowerBound .. upperBound] + */ + void SetSecondaryProgressValue( float value ); + + /** + * Get the secondary progress value of the ProgressBar + * + * @return The current secondary progress value of the ProgressBar + */ + float GetSecondaryProgressValue() const; + + /** + * Set the indeterminate state of the ProgressBar + * + * @param[in] value The value to set. + */ + void SetIndeterminate( bool value ); + + /** + * Get the indeterminate state value of the ProgressBar + * + * @return The current determined state of the ProgressBar + */ + bool GetIndeterminate() const; + + /** + * Set the indeterminate visual transition of the ProgressBar + * + * @param[in] Transition data map to set. + */ + void SetIndeterminateVisualTransition( Property::Map transtion ); + + /** + * Get the indeterminate visual transition data map of the ProgressBar + * + * @return The current indeterminate visual transition data map of the ProgressBar + */ + Property::Map GetIndeterminateVisualTransition() const; + + /** + * Play the indeterminate visual transition + */ + void PlayIndeterminateVisualTransition(); + public: //Signals /** - * @copydoc Toolkit::ProgressBar::ValueChangedSignal() + * @copydoc toolkit::progressbar::valuechangedsignal() */ Toolkit::ProgressBar::ValueChangedSignalType& ValueChangedSignal(); + /** * Connects a callback function with the object's signals. * @param[in] object The object providing the signal. @@ -168,73 +213,39 @@ private: Domain CalcDomain( const Vector2& currentSize ); /** - * Create the track for the ProgressBar - * - * @return The track actor - */ - Toolkit::ImageView CreateTrack(); - - /** - * Create the progress track for the ProgressBar - * - * @return The track actor - */ - Toolkit::ImageView CreateProgress(); - - /** - * Create all the children + * Set indeterminate visual transition animation */ - void CreateChildren(); + void SetIndeterminateVisualTransition( Toolkit::TransitionData transtion ); /** - * Set value choosing whether to fire signals or not - * - * @paramp[in] value The value to set - * @param[in] raiseSignals Configure signals to be raised or not. + * Convert value to transition data */ - void DisplayValue( float value, bool raiseSignals ); + Toolkit::TransitionData ConvertPropertyToTransition( const Property::Value& value ); /** - * Create the image for the track - * - * @param[in] filename The track image + * Update progress bar label when progress value is changed */ - void SetTrackVisual( const std::string& filename ); + void CreateVisualsForComponent( Property::Index index, const Property::Value& value, const int visualDepth ); /** - * @brief Set the track visual from an Dali::Property::Map - * - * @param[in] map The Dali::Property::Map to use for to display + * Update progress bar label when progress value is changed */ - void SetTrackVisual( Dali::Property::Map map ); + bool GetPropertyMapForVisual( Property::Index visualIndex, Property::Map& retreivedMap ) const; /** - * @brief Return the track image. - * - * @return The track image. + * Apply progress value to visual */ - std::string GetTrackVisual(); + void ApplyProgressToVisual( float progress, Property::Index index, int depth ); /** - * Create the image for the progress bar - * - * @param[in] filename The progress bar image + * Apply progress value to visual transform */ - void SetProgressVisual( const std::string& filename ); + void ApplyProgressToVisualTransform( float progress, Vector2 trackSize, Property::Index index ); /** - * @brief Set the progress visual from an Dali::Property::Map - * - * @param[in] map The Dali::Property::Map to use for to display + * Check if we should start animating */ - void SetProgressVisual( Dali::Property::Map map ); - - /** - * @brief Return the progress bar image. - * - * @return The progress bar image if it exists. - */ - std::string GetProgressVisual(); + virtual void OnStageConnection( int depth ); private: @@ -246,23 +257,18 @@ private: private: - Domain mDomain; ///< Current domain of the handle - - Toolkit::ImageView mTrack; ///< Track image - Toolkit::ImageView mProgress; ///< Progress bar - Toolkit::TextLabel mValueTextLabel; ///< Text value to show progress percentage - Toolkit::ProgressBar::ValueChangedSignalType mValueChangedSignal; ///< Signal emitted when the value is changed - - std::string mTrackVisual; ///< Image for track image - std::string mProgressVisual; ///< Image for progress bar image - - Property::Map mTrackMap; ///< the Property::Map if the image came from a Property::Map, empty otherwise - Property::Map mProgressMap; ///< the Property::Map if the image came from a Property::Map, empty otherwise + Domain mDomain; ///< Current domain of the handle - Vector2 mTrackVisualSize; ///< Size of the track image used - Vector2 mProgressVisualSize; ///< Size of progress image used + Animation mIndeterminateVisualAni; ///< Animation for indetrminate visual. Transition animation. + Toolkit::ProgressBar::ValueChangedSignalType mValueChangedSignal; ///< Signal emitted when the value is changed - float mValue; ///< Current value of ProgressBar + 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. }; } // namespace Internal