From 1e93137cfc5666f5345ba025240acea3a569da53 Mon Sep 17 00:00:00 2001 From: "shiva.jm" Date: Tue, 2 Aug 2016 11:24:52 +0530 Subject: [PATCH] Add Progress Bar Control Demo Application Change-Id: I9a725b76acc387f114478eb5f0a626e211b285e6 Signed-off-by: shiva.jm --- com.samsung.dali-demo.xml | 3 + demo/dali-demo.cpp | 3 +- examples/progress-bar/progress-bar-example.cpp | 193 +++++++++++++++++++++++++ resources/po/as.po | 3 + resources/po/de.po | 3 + resources/po/en_GB.po | 3 + resources/po/en_US.po | 3 + resources/po/es.po | 3 + resources/po/ko.po | 3 + resources/po/ml.po | 3 + resources/po/ur.po | 3 + resources/po/zn_CH.po | 3 + shared/dali-demo-strings.h | 2 + 13 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 examples/progress-bar/progress-bar-example.cpp diff --git a/com.samsung.dali-demo.xml b/com.samsung.dali-demo.xml index 4dbcc91..3c43375 100644 --- a/com.samsung.dali-demo.xml +++ b/com.samsung.dali-demo.xml @@ -172,4 +172,7 @@ + + + diff --git a/demo/dali-demo.cpp b/demo/dali-demo.cpp index 9df0c52..48b28c8 100644 --- a/demo/dali-demo.cpp +++ b/demo/dali-demo.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 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. @@ -82,6 +82,7 @@ int DALI_EXPORT_API main(int argc, char **argv) demo.AddExample(Example("primitive-shapes.example", DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES)); demo.AddExample(Example("styling.example", DALI_DEMO_STR_TITLE_STYLING)); demo.AddExample(Example("sparkle.example", DALI_DEMO_STR_TITLE_SPARKLE)); + demo.AddExample(Example("progress-bar.example", DALI_DEMO_STR_TITLE_PROGRESS_BAR)); demo.SortAlphabetically( true ); diff --git a/examples/progress-bar/progress-bar-example.cpp b/examples/progress-bar/progress-bar-example.cpp new file mode 100644 index 0000000..593e297 --- /dev/null +++ b/examples/progress-bar/progress-bar-example.cpp @@ -0,0 +1,193 @@ +/* + * Copyright (c) 2016 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "shared/view.h" +#include +#include + +using namespace Dali; +using namespace Dali::Toolkit; +using Dali::Toolkit::ProgressBar; + +namespace +{ + +const char* const BACKGROUND_IMAGE = DEMO_IMAGE_DIR "background-gradient.jpg"; +const char* const TOOLBAR_IMAGE = DEMO_IMAGE_DIR "top-bar.png"; +const char* const TOOLBAR_TITLE = "Progress Bar"; + +const Vector4 BACKGROUND_COLOUR( 1.0f, 1.0f, 1.0f, 0.15f ); + +// Layout sizes +const int MARGIN_SIZE = 10; +const int TOP_MARGIN = 85; + +} // namespace + +/** This example shows how to create and use PROGRESS BAR. + */ + +class ProgressBarExample: public ConnectionTracker +{ +public: + + ProgressBarExample( Application& application ) + : mApplication( application ) + { + // Connect to the Application's Init signal + mProgressValue = 0.0f; + mApplication.InitSignal().Connect( this, &ProgressBarExample::Create ); + } + + ~ProgressBarExample() + { + // Nothing to do here + } + + void Create( Application& application ) + { + // The Init signal is received once (only) during the Application lifetime + + // Respond to key events + Stage::GetCurrent().KeyEventSignal().Connect( this, &ProgressBarExample::OnKeyEvent ); + + // Creates a default view with a default tool bar. + // The view is added to the stage. + + mContentLayer = DemoHelper::CreateView( application, + mView, + mToolBar, + BACKGROUND_IMAGE, + TOOLBAR_IMAGE, + TOOLBAR_TITLE ); + + mProgressBar = ProgressBar::New(); + mProgressBar.SetParentOrigin(ParentOrigin::TOP_CENTER); + mProgressBar.SetAnchorPoint(AnchorPoint::TOP_CENTER); + mProgressBar.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); + mProgressBar.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); + + Toolkit::TableView contentTable = Toolkit::TableView::New(2, 1); + contentTable.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); + contentTable.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); + contentTable.SetAnchorPoint(AnchorPoint::TOP_LEFT); + contentTable.SetParentOrigin(ParentOrigin::TOP_LEFT); + contentTable.SetCellPadding(Size(MARGIN_SIZE, MARGIN_SIZE * 0.5f)); + + for( unsigned int i = 0; i < contentTable.GetRows(); ++i ) + { + contentTable.SetFitHeight( i ); + } + + contentTable.SetPosition( 0.0f, TOP_MARGIN ); + mContentLayer.Add( contentTable ); + + // Image selector for progress bar + Toolkit::TableView progressBackground = Toolkit::TableView::New( 1, 1 ); + progressBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); + progressBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); + progressBackground.SetBackgroundColor( BACKGROUND_COLOUR ); + progressBackground.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) ); + progressBackground.SetRelativeWidth( 0, 1.0f ); + progressBackground.SetFitHeight( 0 ); + contentTable.Add( progressBackground ); + progressBackground.Add( mProgressBar ); + + // Create buttons + Toolkit::TableView buttonBackground = Toolkit::TableView::New( 2, 1 ); + buttonBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); + buttonBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); + buttonBackground.SetBackgroundColor( BACKGROUND_COLOUR ); + buttonBackground.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) ); + + for( unsigned int i = 0; i < buttonBackground.GetRows(); ++i ) + { + buttonBackground.SetFitHeight( i ); + } + + contentTable.Add( buttonBackground ); + + mSetProgressButton = Toolkit::PushButton::New(); + mSetProgressButton.SetLabelText( "Set Progress" ); + mSetProgressButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); + mSetProgressButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); + mSetProgressButton.ClickedSignal().Connect( this, &ProgressBarExample::OnSetProgressButtonSelected ); + + buttonBackground.Add( mSetProgressButton ); + + mResetProgressButton = Toolkit::PushButton::New(); + mResetProgressButton.SetLabelText( "Reset Progress" ); + mResetProgressButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); + mResetProgressButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); + mResetProgressButton.ClickedSignal().Connect( this, &ProgressBarExample::OnResetProgressButtonSelected ); + + buttonBackground.Add( mResetProgressButton ); + } + + bool OnResetProgressButtonSelected( Toolkit::Button button ) + { + mProgressValue = 0.0f; + mProgressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); + return true; + } + + bool OnSetProgressButtonSelected( Toolkit::Button button ) + { + mProgressValue += 0.1f; + mProgressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, mProgressValue); + return true; + } + + void OnKeyEvent( const KeyEvent& event ) + { + if( event.state == KeyEvent::Down ) + { + if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) + { + // Exit application when click back or escape. + mApplication.Quit(); + } + } + } + +private: + + Application& mApplication; + Toolkit::Control mView; ///< The View instance. + Toolkit::ToolBar mToolBar; ///< The View's Toolbar. + Layer mContentLayer; ///< Content layer. + ProgressBar mProgressBar; + Toolkit::PushButton mSetProgressButton; + Toolkit::PushButton mResetProgressButton; + float mProgressValue; +}; + +void RunTest( Application& application ) +{ + ProgressBarExample test( application ); + application.MainLoop(); +} + +// Entry point for Linux & Tizen applications +int DALI_EXPORT_API main( int argc, char **argv ) +{ + Application application = Application::New( &argc, &argv, DEMO_THEME_PATH ); + + RunTest( application ); + + return 0; +} diff --git a/resources/po/as.po b/resources/po/as.po index 9ce9243..3ac32ab 100755 --- a/resources/po/as.po +++ b/resources/po/as.po @@ -88,6 +88,9 @@ msgstr "পৃষ্ঠা লেআউট" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "পোপা মেনু" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "অগ্রগতি বার" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "অংশ্যমান অৰ্কিড" diff --git a/resources/po/de.po b/resources/po/de.po index d4df93e..c1a57a0 100755 --- a/resources/po/de.po +++ b/resources/po/de.po @@ -88,6 +88,9 @@ msgstr "Seite wechseln" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "Popup-Menü" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "Fortschrittsanzeige" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "Grundformen" diff --git a/resources/po/en_GB.po b/resources/po/en_GB.po index 426ecb0..abf951f 100755 --- a/resources/po/en_GB.po +++ b/resources/po/en_GB.po @@ -88,6 +88,9 @@ msgstr "Page Turn View" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "Popup" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "Progress Bar" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "Primitive Shapes" diff --git a/resources/po/en_US.po b/resources/po/en_US.po index 48470fc..0d89012 100755 --- a/resources/po/en_US.po +++ b/resources/po/en_US.po @@ -88,6 +88,9 @@ msgstr "Page Turn View" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "Popup" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "Progress Bar" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "Primitive Shapes" diff --git a/resources/po/es.po b/resources/po/es.po index 068fff5..e5f82f2 100755 --- a/resources/po/es.po +++ b/resources/po/es.po @@ -88,6 +88,9 @@ msgstr "Vista de páginas" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "Popup" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "Barra de progreso" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "Primitvas 3D" diff --git a/resources/po/ko.po b/resources/po/ko.po index 820e5e7..5e3fbb4 100755 --- a/resources/po/ko.po +++ b/resources/po/ko.po @@ -88,6 +88,9 @@ msgstr "책장 넘기기" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "팝업" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "진행률 표시 줄" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "기본 모양" diff --git a/resources/po/ml.po b/resources/po/ml.po index a06bdcb..ec5c34d 100755 --- a/resources/po/ml.po +++ b/resources/po/ml.po @@ -88,6 +88,9 @@ msgstr "പേജ് ലേഔട്ട്" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "പോപപ്പ് മെനുവിൽ" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "പ്രോഗ്രസ് ബാർ" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "അടിസ്ഥാന രൂപങ്ങൾ" diff --git a/resources/po/ur.po b/resources/po/ur.po index 73f1730..822fc80 100755 --- a/resources/po/ur.po +++ b/resources/po/ur.po @@ -88,6 +88,9 @@ msgstr "کتاب" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "پاپ اپ" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "ترقی بار" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "سادہ ماڈلیے" diff --git a/resources/po/zn_CH.po b/resources/po/zn_CH.po index 7613037..d3654cd 100755 --- a/resources/po/zn_CH.po +++ b/resources/po/zn_CH.po @@ -88,6 +88,9 @@ msgstr "翻页" msgid "DALI_DEMO_STR_TITLE_POPUP" msgstr "弹窗" +msgid "DALI_DEMO_STR_TITLE_PROGRESS_BAR" +msgstr "进度条" + msgid "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES" msgstr "基本形状" diff --git a/shared/dali-demo-strings.h b/shared/dali-demo-strings.h index a829853..a12c534 100644 --- a/shared/dali-demo-strings.h +++ b/shared/dali-demo-strings.h @@ -62,6 +62,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_NEGOTIATE_SIZE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_NEGOTIATE_SIZE") #define DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW") #define DALI_DEMO_STR_TITLE_POPUP dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_POPUP") +#define DALI_DEMO_STR_TITLE_PROGRESS_BAR dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_PROGRESS_BAR") #define DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_PRIMITIVE_SHAPES") #define DALI_DEMO_STR_TITLE_RADIAL_MENU dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RADIAL_MENU") #define DALI_DEMO_STR_TITLE_REFRACTION dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_REFRACTION") @@ -127,6 +128,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE "Text Scripts" #define DALI_DEMO_STR_TITLE_TEXT_SCROLLING "Text Scrolling" #define DALI_DEMO_STR_TITLE_TILT_SENSOR "Tilt Sensor" +#define DALI_DEMO_STR_TITLE_PROGRESS_BAR "Progress Bar" #endif -- 2.7.4