Commit 483ee611c7cf108f4b1ac85f42636fdbf7067c2b
[dali_1.2.21] Merge branch 'devel/master'
Change-Id: I1c1490d73b64bf8960a0940b2cee663d7d608526
Showing
10 changed files
with
180 additions
and
66 deletions
build/tizen/CMakeLists.txt
| ... | ... | @@ -102,6 +102,7 @@ CONFIGURE_FILE( resources-location.in ${DEMO_SHARED}/resources-location.cpp ) |
| 102 | 102 | #Replace @DEMO_STYLE_IMAGE_DIR@ in following files |
| 103 | 103 | CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/demo-theme.json.in ${LOCAL_STYLE_DIR}/demo-theme.json ) |
| 104 | 104 | CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/contact-cards-example-theme.json.in ${LOCAL_STYLE_DIR}/contact-cards-example-theme.json ) |
| 105 | +CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/progress-bar-example-theme.json.in ${LOCAL_STYLE_DIR}/progress-bar-example-theme.json ) | |
| 105 | 106 | CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/style-example-theme-one.json.in ${LOCAL_STYLE_DIR}/style-example-theme-one.json ) |
| 106 | 107 | CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/style-example-theme-two.json.in ${LOCAL_STYLE_DIR}/style-example-theme-two.json ) |
| 107 | 108 | CONFIGURE_FILE( ${LOCAL_STYLE_DIR}/style-example-theme-three.json.in ${LOCAL_STYLE_DIR}/style-example-theme-three.json ) | ... | ... |
examples/progress-bar/progress-bar-example.cpp
| ... | ... | @@ -25,7 +25,7 @@ using Dali::Toolkit::ProgressBar; |
| 25 | 25 | |
| 26 | 26 | namespace |
| 27 | 27 | { |
| 28 | - | |
| 28 | +const char * const THEME_PATH( DEMO_STYLE_DIR "progress-bar-example-theme.json" ); ///< The theme used for this example | |
| 29 | 29 | const char* const BACKGROUND_IMAGE = DEMO_IMAGE_DIR "background-gradient.jpg"; |
| 30 | 30 | const char* const TOOLBAR_IMAGE = DEMO_IMAGE_DIR "top-bar.png"; |
| 31 | 31 | const char* const TOOLBAR_TITLE = "Progress Bar"; |
| ... | ... | @@ -36,11 +36,14 @@ const Vector4 BACKGROUND_COLOUR( 1.0f, 1.0f, 1.0f, 0.15f ); |
| 36 | 36 | const int MARGIN_SIZE = 10; |
| 37 | 37 | const int TOP_MARGIN = 85; |
| 38 | 38 | |
| 39 | +const unsigned int TIMER_TIMEOUT_TIME = 50; | |
| 40 | +const float PROGRESS_INCREMENT_VALUE = 0.01f; | |
| 41 | + | |
| 39 | 42 | } // namespace |
| 40 | 43 | |
| 41 | -/** This example shows how to create and use PROGRESS BAR. | |
| 44 | +/** | |
| 45 | + * @brief Shows how to create a default progress bar and custom styled progress bars. | |
| 42 | 46 | */ |
| 43 | - | |
| 44 | 47 | class ProgressBarExample: public ConnectionTracker |
| 45 | 48 | { |
| 46 | 49 | public: |
| ... | ... | @@ -53,10 +56,7 @@ public: |
| 53 | 56 | mApplication.InitSignal().Connect( this, &ProgressBarExample::Create ); |
| 54 | 57 | } |
| 55 | 58 | |
| 56 | - ~ProgressBarExample() | |
| 57 | - { | |
| 58 | - // Nothing to do here | |
| 59 | - } | |
| 59 | +private: | |
| 60 | 60 | |
| 61 | 61 | void Create( Application& application ) |
| 62 | 62 | { |
| ... | ... | @@ -75,11 +75,25 @@ public: |
| 75 | 75 | TOOLBAR_IMAGE, |
| 76 | 76 | TOOLBAR_TITLE ); |
| 77 | 77 | |
| 78 | - mProgressBar = ProgressBar::New(); | |
| 79 | - mProgressBar.SetParentOrigin(ParentOrigin::TOP_CENTER); | |
| 80 | - mProgressBar.SetAnchorPoint(AnchorPoint::TOP_CENTER); | |
| 81 | - mProgressBar.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); | |
| 82 | - mProgressBar.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); | |
| 78 | + mProgressBarDefault = ProgressBar::New(); | |
| 79 | + mProgressBarDefault.SetParentOrigin(ParentOrigin::TOP_CENTER); | |
| 80 | + mProgressBarDefault.SetAnchorPoint(AnchorPoint::TOP_CENTER); | |
| 81 | + mProgressBarDefault.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); | |
| 82 | + 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); | |
| 83 | 97 | |
| 84 | 98 | Toolkit::TableView contentTable = Toolkit::TableView::New(2, 1); |
| 85 | 99 | contentTable.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); |
| ... | ... | @@ -97,18 +111,25 @@ public: |
| 97 | 111 | mContentLayer.Add( contentTable ); |
| 98 | 112 | |
| 99 | 113 | // Image selector for progress bar |
| 100 | - Toolkit::TableView progressBackground = Toolkit::TableView::New( 1, 1 ); | |
| 114 | + Toolkit::TableView progressBackground = Toolkit::TableView::New( 3, 1 ); | |
| 101 | 115 | progressBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); |
| 102 | 116 | progressBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); |
| 103 | 117 | progressBackground.SetBackgroundColor( BACKGROUND_COLOUR ); |
| 104 | 118 | progressBackground.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) ); |
| 105 | 119 | progressBackground.SetRelativeWidth( 0, 1.0f ); |
| 106 | - progressBackground.SetFitHeight( 0 ); | |
| 120 | + | |
| 121 | + for( unsigned int i = 0; i < progressBackground.GetRows(); ++i ) | |
| 122 | + { | |
| 123 | + progressBackground.SetFitHeight( i ); | |
| 124 | + } | |
| 125 | + | |
| 107 | 126 | contentTable.Add( progressBackground ); |
| 108 | - progressBackground.Add( mProgressBar ); | |
| 127 | + progressBackground.Add( mProgressBarDefault ); | |
| 128 | + progressBackground.Add( mProgressBarCustomStyle1 ); | |
| 129 | + progressBackground.Add( mProgressBarCustomStyle2 ); | |
| 109 | 130 | |
| 110 | 131 | // Create buttons |
| 111 | - Toolkit::TableView buttonBackground = Toolkit::TableView::New( 2, 1 ); | |
| 132 | + Toolkit::TableView buttonBackground = Toolkit::TableView::New( 1, 1 ); | |
| 112 | 133 | buttonBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); |
| 113 | 134 | buttonBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); |
| 114 | 135 | buttonBackground.SetBackgroundColor( BACKGROUND_COLOUR ); |
| ... | ... | @@ -121,73 +142,70 @@ public: |
| 121 | 142 | |
| 122 | 143 | contentTable.Add( buttonBackground ); |
| 123 | 144 | |
| 124 | - mSetProgressButton = Toolkit::PushButton::New(); | |
| 125 | - mSetProgressButton.SetLabelText( "Set Progress" ); | |
| 126 | - mSetProgressButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); | |
| 127 | - mSetProgressButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); | |
| 128 | - mSetProgressButton.ClickedSignal().Connect( this, &ProgressBarExample::OnSetProgressButtonSelected ); | |
| 129 | - | |
| 130 | - buttonBackground.Add( mSetProgressButton ); | |
| 131 | - | |
| 132 | 145 | mResetProgressButton = Toolkit::PushButton::New(); |
| 133 | - mResetProgressButton.SetLabelText( "Reset Progress" ); | |
| 146 | + mResetProgressButton.SetLabelText( "Reset" ); | |
| 134 | 147 | mResetProgressButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); |
| 135 | 148 | mResetProgressButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); |
| 136 | 149 | mResetProgressButton.ClickedSignal().Connect( this, &ProgressBarExample::OnResetProgressButtonSelected ); |
| 137 | 150 | |
| 138 | 151 | buttonBackground.Add( mResetProgressButton ); |
| 139 | - } | |
| 140 | - | |
| 141 | - bool OnResetProgressButtonSelected( Toolkit::Button button ) | |
| 142 | - { | |
| 143 | - mProgressValue = 0.0f; | |
| 144 | - mProgressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); | |
| 145 | - return true; | |
| 146 | - } | |
| 147 | - | |
| 148 | - bool OnSetProgressButtonSelected( Toolkit::Button button ) | |
| 149 | - { | |
| 150 | - mProgressValue += 0.1f; | |
| 151 | - mProgressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); | |
| 152 | - return true; | |
| 153 | - } | |
| 154 | - | |
| 155 | - void OnKeyEvent( const KeyEvent& event ) | |
| 156 | - { | |
| 157 | - if( event.state == KeyEvent::Down ) | |
| 158 | - { | |
| 159 | - if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) | |
| 160 | - { | |
| 161 | - // Exit application when click back or escape. | |
| 162 | - mApplication.Quit(); | |
| 163 | - } | |
| 164 | - } | |
| 165 | - } | |
| 166 | 152 | |
| 167 | -private: | |
| 153 | + // Create a timer to update the progress of all progress bars | |
| 154 | + mTimer = Timer::New( TIMER_TIMEOUT_TIME ); | |
| 155 | + mTimer.TickSignal().Connect( this, &ProgressBarExample::OnTimerTick ); | |
| 156 | + mTimer.Start(); | |
| 157 | + } | |
| 158 | + | |
| 159 | + bool OnTimerTick() | |
| 160 | + { | |
| 161 | + mProgressValue += PROGRESS_INCREMENT_VALUE; | |
| 162 | + mProgressBarDefault.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); | |
| 163 | + mProgressBarCustomStyle1.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); | |
| 164 | + mProgressBarCustomStyle2.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); | |
| 165 | + | |
| 166 | + return ( mProgressValue < 1.0f ); // Only call again if progress has NOT got to the end | |
| 167 | + } | |
| 168 | + | |
| 169 | + bool OnResetProgressButtonSelected( Toolkit::Button button ) | |
| 170 | + { | |
| 171 | + mProgressValue = 0.0f; | |
| 172 | + 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); | |
| 175 | + mTimer.Start(); | |
| 176 | + return true; | |
| 177 | + } | |
| 178 | + | |
| 179 | + void OnKeyEvent( const KeyEvent& event ) | |
| 180 | + { | |
| 181 | + if( event.state == KeyEvent::Down ) | |
| 182 | + { | |
| 183 | + if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) | |
| 184 | + { | |
| 185 | + // Exit application when click back or escape. | |
| 186 | + mApplication.Quit(); | |
| 187 | + } | |
| 188 | + } | |
| 189 | + } | |
| 190 | + | |
| 191 | + // Data | |
| 168 | 192 | |
| 169 | 193 | Application& mApplication; |
| 194 | + Timer mTimer; | |
| 170 | 195 | Toolkit::Control mView; ///< The View instance. |
| 171 | 196 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 172 | 197 | Layer mContentLayer; ///< Content layer. |
| 173 | - ProgressBar mProgressBar; | |
| 174 | - Toolkit::PushButton mSetProgressButton; | |
| 198 | + ProgressBar mProgressBarDefault; | |
| 199 | + ProgressBar mProgressBarCustomStyle1; | |
| 200 | + ProgressBar mProgressBarCustomStyle2; | |
| 175 | 201 | Toolkit::PushButton mResetProgressButton; |
| 176 | 202 | float mProgressValue; |
| 177 | 203 | }; |
| 178 | 204 | |
| 179 | -void RunTest( Application& application ) | |
| 205 | +int DALI_EXPORT_API main( int argc, char **argv ) | |
| 180 | 206 | { |
| 207 | + Application application = Application::New( &argc, &argv, THEME_PATH ); | |
| 181 | 208 | ProgressBarExample test( application ); |
| 182 | 209 | application.MainLoop(); |
| 183 | -} | |
| 184 | - | |
| 185 | -// Entry point for Linux & Tizen applications | |
| 186 | -int DALI_EXPORT_API main( int argc, char **argv ) | |
| 187 | -{ | |
| 188 | - Application application = Application::New( &argc, &argv, DEMO_THEME_PATH ); | |
| 189 | - | |
| 190 | - RunTest( application ); | |
| 191 | - | |
| 192 | 210 | return 0; |
| 193 | 211 | } | ... | ... |
packaging/com.samsung.dali-demo.spec
resources/images/progress-bar-2.9.png
0 → 100644
177 Bytes
resources/images/progress-bar-progress-2.9.png
0 → 100644
182 Bytes
resources/images/progress-bar-progress.9.png
0 → 100644
199 Bytes
resources/images/progress-bar.9.png
0 → 100644
182 Bytes
resources/style/.gitignore
resources/style/mobile/progress-bar-example-theme.json.in
0 → 100644
| 1 | +/* | |
| 2 | + * Copyright (c) 2016 Samsung Electronics Co., Ltd. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + * | |
| 16 | + */ | |
| 17 | + | |
| 18 | +{ | |
| 19 | + "styles": | |
| 20 | + { | |
| 21 | + "ProgressBarCustomStyle1": | |
| 22 | + { | |
| 23 | + "progressValue": 0, | |
| 24 | + "trackVisual":{ | |
| 25 | + "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar.9.png", | |
| 26 | + "size":[5,24] | |
| 27 | + }, | |
| 28 | + "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] | |
| 40 | + }, | |
| 41 | + "progressVisual":{ | |
| 42 | + "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress-2.9.png", | |
| 43 | + "size":[5,7] | |
| 44 | + } | |
| 45 | + } | |
| 46 | + } | |
| 47 | +} | ... | ... |
resources/style/progress-bar-example-theme.json.in
0 → 100644
| 1 | +/* | |
| 2 | + * Copyright (c) 2016 Samsung Electronics Co., Ltd. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + * | |
| 16 | + */ | |
| 17 | + | |
| 18 | +{ | |
| 19 | + "styles": | |
| 20 | + { | |
| 21 | + "ProgressBarCustomStyle1": | |
| 22 | + { | |
| 23 | + "progressValue": 0, | |
| 24 | + "trackVisual":{ | |
| 25 | + "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar.9.png", | |
| 26 | + "size":[5,24] | |
| 27 | + }, | |
| 28 | + "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] | |
| 40 | + }, | |
| 41 | + "progressVisual":{ | |
| 42 | + "url":"{APPLICATION_RESOURCE_PATH}/images/progress-bar-progress-2.9.png", | |
| 43 | + "size":[5,7] | |
| 44 | + } | |
| 45 | + } | |
| 46 | + } | |
| 47 | +} | ... | ... |