Commit 0b3b3c66955214e2c66a1358a1bf10d62afa3302

Authored by minho.sun
1 parent 87036627

Update progress bar example

Update progress bar example.

There are three new buttons to check new properies of Progress bar.

Change-Id: I9bf0607e3fb3763b37ca88c80040d9713b731169
Signed-off-by: minho.sun <minho.sun@samsung.com>
examples/progress-bar/progress-bar-example.cpp
@@ -53,6 +53,8 @@ public: @@ -53,6 +53,8 @@ public:
53 { 53 {
54 // Connect to the Application's Init signal 54 // Connect to the Application's Init signal
55 mProgressValue = 0.0f; 55 mProgressValue = 0.0f;
  56 + mSecondaryProgressValue = 0.1f;
  57 + isDefaultTheme = true;
56 mApplication.InitSignal().Connect( this, &ProgressBarExample::Create ); 58 mApplication.InitSignal().Connect( this, &ProgressBarExample::Create );
57 } 59 }
58 60
@@ -80,20 +82,7 @@ private: @@ -80,20 +82,7 @@ private:
80 mProgressBarDefault.SetAnchorPoint(AnchorPoint::TOP_CENTER); 82 mProgressBarDefault.SetAnchorPoint(AnchorPoint::TOP_CENTER);
81 mProgressBarDefault.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); 83 mProgressBarDefault.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);
82 mProgressBarDefault.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); 84 mProgressBarDefault.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT);
83 -  
84 - mProgressBarCustomStyle1 = ProgressBar::New();  
85 - mProgressBarCustomStyle1.SetStyleName( "ProgressBarCustomStyle1" );  
86 - mProgressBarCustomStyle1.SetParentOrigin(ParentOrigin::TOP_CENTER);  
87 - mProgressBarCustomStyle1.SetAnchorPoint(AnchorPoint::TOP_CENTER);  
88 - mProgressBarCustomStyle1.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);  
89 - mProgressBarCustomStyle1.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT);  
90 -  
91 - mProgressBarCustomStyle2 = ProgressBar::New();  
92 - mProgressBarCustomStyle2.SetStyleName( "ProgressBarCustomStyle2" );  
93 - mProgressBarCustomStyle2.SetParentOrigin(ParentOrigin::TOP_CENTER);  
94 - mProgressBarCustomStyle2.SetAnchorPoint(AnchorPoint::TOP_CENTER);  
95 - mProgressBarCustomStyle2.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);  
96 - mProgressBarCustomStyle2.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); 85 + mProgressBarDefault.ValueChangedSignal().Connect( this, &ProgressBarExample::OnValueChanged );
97 86
98 Toolkit::TableView contentTable = Toolkit::TableView::New(2, 1); 87 Toolkit::TableView contentTable = Toolkit::TableView::New(2, 1);
99 contentTable.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); 88 contentTable.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);
@@ -111,7 +100,7 @@ private: @@ -111,7 +100,7 @@ private:
111 mContentLayer.Add( contentTable ); 100 mContentLayer.Add( contentTable );
112 101
113 // Image selector for progress bar 102 // Image selector for progress bar
114 - Toolkit::TableView progressBackground = Toolkit::TableView::New( 3, 1 ); 103 + Toolkit::TableView progressBackground = Toolkit::TableView::New( 1, 1 );
115 progressBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); 104 progressBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
116 progressBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); 105 progressBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
117 progressBackground.SetBackgroundColor( BACKGROUND_COLOUR ); 106 progressBackground.SetBackgroundColor( BACKGROUND_COLOUR );
@@ -125,11 +114,9 @@ private: @@ -125,11 +114,9 @@ private:
125 114
126 contentTable.Add( progressBackground ); 115 contentTable.Add( progressBackground );
127 progressBackground.Add( mProgressBarDefault ); 116 progressBackground.Add( mProgressBarDefault );
128 - progressBackground.Add( mProgressBarCustomStyle1 );  
129 - progressBackground.Add( mProgressBarCustomStyle2 );  
130 117
131 // Create buttons 118 // Create buttons
132 - Toolkit::TableView buttonBackground = Toolkit::TableView::New( 1, 1 ); 119 + Toolkit::TableView buttonBackground = Toolkit::TableView::New( 3, 1 );
133 buttonBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); 120 buttonBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
134 buttonBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); 121 buttonBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
135 buttonBackground.SetBackgroundColor( BACKGROUND_COLOUR ); 122 buttonBackground.SetBackgroundColor( BACKGROUND_COLOUR );
@@ -150,6 +137,22 @@ private: @@ -150,6 +137,22 @@ private:
150 137
151 buttonBackground.Add( mResetProgressButton ); 138 buttonBackground.Add( mResetProgressButton );
152 139
  140 + mSetIndeterminateButton = Toolkit::PushButton::New();
  141 + mSetIndeterminateButton.SetProperty( Toolkit::Button::Property::LABEL, "Toggle Indeterminate" );
  142 + mSetIndeterminateButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
  143 + mSetIndeterminateButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
  144 + mSetIndeterminateButton.ClickedSignal().Connect( this, &ProgressBarExample::OnSetIndeterminateButtonSelected );
  145 +
  146 + buttonBackground.Add( mSetIndeterminateButton );
  147 +
  148 + mChangeThemeButton = Toolkit::PushButton::New();
  149 + mChangeThemeButton.SetProperty( Toolkit::Button::Property::LABEL, "Change Theme" );
  150 + mChangeThemeButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
  151 + mChangeThemeButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
  152 + mChangeThemeButton.ClickedSignal().Connect( this, &ProgressBarExample::OnChangeThemeButtonSelected );
  153 +
  154 + buttonBackground.Add( mChangeThemeButton );
  155 +
153 // Create a timer to update the progress of all progress bars 156 // Create a timer to update the progress of all progress bars
154 mTimer = Timer::New( TIMER_TIMEOUT_TIME ); 157 mTimer = Timer::New( TIMER_TIMEOUT_TIME );
155 mTimer.TickSignal().Connect( this, &ProgressBarExample::OnTimerTick ); 158 mTimer.TickSignal().Connect( this, &ProgressBarExample::OnTimerTick );
@@ -159,9 +162,9 @@ private: @@ -159,9 +162,9 @@ private:
159 bool OnTimerTick() 162 bool OnTimerTick()
160 { 163 {
161 mProgressValue += PROGRESS_INCREMENT_VALUE; 164 mProgressValue += PROGRESS_INCREMENT_VALUE;
  165 + mSecondaryProgressValue = mProgressValue + 0.1f;
162 mProgressBarDefault.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); 166 mProgressBarDefault.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue);
163 - mProgressBarCustomStyle1.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue);  
164 - mProgressBarCustomStyle2.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); 167 + mProgressBarDefault.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, mSecondaryProgressValue);
165 168
166 return ( mProgressValue < 1.0f ); // Only call again if progress has NOT got to the end 169 return ( mProgressValue < 1.0f ); // Only call again if progress has NOT got to the end
167 } 170 }
@@ -169,13 +172,51 @@ private: @@ -169,13 +172,51 @@ private:
169 bool OnResetProgressButtonSelected( Toolkit::Button button ) 172 bool OnResetProgressButtonSelected( Toolkit::Button button )
170 { 173 {
171 mProgressValue = 0.0f; 174 mProgressValue = 0.0f;
  175 + mSecondaryProgressValue = 0.1f;
172 mProgressBarDefault.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); 176 mProgressBarDefault.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);
173 - mProgressBarCustomStyle1.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);  
174 - mProgressBarCustomStyle2.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); 177 + mProgressBarDefault.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.1f);
175 mTimer.Start(); 178 mTimer.Start();
176 return true; 179 return true;
177 } 180 }
178 181
  182 + void OnValueChanged( ProgressBar progressBar, float value, float secondaryValue )
  183 + {
  184 + std::stringstream newLabel;
  185 + newLabel.precision( 2 );
  186 + newLabel << std::fixed << "current : " << value << " / loaded : " << secondaryValue;
  187 +
  188 + mProgressBarDefault.SetProperty(ProgressBar::Property::LABEL_VISUAL, newLabel.str() );
  189 + }
  190 +
  191 + bool OnSetIndeterminateButtonSelected( Toolkit::Button button )
  192 + {
  193 + if( mProgressBarDefault.GetProperty<bool>(ProgressBar::Property::INDETERMINATE))
  194 + {
  195 + mProgressBarDefault.SetProperty(ProgressBar::Property::INDETERMINATE, false);
  196 + }
  197 + else
  198 + {
  199 + mProgressBarDefault.SetProperty(ProgressBar::Property::INDETERMINATE, true);
  200 + }
  201 + return true;
  202 + }
  203 +
  204 + bool OnChangeThemeButtonSelected( Toolkit::Button button )
  205 + {
  206 + StyleManager styleManager = StyleManager::Get();
  207 +
  208 + if( isDefaultTheme )
  209 + {
  210 + styleManager.ApplyTheme( THEME_PATH );
  211 + isDefaultTheme = false;
  212 + }
  213 + else
  214 + {
  215 + styleManager.ApplyDefaultTheme();
  216 + isDefaultTheme = true;
  217 + }
  218 + return true;
  219 + }
179 void OnKeyEvent( const KeyEvent& event ) 220 void OnKeyEvent( const KeyEvent& event )
180 { 221 {
181 if( event.state == KeyEvent::Down ) 222 if( event.state == KeyEvent::Down )
@@ -196,15 +237,17 @@ private: @@ -196,15 +237,17 @@ private:
196 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 237 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
197 Layer mContentLayer; ///< Content layer. 238 Layer mContentLayer; ///< Content layer.
198 ProgressBar mProgressBarDefault; 239 ProgressBar mProgressBarDefault;
199 - ProgressBar mProgressBarCustomStyle1;  
200 - ProgressBar mProgressBarCustomStyle2;  
201 Toolkit::PushButton mResetProgressButton; 240 Toolkit::PushButton mResetProgressButton;
  241 + Toolkit::PushButton mSetIndeterminateButton;
  242 + Toolkit::PushButton mChangeThemeButton;
202 float mProgressValue; 243 float mProgressValue;
  244 + float mSecondaryProgressValue;
  245 + bool isDefaultTheme;
203 }; 246 };
204 247
205 int DALI_EXPORT_API main( int argc, char **argv ) 248 int DALI_EXPORT_API main( int argc, char **argv )
206 { 249 {
207 - Application application = Application::New( &argc, &argv, THEME_PATH ); 250 + Application application = Application::New( &argc, &argv );
208 ProgressBarExample test( application ); 251 ProgressBarExample test( application );
209 application.MainLoop(); 252 application.MainLoop();
210 return 0; 253 return 0;
resources/images/progress-bar-progress.9.png renamed to resources/images/new-progress-bar-progress.9.png

199 Bytes

resources/images/new-progress-bar-secondary-progress.9.png 0 → 100644

126 Bytes

resources/images/progress-bar.9.png renamed to resources/images/new-progress-bar-track.9.png

182 Bytes

resources/images/progress-bar-2.9.png deleted

177 Bytes

resources/images/progress-bar-progress-2.9.png deleted

182 Bytes

resources/style/mobile/progress-bar-example-theme.json.in
@@ -14,33 +14,19 @@ @@ -14,33 +14,19 @@
14 * limitations under the License. 14 * limitations under the License.
15 * 15 *
16 */ 16 */
17 -  
18 { 17 {
19 "styles": 18 "styles":
20 { 19 {
21 - "ProgressBarCustomStyle1": 20 + "ProgressBar":
22 { 21 {
23 - "progressValue": 0,  
24 "trackVisual":{ 22 "trackVisual":{
25 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar.9.png",  
26 - "size":[5,24] 23 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-track.9.png"
27 }, 24 },
28 "progressVisual":{ 25 "progressVisual":{
29 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress.9.png",  
30 - "size":[5,24]  
31 - }  
32 - },  
33 -  
34 - "ProgressBarCustomStyle2":  
35 - {  
36 - "progressValue": 0,  
37 - "trackVisual":{  
38 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-2.9.png",  
39 - "size":[5,7] 26 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-progress.9.png"
40 }, 27 },
41 - "progressVisual":{  
42 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress-2.9.png",  
43 - "size":[5,7] 28 + "secondaryProgressVisual":{
  29 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-secondary-progress.9.png"
44 } 30 }
45 } 31 }
46 } 32 }
resources/style/progress-bar-example-theme.json.in
@@ -18,29 +18,16 @@ @@ -18,29 +18,16 @@
18 { 18 {
19 "styles": 19 "styles":
20 { 20 {
21 - "ProgressBarCustomStyle1": 21 + "ProgressBar":
22 { 22 {
23 - "progressValue": 0,  
24 "trackVisual":{ 23 "trackVisual":{
25 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar.9.png",  
26 - "size":[5,24] 24 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-track.9.png"
27 }, 25 },
28 "progressVisual":{ 26 "progressVisual":{
29 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress.9.png",  
30 - "size":[5,24]  
31 - }  
32 - },  
33 -  
34 - "ProgressBarCustomStyle2":  
35 - {  
36 - "progressValue": 0,  
37 - "trackVisual":{  
38 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-2.9.png",  
39 - "size":[5,7] 27 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-progress.9.png"
40 }, 28 },
41 - "progressVisual":{  
42 - "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress-2.9.png",  
43 - "size":[5,7] 29 + "secondaryProgressVisual":{
  30 + "url":"{APPLICATION_RESOURCE_PATH}/images/new-progress-bar-secondary-progress.9.png"
44 } 31 }
45 } 32 }
46 } 33 }