Add Progress Bar Control Demo Application 27/82227/18
authorshiva.jm <shiva.jm@samsung.com>
Tue, 2 Aug 2016 05:54:52 +0000 (11:24 +0530)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 8 Sep 2016 17:26:20 +0000 (18:26 +0100)
Change-Id: I9a725b76acc387f114478eb5f0a626e211b285e6
Signed-off-by: shiva.jm <shiva.jm@samsung.com>
13 files changed:
com.samsung.dali-demo.xml
demo/dali-demo.cpp
examples/progress-bar/progress-bar-example.cpp [new file with mode: 0644]
resources/po/as.po
resources/po/de.po
resources/po/en_GB.po
resources/po/en_US.po
resources/po/es.po
resources/po/ko.po
resources/po/ml.po
resources/po/ur.po
resources/po/zn_CH.po
shared/dali-demo-strings.h

index 4dbcc915464c7c554127449c428a9356c9e4aeb9..3c43375795a9892146c8fc167484840b377e3812 100644 (file)
        <ui-application appid="styling.example" exec="/usr/apps/com.samsung.dali-demo/bin/styling.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
                <label>Styling</label>
        </ui-application>
+       <ui-application appid="progress-bar.example" exec="/usr/apps/com.samsung.dali-demo/bin/progress-bar.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
+               <label>Progress Bar</label>
+       </ui-application>
 </manifest>
index 9df0c5245379a91067bf1b936f333f9eea6bd01c..48b28c8e3fc7d73bc484a042cc9c62e062566c80 100644 (file)
@@ -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 (file)
index 0000000..593e297
--- /dev/null
@@ -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 <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
+
+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;
+}
index 9ce924309924c65a639ef341855c936306a2a75f..3ac32ab299bcd1aee36b3fba753c350345c3fabe 100755 (executable)
@@ -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 "অংশ্যমান অৰ্কিড"
 
index d4df93e562af9c209f769a74f933078ebb6a8132..c1a57a0a8fd26b6c7fce16175a847282be70cebb 100755 (executable)
@@ -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"
 
index 426ecb0e3754cf81d320ef4ec2b335b84afa1fed..abf951ff953deacaad53656233202a91951e542d 100755 (executable)
@@ -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"
 
index 48470fcd4ea6dbbd252a19185f3e047479b2c2b4..0d8901233bc0fb35f271eaeb128c99ce54f2afff 100755 (executable)
@@ -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"
 
index 068fff5b0f33ee1ad907f492a3f195edbcd87fde..e5f82f2e0c3e778a0515da7c488f90ca00ad1d73 100755 (executable)
@@ -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"
 
index 820e5e7a349be4b415a08e395c1399956107dd86..5e3fbb4a630dcdb4caa5c9fdcbc9a48ad8e4da2b 100755 (executable)
@@ -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 "기본 모양"
 
index a06bdcbf163e00994d2f9c39748d5b0ac961283d..ec5c34d41f0c90683a10480198cf7755b01f0819 100755 (executable)
@@ -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 "അടിസ്ഥാന രൂപങ്ങൾ"
 
index 73f1730ae56d99dd27b002c2bcb88e7d34c9bee8..822fc808241bfedbc5c652a26a2652d49856b1b5 100755 (executable)
@@ -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 "سادہ ماڈلیے"
 
index 76130378295e409cb2766c75e377b6f607709195..d3654cdd7347f9b8aaef4e6dc41a528d6975d3d5 100755 (executable)
@@ -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 "基本形状"
 
index a8298539b956942af0c25c0ee48ee4ad6cd66e5c..a12c5349b366f8c6b29530c371bf998e3f8bc3f9 100644 (file)
@@ -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