[dali_1.2.26] Merge branch 'devel/master' 72/114172/1
authorVictor Cebollada <v.cebollada@samsung.com>
Fri, 10 Feb 2017 07:58:38 +0000 (07:58 +0000)
committerVictor Cebollada <v.cebollada@samsung.com>
Fri, 10 Feb 2017 07:58:38 +0000 (07:58 +0000)
Change-Id: Ibb2353fd0d8fe2668f3a5c0ae03148806bc85437

85 files changed:
automated-tests/resources/progress-bar-skin-indeterminate.png [new file with mode: 0644]
automated-tests/resources/progress-bar-skin-progress.png [new file with mode: 0644]
automated-tests/resources/progress-bar-skin-secondary-progress.png [new file with mode: 0644]
automated-tests/resources/progress-bar-skin-track.png [new file with mode: 0644]
automated-tests/src/dali-toolkit-internal/CMakeLists.txt
automated-tests/src/dali-toolkit-internal/utc-Dali-PropertyHelper.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
automated-tests/src/dali-toolkit/utc-Dali-Control.cpp
automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextEditor.cpp
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
dali-toolkit/devel-api/controls/control-depth-index-ranges.h
dali-toolkit/devel-api/controls/progress-bar/progress-bar.h
dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h [new file with mode: 0644]
dali-toolkit/devel-api/file.list
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h
dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp
dali-toolkit/internal/controls/text-controls/text-editor-impl.h
dali-toolkit/internal/controls/text-controls/text-field-impl.cpp
dali-toolkit/internal/controls/text-controls/text-label-impl.cpp
dali-toolkit/internal/file.list
dali-toolkit/internal/helpers/property-helper.cpp [new file with mode: 0644]
dali-toolkit/internal/helpers/property-helper.h [new file with mode: 0644]
dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp
dali-toolkit/internal/text/text-controller-impl.h
dali-toolkit/internal/text/text-controller.cpp
dali-toolkit/internal/text/text-controller.h
dali-toolkit/internal/text/text-model.cpp
dali-toolkit/internal/text/text-model.h
dali-toolkit/internal/text/text-vertical-scroller.cpp [new file with mode: 0644]
dali-toolkit/internal/text/text-vertical-scroller.h [new file with mode: 0644]
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/visual-base-data-impl.cpp
dali-toolkit/internal/visuals/visual-base-impl.cpp
dali-toolkit/public-api/accessibility-manager/accessibility-manager.h
dali-toolkit/public-api/controls/alignment/alignment.h
dali-toolkit/public-api/controls/buttons/button.h
dali-toolkit/public-api/controls/buttons/check-box-button.h
dali-toolkit/public-api/controls/buttons/push-button.h
dali-toolkit/public-api/controls/buttons/radio-button.h
dali-toolkit/public-api/controls/control-impl.cpp
dali-toolkit/public-api/controls/control-impl.h
dali-toolkit/public-api/controls/control.h
dali-toolkit/public-api/controls/flex-container/flex-container.h
dali-toolkit/public-api/controls/image-view/image-view.h
dali-toolkit/public-api/controls/model3d-view/model3d-view.h
dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h
dali-toolkit/public-api/controls/scrollable/item-view/default-item-layout.h
dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h
dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h
dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-path-effect.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h
dali-toolkit/public-api/controls/scrollable/scrollable.h
dali-toolkit/public-api/controls/slider/slider.h
dali-toolkit/public-api/controls/table-view/table-view.h
dali-toolkit/public-api/controls/text-controls/text-editor.h
dali-toolkit/public-api/controls/text-controls/text-field.h
dali-toolkit/public-api/controls/text-controls/text-label.h
dali-toolkit/public-api/controls/video-view/video-view.h
dali-toolkit/public-api/dali-toolkit-version.cpp
dali-toolkit/public-api/enums.h
dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h
dali-toolkit/public-api/image-loader/async-image-loader.h
dali-toolkit/public-api/image-loader/sync-image-loader.h
dali-toolkit/public-api/styling/style-manager.h
dali-toolkit/public-api/toolkit-property-index-ranges.h
dali-toolkit/public-api/visuals/visual-properties.h
dali-toolkit/styles/1920x1080/dali-toolkit-default-theme.json
dali-toolkit/styles/480x800/dali-toolkit-default-theme.json
dali-toolkit/styles/720x1280/dali-toolkit-default-theme.json
dali-toolkit/styles/images-common/progress-bar-skin-indeterminate.png [new file with mode: 0644]
dali-toolkit/styles/images-common/progress-bar-skin-progress.9.png [new file with mode: 0644]
dali-toolkit/styles/images-common/progress-bar-skin-secondary-progress.9.png [new file with mode: 0644]
dali-toolkit/styles/images-common/progress-bar-skin-track.9.png [new file with mode: 0644]
dali-toolkit/styles/images-common/progress-skin-progress.9.png [deleted file]
dali-toolkit/styles/images-common/progress-skin.9.png [deleted file]
docs/content/images/visuals/HelloWorld.png [new file with mode: 0644]
docs/content/shared-javascript-and-cpp-documentation/visuals.md
packaging/dali-addon.spec
packaging/dali-toolkit.spec

diff --git a/automated-tests/resources/progress-bar-skin-indeterminate.png b/automated-tests/resources/progress-bar-skin-indeterminate.png
new file mode 100644 (file)
index 0000000..df99c15
Binary files /dev/null and b/automated-tests/resources/progress-bar-skin-indeterminate.png differ
diff --git a/automated-tests/resources/progress-bar-skin-progress.png b/automated-tests/resources/progress-bar-skin-progress.png
new file mode 100644 (file)
index 0000000..f73b14f
Binary files /dev/null and b/automated-tests/resources/progress-bar-skin-progress.png differ
diff --git a/automated-tests/resources/progress-bar-skin-secondary-progress.png b/automated-tests/resources/progress-bar-skin-secondary-progress.png
new file mode 100644 (file)
index 0000000..f0ae311
Binary files /dev/null and b/automated-tests/resources/progress-bar-skin-secondary-progress.png differ
diff --git a/automated-tests/resources/progress-bar-skin-track.png b/automated-tests/resources/progress-bar-skin-track.png
new file mode 100644 (file)
index 0000000..a22e7c2
Binary files /dev/null and b/automated-tests/resources/progress-bar-skin-track.png differ
index 4e3e0ff..f07653b 100755 (executable)
@@ -23,6 +23,7 @@ SET(TC_SOURCES
  utc-Dali-Text-ViewModel.cpp
  utc-Dali-DebugRendering.cpp
  utc-Dali-ItemView-internal.cpp
+ utc-Dali-PropertyHelper.cpp
 )
 
 # Append list of test harness files (Won't get parsed for test cases)
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-PropertyHelper.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-PropertyHelper.cpp
new file mode 100644 (file)
index 0000000..58fc510
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ * 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 <dali-toolkit-test-suite-utils.h>
+#include <dali-toolkit/internal/helpers/property-helper.h>
+
+using namespace Dali;
+using namespace Dali::Toolkit;
+
+void dali_property_helper_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void dali_property_helper_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int UtcDaliPropertyHelperGetStringFromPropertyWithString(void)
+{
+  tet_infoline( "Test to check if a simple string is parsed correctly" );
+
+  const std::string inputString = "Hello World";
+  Property::Value value( inputString );
+
+  std::string output;
+  DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
+  DALI_TEST_EQUALS( output, inputString, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyValue(void)
+{
+  tet_infoline( "Test to ensure if an empty value returns false" );
+
+  std::string output;
+  DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value(), output ) );
+
+  END_TEST;
+}
+
+int UtcDaliPropertyHelperGetStringFromPropertyWithStringArray(void)
+{
+  tet_infoline( "Test to check if a string array is parsed correctly and adds new line characters too" );
+
+  Property::Value value( Property::Array().Add( "Hello World" )
+                                          .Add( "The Quick Brown Fox" )
+                                          .Add( "Jumps over the lazy dog" ) );
+
+  std::string output;
+  DALI_TEST_CHECK( Toolkit::Internal::GetStringFromProperty( value, output ) );
+  DALI_TEST_CHECK( output.find( "Hello World\n" ) != std::string::npos );
+  DALI_TEST_CHECK( output.find( "The Quick Brown Fox\n" ) != std::string::npos );
+  DALI_TEST_CHECK( output.find( "Jumps over the lazy dog\n" ) != std::string::npos );
+
+  END_TEST;
+}
+
+int UtcDaliPropertyHelperGetStringFromPropertyWithEmptyArray(void)
+{
+  tet_infoline( "Test to check if an empty array returns false" );
+
+  Property::Array array;
+
+  std::string output;
+  DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( Property::Value( array ), output ) );
+
+  END_TEST;
+}
+
+int UtcDaliPropertyHelperGetStringFromPropertyWithMultipleTypesInArray(void)
+{
+  tet_infoline( "Test to ensure an array with multiple types returns false" );
+
+  Property::Value value( Property::Array().Add( "Hello World" )
+                                          .Add( "The Quick Brown Fox" )
+                                          .Add( 1 )
+                                          .Add( "Jumps" )
+                                          .Add( 25 )
+                                          .Add( "Over" ) );
+
+  std::string output;
+  DALI_TEST_CHECK( ! Toolkit::Internal::GetStringFromProperty( value, output ) );
+  DALI_TEST_CHECK( output.empty() );
+
+  END_TEST;
+}
index db22b86..61f88f0 100644 (file)
@@ -40,6 +40,7 @@ TestPlatformAbstraction::TestPlatformAbstraction()
 
 TestPlatformAbstraction::~TestPlatformAbstraction()
 {
+  DiscardRequest();
 }
 
 void TestPlatformAbstraction::Suspend()
@@ -264,6 +265,7 @@ void TestPlatformAbstraction::SetAllResourceRequestsAsLoaded()
     Integration::ResourcePointer resource(bitmap);
     bitmap->GetPackedPixelsProfile()->ReserveBuffer(Pixel::RGBA8888, 80, 80, 80, 80);
     SetResourceLoaded( request->GetId(), request->GetType()->id, resource );
+    delete request;
   }
   mResourceRequests.Clear();
 }
@@ -273,13 +275,21 @@ void TestPlatformAbstraction::SetAllResourceRequestsAsFailed( Integration::Resou
   for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End();
        iter != endIter; ++iter )
   {
+    Integration::ResourceRequest* request = *iter;
     SetResourceLoadFailed( (*iter)->GetId(), failure);
+    delete request;
   }
   mResourceRequests.Clear();
 }
 
 void TestPlatformAbstraction::DiscardRequest()
 {
+  for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End();
+       iter != endIter; ++iter )
+  {
+    Integration::ResourceRequest* request = *iter;
+    delete request;
+  }
   mResourceRequests.Clear();
 }
 
index 93ee34e..376ad0d 100644 (file)
@@ -24,6 +24,9 @@
 
 #include <dali.h>
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/devel-api/align-enums.h>
+
 #include "dummy-control.h"
 
 using namespace Dali;
@@ -721,3 +724,41 @@ int UtcDaliControlAutoClippingWhenAlreadyOnStageN(void)
 
   END_TEST;
 }
+
+int UtcDaliControlSetTransformSize(void)
+{
+  ToolkitTestApplication application;
+  Control control = Control::New();
+
+  Property::Map transformMap;
+  transformMap.Add( DevelVisual::Transform::Property::OFFSET, Vector2( 10, 10 ) )
+              .Add( DevelVisual::Transform::Property::ANCHOR_POINT, Align::BOTTOM_END )
+              .Add( DevelVisual::Transform::Property::ORIGIN, Align::BOTTOM_END )
+              .Add( DevelVisual::Transform::Property::SIZE, Vector2( 10, 20 ) );
+
+  control.SetProperty( Control::Property::BACKGROUND, Property::Map().Add( Visual::Property::TYPE, Visual::COLOR )
+                                                                     .Add( DevelVisual::Property::TRANSFORM, transformMap ) );
+
+  tet_infoline( "Test to ensure that the control background transform does not get overwritten when adding to the stage" );
+
+  Stage::GetCurrent().Add( control );
+
+  application.SendNotification();
+  application.Render();
+
+  // Ensure the transform property still matches what we set
+  Property::Value value = control.GetProperty( Control::Property::BACKGROUND );
+  Property::Map* map = value.GetMap();
+  DALI_TEST_CHECK( map );
+  Property::Value* transformValue = map->Find( DevelVisual::Property::TRANSFORM );
+  DALI_TEST_CHECK( transformValue );
+
+  Property::Map* retMap = transformValue->GetMap();
+  DALI_TEST_CHECK( retMap );
+  DALI_TEST_EQUALS( retMap->Find( DevelVisual::Transform::Property::OFFSET )->Get< Vector2 >(), Vector2( 10, 10 ), TEST_LOCATION );
+  DALI_TEST_EQUALS( retMap->Find( DevelVisual::Transform::Property::ANCHOR_POINT )->Get< int >(), (int)Align::BOTTOM_END, TEST_LOCATION );
+  DALI_TEST_EQUALS( retMap->Find( DevelVisual::Transform::Property::ORIGIN )->Get< int >(), (int)Align::BOTTOM_END, TEST_LOCATION );
+  DALI_TEST_EQUALS( retMap->Find( DevelVisual::Transform::Property::SIZE )->Get< Vector2 >(), Vector2( 10, 20 ), TEST_LOCATION );
+
+  END_TEST;
+}
index 2a2ae20..4b965c8 100644 (file)
@@ -18,6 +18,9 @@
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
+#include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -36,7 +39,10 @@ void utc_dali_toolkit_progressbar_cleanup(void)
 
 namespace
 {
-
+static const char* trackImage = TEST_RESOURCE_DIR "/progress-bar-skin-track-progress.png";
+static const char* progressImage = TEST_RESOURCE_DIR "/progress-bar-skin-progress-progress.png";
+static const char* secondaryProgressImage = TEST_RESOURCE_DIR "/progress-bar-skin-secondary-progress.png";
+static const char* indeterminateImage = TEST_RESOURCE_DIR "/progress-bar-skin-indeterminate.png";
 static bool gObjectCreatedCallBackCalled;
 
 static void TestCallback(BaseHandle handle)
@@ -107,7 +113,7 @@ int UtcDaliProgressBarDownCast(void)
 
 static bool gProgressBarValueChangedCallBackCalled = false;
 
-static void OnProgressBarValueChanged( ProgressBar progressBar, float value )
+static void OnProgressBarValueChanged( ProgressBar progressBar, float value, float secondaryValue )
 {
   gProgressBarValueChangedCallBackCalled = true;
 }
@@ -124,14 +130,21 @@ int UtcDaliProgressBarSignals(void)
   progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
   progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
   progressBar.SetPosition( 0.0f, 0.0f );
-
   progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged );
+
   progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f);
 
   application.SendNotification();
   application.Render();
 
-  //gProgressBarValueChangedCallBackCalled = false;
+  DALI_TEST_CHECK(gProgressBarValueChangedCallBackCalled);
+
+  //Check Secondary progress value can make signal
+  gProgressBarValueChangedCallBackCalled = false;
+  progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.2f);
+
+  application.SendNotification();
+  application.Render();
 
   DALI_TEST_CHECK(gProgressBarValueChangedCallBackCalled);
   END_TEST;
@@ -147,91 +160,140 @@ int UtcDaliProgressBarSetPropertyP(void)
   progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
   progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
   progressBar.SetPosition( 0.0f, 0.0f );
-
+  progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged );
   Stage::GetCurrent().Add(progressBar);
   application.SendNotification();
   application.Render();
 
-  float val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.2f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.8f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.8f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.4f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.4f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.0f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, -1.0f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.1f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 2.0f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.09f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.09f, TEST_LOCATION);
-
-  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.1f);
-  val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
-  DALI_TEST_EQUALS(val, 0.1f, TEST_LOCATION);
-
-  {
-    Property::Map map;
-    map["rendererType"] = "image";
-    map["size"] = Vector2(200, 200);
-    map["url"] = "track2.png";
-    progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, map);
-    map["url"] = "progress2.png";
-    progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, map);
-
-    Property::Value value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL);
-    Property::Map* resultMap = value.GetMap();
-    DALI_TEST_CHECK( resultMap );
-    Property::Value* url = resultMap->Find("url");
-    DALI_TEST_CHECK( url ) ;
-    DALI_TEST_EQUALS( *url, "track2.png", TEST_LOCATION );
-
-    value = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VISUAL);
-    resultMap = value.GetMap();
-    DALI_TEST_CHECK( resultMap );
-    url = resultMap->Find("url");
-    DALI_TEST_CHECK( url ) ;
-    DALI_TEST_EQUALS( *url, "progress2.png", TEST_LOCATION );
-
-   }
-
+  Property::Map map;
+  map["visualType"] = "IMAGE";
+  map[Toolkit::ImageVisual::Property::URL] = trackImage;
+  progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, map);
+
+  Property::Value value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL);
+  Property::Map* resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  Property::Value* urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL );
+  std::string urlString;
+  urlValue->Get( urlString );
+  DALI_TEST_CHECK( !urlString.empty() ) ;
+  DALI_TEST_EQUALS( urlString, trackImage, TEST_LOCATION );
+
+  Property::Map colorMap;
+  colorMap["visualType"] = "COLOR";
+  colorMap[Toolkit::ColorVisual::Property::MIX_COLOR] = Color::RED;
+  progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, colorMap);
+
+  value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  Property::Value* colorValue = resultMap->Find( Toolkit::ColorVisual::Property::MIX_COLOR );
+  Vector4 color = Color::TRANSPARENT;
+  colorValue->Get( color );
+  DALI_TEST_CHECK( color != Color::TRANSPARENT );
+  DALI_TEST_EQUALS( color, Color::RED, TEST_LOCATION );
+
+  map[Toolkit::ImageVisual::Property::URL] = progressImage;
+  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, map);
+
+  value = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL );
+  urlValue->Get( urlString );
+  DALI_TEST_CHECK( !urlString.empty() ) ;
+  DALI_TEST_EQUALS( urlString, progressImage, TEST_LOCATION );
+
+  progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, secondaryProgressImage);
+
+  value = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL );
+  urlValue->Get( urlString );
+  DALI_TEST_CHECK( !urlString.empty() ) ;
+  DALI_TEST_EQUALS( urlString, secondaryProgressImage, TEST_LOCATION );
+
+  map[Toolkit::ImageVisual::Property::URL] = secondaryProgressImage;
+  progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, map);
+
+  value = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL );
+  urlValue->Get( urlString );
+  DALI_TEST_CHECK( !urlString.empty() ) ;
+  DALI_TEST_EQUALS( urlString, secondaryProgressImage, TEST_LOCATION );
+
+  map[Toolkit::ImageVisual::Property::URL] = indeterminateImage;
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL, map);
+
+  value = progressBar.GetProperty(ProgressBar::Property::INDETERMINATE_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL );
+  urlValue->Get( urlString );
+  DALI_TEST_CHECK( !urlString.empty() ) ;
+  DALI_TEST_EQUALS( urlString, indeterminateImage, TEST_LOCATION );
+
+  progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test1");
+
+  value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  Property::Value* textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT);
+
+  std::string textString;
+  textValue->Get( textString );
+  DALI_TEST_CHECK( !textString.empty() );
+  DALI_TEST_EQUALS( textString, std::string( "test1" ), TEST_LOCATION );
+
+  Property::Map textVisualMap2;
+  textVisualMap2.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT );
+  textVisualMap2.Insert( Toolkit::TextVisual::Property::TEXT, "test2" );
+  textVisualMap2.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 12.0f );
+  progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, textVisualMap2);
+
+  value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT);
+
+  textValue->Get( textString );
+  DALI_TEST_CHECK( !textString.empty() );
+  DALI_TEST_EQUALS( textString, std::string( "test2" ), TEST_LOCATION );
+
+  progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test3");
+
+  value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL);
+  resultMap = value.GetMap();
+  DALI_TEST_CHECK( resultMap );
+  textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT);
+
+  std::string textString2;
+  textValue->Get( textString2 );
+  DALI_TEST_CHECK( !textString2.empty() );
+  DALI_TEST_EQUALS( textString2, std::string( "test3" ), TEST_LOCATION );
+
+  Property::Map transitionMap;
+  transitionMap["target"] = "indeterminateVisual";
+  transitionMap["property"] = "offset";
+  transitionMap["initialValue"] = Vector2( 0.0f, 0.0f );
+  transitionMap["targetValue"] = Vector2( 10.0f, 0.0f );
+  transitionMap["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK")
+                                             .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f));
+  Property::Array array;
+  array.PushBack( transitionMap );
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, array);
+
+  Property::Map transitionMap2;
+  transitionMap2["target"] = "indeterminateVisual";
+  transitionMap2["property"] = "offset";
+  transitionMap2["initialValue"] = Vector2( 0.0f, 0.0f );
+  transitionMap2["targetValue"] = Vector2( 15.0f, 0.0f );
+  transitionMap2["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK")
+                                             .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f));
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, transitionMap2);
   END_TEST;
 }
 
@@ -245,6 +307,7 @@ int UtcDaliProgressBarSetPropertyP1(void)
   progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
   progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
   progressBar.SetPosition( 0.0f, 0.0f );
+  progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged );
 
   Stage::GetCurrent().Add(progressBar);
   application.SendNotification();
@@ -254,7 +317,7 @@ int UtcDaliProgressBarSetPropertyP1(void)
   DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
 
   // test to download a file of 100k in chunks
-  float lowerBound = 0, upperBound = 100, progressValue = 0, chunkValue = 0;
+  float lowerBound = 0, upperBound = 100, progressValue = 0, secondaryProgressValue = 0, chunkValue = 0;
 
   while( chunkValue <= upperBound )
   {
@@ -277,6 +340,76 @@ int UtcDaliProgressBarSetPropertyP1(void)
     chunkValue = chunkValue + 100;
   }
 
+  val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
+  DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
+
+  // test to download a file of 100k in chunks
+  lowerBound = 0, upperBound = 100, secondaryProgressValue = 0, chunkValue = 0;
+
+  while( chunkValue <= upperBound )
+  {
+    secondaryProgressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound );
+    progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue);
+    val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
+    DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION);
+    chunkValue = chunkValue + 10;
+  }
+
+  // test to download a file of 1000k in chunks
+  lowerBound = 0, upperBound = 1000, secondaryProgressValue = 0, chunkValue = 0;
+
+  while( chunkValue <= upperBound )
+  {
+    secondaryProgressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound );
+    progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue);
+    val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
+    DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION);
+    chunkValue = chunkValue + 100;
+  }
+
   END_TEST;
 }
 
+int UtcDaliProgressBarSetPropertyP2(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline( "UtcDaliProgressBarSetPropertyP2" );
+
+  ProgressBar progressBar = ProgressBar::New();
+  progressBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
+  progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
+  progressBar.SetPosition( 0.0f, 0.0f );
+  progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test");
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, true);
+  progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, trackImage);
+  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, progressImage);
+  progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, secondaryProgressImage);
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL, indeterminateImage);
+
+  Property::Map transitionMap;
+  transitionMap["target"] = "indeterminateVisual";
+  transitionMap["property"] = "offset";
+  transitionMap["initialValue"] = Vector2( 0.0f, 0.0f );
+  transitionMap["targetValue"] = Vector2( 10.0f, 0.0f );
+  transitionMap["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK")
+                                             .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f));
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, transitionMap);
+  progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f);
+  progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.3f);
+
+  progressBar.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS );
+  progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
+  Stage::GetCurrent().Add(progressBar);
+  application.SendNotification();
+  application.Render();
+
+  // Test get/set INDETERMINATE
+  bool val = progressBar.GetProperty<bool>(ProgressBar::Property::INDETERMINATE);
+  DALI_TEST_EQUALS(val, true, TEST_LOCATION);
+
+  progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, false);
+  val = progressBar.GetProperty<bool>(ProgressBar::Property::INDETERMINATE);
+  DALI_TEST_EQUALS(val, false, TEST_LOCATION);
+
+  END_TEST;
+}
index 2dae967..cd9d6bf 100644 (file)
@@ -25,6 +25,7 @@
 #include <dali/integration-api/events/tap-gesture-event.h>
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h>
 
 using namespace Dali;
 using namespace Toolkit;
@@ -84,6 +85,9 @@ const char* const PROPERTY_NAME_INPUT_EMBOSS                         = "inputEmb
 const char* const PROPERTY_NAME_OUTLINE                              = "outline";
 const char* const PROPERTY_NAME_INPUT_OUTLINE                        = "inputOutline";
 
+const char* const PROPERTY_NAME_SMOOTH_SCROLL                        = "smoothScroll";
+const char* const PROPERTY_NAME_SMOOTH_SCROLL_DURATION               = "smoothScrollDuration";
+
 const int DEFAULT_RENDERING_BACKEND = Dali::Toolkit::Text::DEFAULT_RENDERING_BACKEND;
 
 const Dali::Vector4 LIGHT_BLUE( 0.75f, 0.96f, 1.f, 1.f ); // The text highlight color.
@@ -324,6 +328,8 @@ int UtcDaliTextEditorGetPropertyP(void)
   DALI_TEST_CHECK( editor.GetPropertyIndex( PROPERTY_NAME_INPUT_EMBOSS ) == TextEditor::Property::INPUT_EMBOSS );
   DALI_TEST_CHECK( editor.GetPropertyIndex( PROPERTY_NAME_OUTLINE ) == TextEditor::Property::OUTLINE );
   DALI_TEST_CHECK( editor.GetPropertyIndex( PROPERTY_NAME_INPUT_OUTLINE ) == TextEditor::Property::INPUT_OUTLINE );
+  DALI_TEST_CHECK( editor.GetPropertyIndex( PROPERTY_NAME_SMOOTH_SCROLL ) == DevelTextEditor::Property::SMOOTH_SCROLL );
+  DALI_TEST_CHECK( editor.GetPropertyIndex( PROPERTY_NAME_SMOOTH_SCROLL_DURATION ) == DevelTextEditor::Property::SMOOTH_SCROLL_DURATION );
 
   END_TEST;
 }
@@ -593,6 +599,15 @@ int UtcDaliTextEditorSetPropertyP(void)
   editor.SetProperty( TextEditor::Property::INPUT_OUTLINE, "Outline input properties" );
   DALI_TEST_EQUALS( editor.GetProperty<std::string>( TextEditor::Property::INPUT_OUTLINE ), std::string("Outline input properties"), TEST_LOCATION );
 
+  // Check the smooth scroll property
+  DALI_TEST_EQUALS( editor.GetProperty<bool>( DevelTextEditor::Property::SMOOTH_SCROLL ), false, TEST_LOCATION );
+  editor.SetProperty( DevelTextEditor::Property::SMOOTH_SCROLL, true );
+  DALI_TEST_EQUALS( editor.GetProperty<bool>( DevelTextEditor::Property::SMOOTH_SCROLL ), true, TEST_LOCATION );
+
+  // Check the smooth scroll duration property
+  editor.SetProperty( DevelTextEditor::Property::SMOOTH_SCROLL_DURATION, 0.2f );
+  DALI_TEST_EQUALS( editor.GetProperty<float>( DevelTextEditor::Property::SMOOTH_SCROLL_DURATION ), 0.2f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
+
   END_TEST;
 }
 
@@ -1520,3 +1535,73 @@ int utcDaliTextEditorEvent04(void)
 
   END_TEST;
 }
+
+int utcDaliTextEditorEvent05(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" utcDaliTextEditorEvent05");
+
+  // Checks if the highlight actor is created.
+
+  TextEditor editor = TextEditor::New();
+  DALI_TEST_CHECK( editor );
+
+  Stage::GetCurrent().Add( editor );
+
+  editor.SetProperty( TextEditor::Property::TEXT, "Hello\nworl" );
+  editor.SetProperty( TextEditor::Property::POINT_SIZE, 10.f );
+  editor.SetSize( 50.f, 50.f );
+  editor.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  editor.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+  editor.SetProperty( DevelTextEditor::Property::SMOOTH_SCROLL, true );
+  editor.SetProperty( DevelTextEditor::Property::SMOOTH_SCROLL_DURATION, 0.2f );
+
+  // Avoid a crash when core load gl resources.
+  application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
+
+  // Render and notify
+  application.SendNotification();
+  application.Render();
+
+  // Tap on the text editor
+  application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 3.f, 25.0f ) ) );
+  application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 3.f, 25.0f ) ) );
+
+  // Render and notify
+  application.SendNotification();
+  application.Render();
+
+  // Move at the end of the text.
+  application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_DOWN, 0, 0, Integration::KeyEvent::Down ) );
+  application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_DOWN, 0, 0, Integration::KeyEvent::Down ) );
+
+  // Render and notify
+  application.SendNotification();
+  application.Render();
+
+  for( unsigned int index = 0u; index < 10u; ++index )
+  {
+    // Add a character
+    application.ProcessEvent( GenerateKey( "d", "d", 0, 0, 0, Integration::KeyEvent::Down ) );
+
+    // Render and notify
+    application.SendNotification();
+    application.Render();
+  }
+  // Modify duration after scroll is enabled
+  editor.SetProperty( DevelTextEditor::Property::SMOOTH_SCROLL_DURATION, 0.1f );
+
+  // Continuous scroll left to increase coverage
+  for( unsigned int index = 0u; index < 10u; ++index )
+  {
+    application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Integration::KeyEvent::Down ) );
+
+    // Render and notify
+    application.SendNotification();
+    application.Render();
+  }
+  DALI_TEST_EQUALS( editor.GetProperty<float>( DevelTextEditor::Property::SMOOTH_SCROLL_DURATION ), 0.1f, Math::MACHINE_EPSILON_1000, TEST_LOCATION );
+  DALI_TEST_EQUALS( editor.GetProperty<bool>( DevelTextEditor::Property::SMOOTH_SCROLL ), true, TEST_LOCATION );
+
+  END_TEST;
+}
index 2bf846b..f0175c4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -1695,6 +1695,7 @@ static void TestTransform( ToolkitTestApplication& application, Visual::Base vis
 
   //Set a new transform
   transform.Clear();
+  transform = DefaultTransform();
   transform.Insert( DevelVisual::Transform::Property::OFFSET, Vector2(20.0f, 20.0f) );
   transform.Insert( DevelVisual::Transform::Property::SIZE, Vector2(100.0f, 100.0f) );
   transform.Insert( DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4(0.0f, 0.0f, 1.0f,1.0f) );
@@ -2083,8 +2084,8 @@ int UtcDaliVisualTextVisualRender(void)
   Renderer renderer = dummyControl.GetRendererAt(0u);
   Property::Index index = renderer.GetPropertyIndex("size");
 
-  tet_infoline( "Test that the TextVisual overrides anything set by developer" );
-  DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(index), Vector2( 1.0, 1.0 ), 0.001f, TEST_LOCATION );
+  tet_infoline( "Test that the TextVisual has NOT overridden what was set by developer" );
+  DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(index), Vector2( 0.5f, 0.5f ), 0.001f, TEST_LOCATION );
 
   END_TEST;
 }
index d010c11..088fb7a 100644 (file)
@@ -19,7 +19,8 @@
  */
 
 // EXTERNAL INCLUDES
-#include <dali/public-api/actors/layer.h>
+#include <dali/public-api/common/compile-time-assert.h>
+#include <dali/devel-api/actors/layer-devel.h>
 
 namespace Dali
 {
@@ -30,14 +31,29 @@ namespace Toolkit
 namespace DepthIndex
 {
 
+// The negative value for background effect and background has been
+// chosen so that newer controls can have content without setting
+// depth index, and go in front of native controls with a background.
+// This backround negative value means that the highest possible value
+// is SIBLING_ORDER_MULTIPLIER-BACKGROUND_EFFECT-1.  The divisor of
+// 100 ensures the range fits within the sibling order range, and has
+// enough gaps to allow Control Authors to use other intermediate depths.
+
 enum Ranges
 {
-    BACKGROUND    = -Dali::Layer::TREE_DEPTH_MULTIPLIER / 10,
-    CONTENT       = 0,
-    TEXT          = Dali::Layer::TREE_DEPTH_MULTIPLIER / 100,
-    DECORATION    = Dali::Layer::TREE_DEPTH_MULTIPLIER / 10
+  BACKGROUND_EFFECT = -2 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+  BACKGROUND    =     -1 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+  CONTENT       =      0,
+  DECORATION    =      1 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100,
+  FOREGROUND_EFFECT =  2 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100
 };
 
+DALI_COMPILE_TIME_ASSERT( (unsigned int)DevelLayer::ACTOR_DEPTH_MULTIPLIER > (unsigned int)DevelLayer::SIBLING_ORDER_MULTIPLIER );
+DALI_COMPILE_TIME_ASSERT( BACKGROUND_EFFECT < BACKGROUND );
+DALI_COMPILE_TIME_ASSERT( BACKGROUND < CONTENT );
+DALI_COMPILE_TIME_ASSERT( CONTENT < DECORATION );
+DALI_COMPILE_TIME_ASSERT( DECORATION < FOREGROUND_EFFECT );
+
 } // namespace DepthIndex
 
 } // namespace Toolkit
index b487029..4c39a87 100644 (file)
@@ -34,6 +34,25 @@ class ProgressBar;
 
 /**
  * @brief ProgressBar is a control to give the user an indication of the progress of an operation.
+ * *
+ *     Determinate Progress State
+ *
+ *      #  : Progress visual
+ *      *  : Secondary Progress visual
+ *      =  : Track visual
+ *     40% : Label visual
+ *
+ *     =============================================
+ *     = ###############**** 40%                   =
+ *     =============================================
+ *
+ *     Indeterminate Progress State
+ *
+ *      /  : Indeterminate visual
+ *
+ *     =============================================
+ *     = ///////////////////////////////////////// =
+ *     =============================================
  *
  * Also progress value percentage is shown as text inside the progress bar.
  *
@@ -42,6 +61,7 @@ class ProgressBar;
  * |-------------------|-------------------------------|
  * | valueChanged      | @ref ValueChangedSignal()     |
  */
+
 class DALI_IMPORT_API ProgressBar : public Control
 {
 public:
@@ -77,6 +97,23 @@ public:
       PROGRESS_VALUE = PROPERTY_START_INDEX,
 
       /**
+       * @brief The secondary progress value of progress bar, secondary progress runs form 0 to 1.
+       * @details Name "secondaryProgressValue", type Property::FLOAT.
+       * @note Optional. If not supplied, the default is 0.
+       * @note Value should be between 0 to 1.
+       * @note If Value is set to 0, progress bar will be set secondary progress to beginning.
+       * @note If Value is set to 1, progress bar will be set secondary progress to end.
+       * @note Any Value outside of the range is ignored.
+       */
+      SECONDARY_PROGRESS_VALUE,
+
+      /**
+       * @brief Sets the progress-bar as \e indeterminate state.
+       * @details name "indeterminate", type bool
+       */
+      INDETERMINATE,
+
+      /**
        * @brief The track Visual value of progress bar, it's a full progress area and it's shown behind PROGRESS_VISUAL.
        * @details Name "trackVisual", type Property::STRING if it is a url, map otherwise.
        * @note Optional. If not supplied, the default track visual will be shown.
@@ -89,6 +126,33 @@ public:
        * @note Optional. If not supplied, the default progress visual will be shown.
        */
       PROGRESS_VISUAL,
+
+      /**
+       * @brief The secondary progress visual of progress bar, size of the secondary progress visual is changed based on SECONDARY_PROGRESS_VALUE.
+       * @details Name "secondaryProgressVisual", type Property::STRING if it is a url, map otherwise.
+       * @note Optional. If not supplied, the secondary progress visual will not be shown.
+       */
+      SECONDARY_PROGRESS_VISUAL,
+
+      /**
+       * @brief The indeterminate visual of progress bar.
+       * @details Name "inditerminateVisual", type Property::STRING if it is a url, map otherwise.
+       * @note Optional. If not supplied, the default inditerminate visual will be shown.
+       */
+      INDETERMINATE_VISUAL,
+
+      /**
+       * @brief The transition data for indeterminate visual animation.
+       * @details Name "indeterminateVisualAnimation", type Property::STRING.
+       * @note Optional. If not supplied, default animation will be played.
+       */
+      INDETERMINATE_VISUAL_ANIMATION,
+
+      /**
+       * @brief The Label visual of progress bar.
+       * @details Name "labelVisual", type Property::MAP.
+       */
+      LABEL_VISUAL,
     };
   };
 
@@ -141,19 +205,20 @@ public:  // Signals
   /**
    * @brief Value changed signal type.
    */
-  typedef Signal< void ( ProgressBar, float ) > ValueChangedSignalType;
+  typedef Signal< void ( ProgressBar, float, float ) > ValueChangedSignalType;
 
   /**
    * @brief Signal emitted when the ProgressBar value changes.
    *
    * A callback of the following type may be connected:
    * @code
-   *   void YourCallbackName( ProgressBar progressBar, float value );
+   *   void YourCallbackName( ProgressBar progressBar, float progressValue, float secondaryProgressValue );
    * @endcode
    * @return The signal to connect to
    */
   ValueChangedSignalType& ValueChangedSignal();
 
+
 public: // Not intended for application developers
 
   /// @cond internal
diff --git a/dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h b/dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h
new file mode 100644 (file)
index 0000000..d842559
--- /dev/null
@@ -0,0 +1,98 @@
+#ifndef DALI_TOOLKIT_TEXT_EDITOR_DEVEL_H
+#define DALI_TOOLKIT_TEXT_EDITOR_DEVEL_H
+
+/*
+ * 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.
+ * 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.
+ *
+ */
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/controls/text-controls/text-editor.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace DevelTextEditor
+{
+
+namespace Property
+{
+  enum Type
+  {
+      RENDERING_BACKEND = Dali::Toolkit::TextEditor::Property::RENDERING_BACKEND,
+      TEXT = Dali::Toolkit::TextEditor::Property::TEXT,
+      TEXT_COLOR = Dali::Toolkit::TextEditor::Property::TEXT_COLOR,
+      FONT_FAMILY = Dali::Toolkit::TextEditor::Property::FONT_FAMILY,
+      FONT_STYLE = Dali::Toolkit::TextEditor::Property::FONT_STYLE,
+      POINT_SIZE = Dali::Toolkit::TextEditor::Property::POINT_SIZE,
+      HORIZONTAL_ALIGNMENT = Dali::Toolkit::TextEditor::Property::HORIZONTAL_ALIGNMENT,
+      SCROLL_THRESHOLD = Dali::Toolkit::TextEditor::Property::SCROLL_THRESHOLD,
+      SCROLL_SPEED = Dali::Toolkit::TextEditor::Property::SCROLL_SPEED,
+      PRIMARY_CURSOR_COLOR = Dali::Toolkit::TextEditor::Property::PRIMARY_CURSOR_COLOR,
+      SECONDARY_CURSOR_COLOR = Dali::Toolkit::TextEditor::Property::SECONDARY_CURSOR_COLOR,
+      ENABLE_CURSOR_BLINK = Dali::Toolkit::TextEditor::Property::ENABLE_CURSOR_BLINK,
+      CURSOR_BLINK_INTERVAL = Dali::Toolkit::TextEditor::Property::CURSOR_BLINK_INTERVAL,
+      CURSOR_BLINK_DURATION = Dali::Toolkit::TextEditor::Property::CURSOR_BLINK_DURATION,
+      CURSOR_WIDTH = Dali::Toolkit::TextEditor::Property::CURSOR_WIDTH,
+      GRAB_HANDLE_IMAGE = Dali::Toolkit::TextEditor::Property::GRAB_HANDLE_IMAGE,
+      GRAB_HANDLE_PRESSED_IMAGE = Dali::Toolkit::TextEditor::Property::GRAB_HANDLE_PRESSED_IMAGE,
+      SELECTION_HANDLE_IMAGE_LEFT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_IMAGE_LEFT,
+      SELECTION_HANDLE_IMAGE_RIGHT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_IMAGE_RIGHT,
+      SELECTION_HANDLE_PRESSED_IMAGE_LEFT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_PRESSED_IMAGE_LEFT,
+      SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_PRESSED_IMAGE_RIGHT,
+      SELECTION_HANDLE_MARKER_IMAGE_LEFT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_MARKER_IMAGE_LEFT,
+      SELECTION_HANDLE_MARKER_IMAGE_RIGHT = Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_MARKER_IMAGE_RIGHT,
+      SELECTION_HIGHLIGHT_COLOR = Dali::Toolkit::TextEditor::Property::SELECTION_HIGHLIGHT_COLOR,
+      DECORATION_BOUNDING_BOX = Dali::Toolkit::TextEditor::Property::DECORATION_BOUNDING_BOX,
+      ENABLE_MARKUP = Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP,
+      INPUT_COLOR = Dali::Toolkit::TextEditor::Property::INPUT_COLOR,
+      INPUT_FONT_FAMILY = Dali::Toolkit::TextEditor::Property::INPUT_FONT_FAMILY,
+      INPUT_FONT_STYLE = Dali::Toolkit::TextEditor::Property::INPUT_FONT_STYLE,
+      INPUT_POINT_SIZE = Dali::Toolkit::TextEditor::Property::INPUT_POINT_SIZE,
+      LINE_SPACING = Dali::Toolkit::TextEditor::Property::LINE_SPACING,
+      INPUT_LINE_SPACING = Dali::Toolkit::TextEditor::Property::INPUT_LINE_SPACING,
+      UNDERLINE = Dali::Toolkit::TextEditor::Property::UNDERLINE,
+      INPUT_UNDERLINE = Dali::Toolkit::TextEditor::Property::INPUT_UNDERLINE,
+      SHADOW = Dali::Toolkit::TextEditor::Property::SHADOW,
+      INPUT_SHADOW = Dali::Toolkit::TextEditor::Property::INPUT_SHADOW,
+      EMBOSS = Dali::Toolkit::TextEditor::Property::EMBOSS,
+      INPUT_EMBOSS = Dali::Toolkit::TextEditor::Property::INPUT_EMBOSS,
+      OUTLINE = Dali::Toolkit::TextEditor::Property::OUTLINE,
+      INPUT_OUTLINE = Dali::Toolkit::TextEditor::Property::INPUT_OUTLINE,
+
+      /**
+       * @brief name "smoothScroll", type bool
+       * @details Enable or disable the smooth scroll animation
+       */
+      SMOOTH_SCROLL = INPUT_OUTLINE + 1,
+
+      /**
+       * @brief name "smoothScrollDuration", type float
+       * @details Sets the duration of smooth scroll animation
+       */
+      SMOOTH_SCROLL_DURATION
+  };
+} // namespace Property
+
+} // namespace DevelText
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif // DALI_TOOLKIT_TEXT_EDITOR_DEVEL_H
\ No newline at end of file
index c8e9f29..3108cc3 100755 (executable)
@@ -123,6 +123,7 @@ devel_api_super_blur_view_header_files = \
   $(devel_api_src_dir)/controls/super-blur-view/super-blur-view.h
 
 devel_api_text_controls_header_files = \
+  $(devel_api_src_dir)/controls/text-controls/text-editor-devel.h \
   $(devel_api_src_dir)/controls/text-controls/text-selection-popup.h \
   $(devel_api_src_dir)/controls/text-controls/text-selection-toolbar.h
 
index ff3ed25..05005f5 100755 (executable)
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/size-negotiation/relayout-container.h>
 #include <dali/public-api/math/math-utils.h>
+#include <dali-toolkit/devel-api/align-enums.h>
+#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+#include <dali-toolkit/public-api/visuals/color-visual-properties.h>
+#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
+#include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+
+#include <dali/integration-api/debug.h>
 
 namespace Dali
 {
@@ -46,19 +55,36 @@ BaseHandle Create()
 // Setup properties, signals and actions using the type-registry.
 DALI_TYPE_REGISTRATION_BEGIN( Toolkit::ProgressBar, Toolkit::Control, Create )
 
-DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "progressValue",          FLOAT,    PROGRESS_VALUE         )
-DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "trackVisual",            MAP,      TRACK_VISUAL           )
-DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "progressVisual",         MAP,      PROGRESS_VISUAL        )
-DALI_SIGNAL_REGISTRATION(   Toolkit, ProgressBar, "valueChanged",                     SIGNAL_VALUE_CHANGED   )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "progressValue",                     FLOAT,    PROGRESS_VALUE                   )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "secondaryProgressValue",            FLOAT,    SECONDARY_PROGRESS_VALUE         )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "indeterminate",                     BOOLEAN,  INDETERMINATE                    )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "trackVisual",                       MAP,      TRACK_VISUAL                     )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "progressVisual",                    MAP,      PROGRESS_VISUAL                  )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "secondaryProgressVisual",           MAP,      SECONDARY_PROGRESS_VISUAL        )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "indeterminateVisual",               MAP,      INDETERMINATE_VISUAL             )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "indeterminateVisualAnimation",      ARRAY,    INDETERMINATE_VISUAL_ANIMATION   )
+DALI_PROPERTY_REGISTRATION( Toolkit, ProgressBar, "labelVisual",                       MAP,      LABEL_VISUAL                     )
+DALI_SIGNAL_REGISTRATION(   Toolkit, ProgressBar, "valueChanged",                      SIGNAL_VALUE_CHANGED                       )
 
 DALI_TYPE_REGISTRATION_END()
 
-const char* SKINNED_TRACK_VISUAL = DALI_IMAGE_DIR "slider-skin.9.png";
-const char* SKINNED_PROGRESS_VISUAL = DALI_IMAGE_DIR "slider-skin-progress.9.png";
+struct ProgressDepthIndex
+{
+  // Enum to make sure the visual order
+  enum
+  {
+    TRACK_VISUAL,
+    SECONDARY_PROGRESS_VISUAL,
+    PROGRESS_VISUAL,
+    LABEL_VISUAL,
+    INDETERMINATE_VISUAL
+  };
+};
 
 float DEFAULT_VALUE = 0.0f;
 float DEFAULT_LOWER_BOUND = 0.0f;
 float DEFAULT_UPPER_BOUND = 1.0f;
+float DEFAULT_FONT_SIZE = 12.0f;
 
 } // Unnamed namespace
 
@@ -83,12 +109,9 @@ Dali::Toolkit::ProgressBar ProgressBar::New()
 
 ProgressBar::ProgressBar()
 : Control( ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
-  mTrackVisual(""),
-  mProgressVisual(""),
-  mTrackMap(),
-  mTrackVisualSize(),
-  mProgressVisualSize(),
-  mValue( DEFAULT_VALUE )
+  mProgressValue( DEFAULT_VALUE ),
+  mSecondaryProgressValue( DEFAULT_VALUE ),
+  mIndeterminate( false )
 {
 }
 
@@ -98,49 +121,96 @@ ProgressBar::~ProgressBar()
 
 void ProgressBar::OnInitialize()
 {
-  // Setup
-  CreateChildren();
-
-  // Properties
-  SetTrackVisual( SKINNED_TRACK_VISUAL );
-  SetProgressVisual( SKINNED_PROGRESS_VISUAL );
-
-  DisplayValue( mValue, false );       // Run this last to display the correct value
 }
 
 void ProgressBar::OnRelayout( const Vector2& size, RelayoutContainer& container )
 {
-  // Track
-  if( mTrack )
+
+  Vector2 trackSize( size );
+  mDomain = CalcDomain( size );
+
+  trackSize.width = std::max( 0.0f, size.width ); // Ensure we don't go negative
+
+  Toolkit::Visual::Base trackVisual = GetVisual( Toolkit::ProgressBar::Property::TRACK_VISUAL );
+  Toolkit::Visual::Base secondProgressVisual = GetVisual( Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VISUAL );
+  Toolkit::Visual::Base progressVisual = GetVisual( Toolkit::ProgressBar::Property::PROGRESS_VISUAL );
+  Toolkit::Visual::Base labelVisual = GetVisual( Toolkit::ProgressBar::Property::LABEL_VISUAL );
+  Toolkit::Visual::Base indeterminateVisual = GetVisual( Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL );
+
+  if( trackVisual )
+  {
+    Property::Map visualTransform;
+
+    visualTransform.Add( Toolkit::DevelVisual::Transform::Property::SIZE, trackSize )
+                   .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );  // Use Absolute size
+    trackVisual.SetTransformAndSize( visualTransform, trackSize );
+  }
+
+  if( secondProgressVisual )
   {
-    container.Add( mTrack, size );
+    Property::Map visualTransform;
 
-    // mValueTextLabel will have its relayout method called automatically as it's a child of mTrack,
-    // which is added to the container
+    visualTransform.Add( Toolkit::DevelVisual::Transform::Property::SIZE, Vector2( mDomain.from.x + mSecondaryProgressValue * ( mDomain.to.x - mDomain.from.x ), trackSize.height  ) )
+                   .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) )  // Use Absolute size
+                   .Add( Toolkit::DevelVisual::Transform::Property::ORIGIN, Toolkit::Align::TOP_BEGIN )
+                   .Add( Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT, Toolkit::Align::TOP_BEGIN );
+    secondProgressVisual.SetTransformAndSize( visualTransform, trackSize );
   }
 
-  // Progress bar
-  if( mProgress )
+  if( progressVisual )
   {
-    mDomain = CalcDomain( size );
+    Property::Map visualTransform;
+
+    visualTransform.Add( Toolkit::DevelVisual::Transform::Property::SIZE, Vector2( mDomain.from.x + mProgressValue * ( mDomain.to.x - mDomain.from.x ), trackSize.height ) )
+                   .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) )  // Use Absolute size
+                   .Add( Toolkit::DevelVisual::Transform::Property::ORIGIN, Toolkit::Align::TOP_BEGIN )
+                   .Add( Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT, Toolkit::Align::TOP_BEGIN );
+    progressVisual.SetTransformAndSize( visualTransform, trackSize );
+  }
 
-    Vector2 progressSize( size );
+  if( labelVisual )
+  {
+    Property::Map visualTransform;
 
-    // If no progress, then we do not want a n-patch image shown incorrectly
-    progressSize.width = std::max( mProgressVisualSize.width, mDomain.from.x + mValue * ( mDomain.to.x - mDomain.from.x ) );
-    progressSize.width = std::min( progressSize.width, size.width ); // We should not exceed given size
+    visualTransform.Add( Toolkit::DevelVisual::Transform::Property::SIZE, trackSize )
+                   .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );  // Use Absolute size
 
-    container.Add( mProgress, progressSize );
+    labelVisual.SetTransformAndSize( visualTransform, trackSize );
   }
+
+  if( indeterminateVisual )
+  {
+    Property::Map visualTransform;
+
+    visualTransform.Add( Toolkit::DevelVisual::Transform::Property::SIZE, trackSize )
+                   .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ) );  // Use Absolute size
+    indeterminateVisual.SetTransformAndSize( visualTransform, trackSize );
+  }
+
 }
 
 Vector3 ProgressBar::GetNaturalSize()
 {
-  // Return the maximum width/height combinations of our visuals
+  // Return the bigger size after comparing trackVisual naturalSize and labelVisual naturalSize
+  Toolkit::Visual::Base trackVisual =  GetVisual( Toolkit::ProgressBar::Property::TRACK_VISUAL );
+  Toolkit::Visual::Base labelVisual =  GetVisual( Toolkit::ProgressBar::Property::LABEL_VISUAL );
+
+  Size trackSize;
+  Size labelSize;
+
+  if ( trackVisual )
+  {
+    trackVisual.GetNaturalSize( trackSize );
+  }
+  if ( labelVisual )
+  {
+    labelVisual.GetNaturalSize( labelSize );
+  }
 
   Vector3 naturalSize;
-  naturalSize.width = std::max( mTrackVisualSize.width, mProgressVisualSize.width );
-  naturalSize.height = std::max( mTrackVisualSize.height, mProgressVisualSize.height );
+  naturalSize.width = ( trackSize.width > labelSize.width ) ? trackSize.width: labelSize.width;
+  naturalSize.height = ( trackSize.height > labelSize.height ) ? trackSize.height: labelSize.height;
+
   return naturalSize;
 }
 
@@ -149,202 +219,184 @@ ProgressBar::Domain ProgressBar::CalcDomain( const Vector2& currentSize )
    return Domain( Vector2( 0.0f, 0.0f ), currentSize );
 }
 
-void ProgressBar::DisplayValue( float value, bool raiseSignals )
+Toolkit::ProgressBar::ValueChangedSignalType& ProgressBar::ValueChangedSignal()
 {
-  // Signals
-  if( raiseSignals )
-  {
-    Toolkit::ProgressBar self = Toolkit::ProgressBar::DownCast( Self() );
-    mValueChangedSignal.Emit( self, value );
-  }
+  return mValueChangedSignal;
+}
 
-  // Change the value of the text label
-  if( mValueTextLabel )
+void ProgressBar::SetProgressValue( float value )
+{
+  // update the progress bar value (taking float precision errors into account)
+  // TODO : it seems 0.0f cannot into this statement.
+  if( ( mProgressValue != value ) &&
+      ( ( value >= DEFAULT_LOWER_BOUND ) || ( Equals( value, DEFAULT_LOWER_BOUND ) ) ) &&
+      ( ( value <= DEFAULT_UPPER_BOUND ) || ( Equals( value, DEFAULT_UPPER_BOUND ) ) ) )
   {
-    std::stringstream ss;
-    ss.precision( 0 );
-    ss << std::fixed << ( value * 100 ) << "%";
+    mProgressValue = Clamp( value, DEFAULT_LOWER_BOUND, DEFAULT_UPPER_BOUND );
 
-    std::string label = mValueTextLabel.GetProperty<std::string>( Toolkit::TextLabel::Property::TEXT );
-    if( label.compare(ss.str()) )
-    {
-      mValueTextLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, ss.str() );
-    }
+    Toolkit::ProgressBar self = Toolkit::ProgressBar::DownCast( Self() );
+    mValueChangedSignal.Emit( self, mProgressValue, mSecondaryProgressValue );
+    RelayoutRequest();
   }
 }
 
-Toolkit::ImageView ProgressBar::CreateTrack()
+float ProgressBar::GetProgressValue() const
 {
-  Toolkit::ImageView track = Toolkit::ImageView::New();
-  track.SetParentOrigin( ParentOrigin::CENTER );
-  track.SetAnchorPoint( AnchorPoint::CENTER );
-  track.SetResizePolicy(ResizePolicy::USE_ASSIGNED_SIZE, Dimension::ALL_DIMENSIONS );
-
-  return track;
+  return mProgressValue;
 }
 
-void ProgressBar::SetTrackVisual( const std::string& filename )
+void ProgressBar::SetSecondaryProgressValue( float value )
 {
-  if( mTrack && filename.size() > 0 )
+  // update the progress bar value (taking float precision errors into account)
+  // TODO : it seems 0.0f cannot into this statement.
+  if( ( mSecondaryProgressValue != value ) &&
+      ( ( value >= DEFAULT_LOWER_BOUND ) || ( Equals( value, DEFAULT_LOWER_BOUND ) ) ) &&
+      ( ( value <= DEFAULT_UPPER_BOUND ) || ( Equals( value, DEFAULT_UPPER_BOUND ) ) ) )
   {
-    mTrack.SetImage( filename );
-    mTrackVisual = filename;
-    mTrackVisualSize = Vector2::ZERO;
+    mSecondaryProgressValue = Clamp( value, DEFAULT_LOWER_BOUND, DEFAULT_UPPER_BOUND );
+
+    Toolkit::ProgressBar self = Toolkit::ProgressBar::DownCast( Self() );
+    mValueChangedSignal.Emit( self, mProgressValue, mSecondaryProgressValue );
+
     RelayoutRequest();
   }
 }
 
-void ProgressBar::SetTrackVisual( Property::Map map )
+float ProgressBar::GetSecondaryProgressValue() const
 {
-  bool relayoutRequired = false;
+  return mSecondaryProgressValue;
+}
 
-  Property::Value* imageValue = map.Find( "url" );
-  if( imageValue )
+void ProgressBar::SetIndeterminate( bool value )
+{
+  mIndeterminate = value;
+  EnableVisual( Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL, mIndeterminate );
+
+  if( mIndeterminate )
   {
-    mTrackVisual.clear();
-    std::string filename;
-    if( imageValue->Get( filename ) )
+    RelayoutRequest();
+    if( mIndeterminateVisualTransition )
     {
-      if( mTrack && ( filename.size() > 0 ) )
-      {
-        mTrack.SetImage( filename );
-        mTrackMap = map;
-        relayoutRequired = true;
-      }
+      PlayIndeterminateVisualTransition();
     }
   }
-
-  Property::Value* sizeValue = map.Find( "size" );
-  if( sizeValue )
+  else
   {
-    Vector2 size;
-    if( sizeValue->Get( size ) )
+    if( mIndeterminateVisualAni )
     {
-      mTrackVisualSize = size;
-      relayoutRequired = true;
+      mIndeterminateVisualAni.Stop();
     }
   }
+}
 
-  // Visual and/or visual size changed so we need to relayout
-  if( relayoutRequired )
-  {
-    RelayoutRequest();
-  }
+bool ProgressBar::GetIndeterminate() const
+{
+  return mIndeterminate;
 }
 
-std::string ProgressBar::GetTrackVisual()
+void ProgressBar::SetIndeterminateVisualTransition( Toolkit::TransitionData transition )
 {
-  return mTrackVisual;
+  mIndeterminateVisualTransition = transition;
+  if( mIndeterminate )
+  {
+    PlayIndeterminateVisualTransition();
+  }
 }
 
-Toolkit::ImageView ProgressBar::CreateProgress()
+void ProgressBar::PlayIndeterminateVisualTransition()
 {
-  Toolkit::ImageView progress = Toolkit::ImageView::New();
-  progress.SetParentOrigin( ParentOrigin::CENTER_LEFT );
-  progress.SetAnchorPoint( AnchorPoint::CENTER_LEFT );
-  progress.SetResizePolicy(ResizePolicy::USE_ASSIGNED_SIZE, Dimension::ALL_DIMENSIONS );
+  if( mIndeterminateVisualAni )
+  {
+    mIndeterminateVisualAni.Stop();
+    mIndeterminateVisualAni.Clear();
+  }
+
+  mIndeterminateVisualAni = CreateTransition( mIndeterminateVisualTransition );
 
-  return progress;
+  if( mIndeterminate && mIndeterminateVisualAni )
+  {
+    mIndeterminateVisualAni.SetLooping(true);
+    mIndeterminateVisualAni.Play();
+  }
 }
 
-void ProgressBar::SetProgressVisual( const std::string& filename )
+Toolkit::TransitionData ProgressBar::ConvertPropertyToTransition( const Property::Value& value )
 {
-  if( mProgress && ( filename.size() > 0 ) )
+  Toolkit::TransitionData transitionData;
+
+  if( value.GetType() == Property::ARRAY )
   {
-    mProgress.SetImage( filename );
-    mProgressVisual = filename;
-    mProgressVisualSize = Vector2::ZERO;
-    RelayoutRequest();
+    transitionData = Toolkit::TransitionData::New( *value.GetArray() );
+  }
+  else if( value.GetType() == Property::MAP )
+  {
+    transitionData = Toolkit::TransitionData::New( *value.GetMap() );
   }
+
+  return transitionData;
 }
 
-void ProgressBar::SetProgressVisual( Property::Map map )
+/**
+ * Create Visual for given index from a property map or url.
+ * 1) Check if value passed in is a url and create visual
+ * 2) Create visual from map if step (1) is false
+ * 3) Register visual with control with false for enable flag.
+ * 4) Unregister visual if empty map was provided. This is the method to remove a visual
+ */
+
+void ProgressBar::CreateVisualsForComponent( Property::Index index, const Property::Value& value, const float visualDepth )
 {
-  bool relayoutRequired = false;
+  Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get();
+  Toolkit::Visual::Base progressVisual;
 
-  Property::Value* imageValue = map.Find( "url" );
-  if( imageValue )
+  std::string imageUrl;
+  if( value.Get( imageUrl ) )
   {
-    mProgressVisual.clear();
-    std::string filename;
-    if( imageValue->Get( filename ) )
+    if ( !imageUrl.empty() )
     {
-      if( mProgress && ( filename.size() > 0 ) )
-      {
-        mProgress.SetImage( filename );
-        mProgressMap = map;
-        relayoutRequired = true;
-      }
+      progressVisual = visualFactory.CreateVisual(  imageUrl, ImageDimensions()  );
     }
   }
-
-  Property::Value* sizeValue = map.Find( "size" );
-  if( sizeValue )
+  else // Does this code make text-visual can be accepted as visual?
   {
-    Vector2 size;
-    if( sizeValue->Get( size ) )
+    // if its not a string then get a Property::Map from the property if possible.
+    Property::Map *map = value.GetMap();
+    if( map && !map->Empty()  ) // Empty map results in current visual removal.
     {
-      mProgressVisualSize = size;
-      relayoutRequired = true;
+      progressVisual = visualFactory.CreateVisual( *map );
     }
   }
 
-  // Visual and/or visual size changed so we need to relayout
-  if( relayoutRequired )
+  if ( progressVisual )
   {
-    RelayoutRequest();
+    progressVisual.SetDepthIndex( visualDepth );
+    if( index == Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL )
+    {
+      RegisterVisual( index, progressVisual, mIndeterminate );
+    }
+    else
+    {
+      RegisterVisual( index, progressVisual, true );
+    }
+  }
+  else
+  {
+    UnregisterVisual( index );
   }
 }
 
-std::string ProgressBar::GetProgressVisual()
-{
-  return mProgressVisual;
-}
-
-Toolkit::ProgressBar::ValueChangedSignalType& ProgressBar::ValueChangedSignal()
-{
-  return mValueChangedSignal;
-}
-
-void ProgressBar::CreateChildren()
+bool ProgressBar::GetPropertyMapForVisual( Property::Index visualIndex, Property::Map& retreivedMap ) const
 {
-  Actor self = Self();
-
-  // Track
-  mTrack = CreateTrack();
-  self.Add( mTrack ); // Needs to be a direct child as we want to manipulate its size
-
-  // Progress bar
-  mProgress = CreateProgress();
-  self.Add( mProgress ); // Needs to be a direct child as we want to manipulate its size
-
-  // Value Text
-  mValueTextLabel = Toolkit::TextLabel::New();
-  mValueTextLabel.SetName( "ProgressBarValueTextLabel" );
-  mValueTextLabel.SetStyleName( "ProgressBarValueTextLabel" );
-  mValueTextLabel.SetParentOrigin( ParentOrigin::CENTER );
-  mValueTextLabel.SetAnchorPoint( AnchorPoint::CENTER );
-  mValueTextLabel.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
-  mValueTextLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
-  mTrack.Add( mValueTextLabel ); // Add to mTrack and let it automatically set its size
-}
+  bool success = false;
+  Toolkit::Visual::Base visual = GetVisual( visualIndex );
 
-void ProgressBar::SetProgressValue( float value )
-{
-  // update the progress bar value (taking float precision errors into account)
-  if( ( mValue != value ) &&
-      ( ( value >= DEFAULT_LOWER_BOUND ) || ( Equals( value, DEFAULT_LOWER_BOUND ) ) ) &&
-      ( ( value <= DEFAULT_UPPER_BOUND ) || ( Equals( value, DEFAULT_UPPER_BOUND ) ) ) )
+  if ( visual )
   {
-    mValue = Clamp( value, DEFAULT_LOWER_BOUND, DEFAULT_UPPER_BOUND );
-    DisplayValue( mValue, true );
-    RelayoutRequest();
+    visual.CreatePropertyMap( retreivedMap );
+    success = true;
   }
-}
 
-float ProgressBar::GetProgressValue() const
-{
-  return mValue;
+  return success;
 }
 
 // Static class method to support script connecting signals
@@ -378,29 +430,89 @@ void ProgressBar::SetProperty( BaseObject* object, Property::Index propertyIndex
 
     switch ( propertyIndex )
     {
-      case Toolkit::ProgressBar::Property::PROGRESS_VALUE:
+      case Toolkit::ProgressBar::Property::TRACK_VISUAL:
       {
-        progressBarImpl.SetProgressValue( value.Get< float >() );
+        progressBarImpl.CreateVisualsForComponent( propertyIndex, value, ProgressDepthIndex::TRACK_VISUAL );
         break;
       }
 
-      case Toolkit::ProgressBar::Property::TRACK_VISUAL:
+      case Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VISUAL:
       {
-        Property::Map map;
-        if( value.Get( map ) )
-        {
-          progressBarImpl.SetTrackVisual( map );
-        }
+        progressBarImpl.CreateVisualsForComponent( propertyIndex, value, ProgressDepthIndex::SECONDARY_PROGRESS_VISUAL );
         break;
       }
 
       case Toolkit::ProgressBar::Property::PROGRESS_VISUAL:
       {
+        progressBarImpl.CreateVisualsForComponent( propertyIndex, value, ProgressDepthIndex::PROGRESS_VISUAL );
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL:
+      {
+        progressBarImpl.CreateVisualsForComponent( propertyIndex, value, ProgressDepthIndex::INDETERMINATE_VISUAL );
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::LABEL_VISUAL:
+      {
         Property::Map map;
-        if( value.Get( map ) )
+        std::string textString;
+
+        if ( value.Get( textString ) )
+        {
+          // set new text string as TEXT property
+          Property::Map newTextMap;
+          Toolkit::Visual::Base label = progressBarImpl.GetVisual( Toolkit::ProgressBar::Property::LABEL_VISUAL );
+
+          if( label )
+          {
+            label.CreatePropertyMap( map );
+          }
+
+          // if LABEL_VISUAL doesn't set before, add Visual property "TYPE" to create new text Visual
+          if( map.Empty() )
+          {
+            newTextMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT );
+            newTextMap.Add( Toolkit::TextVisual::Property::POINT_SIZE, DEFAULT_FONT_SIZE );
+          }
+          newTextMap.Add( Toolkit::TextVisual::Property::TEXT, textString );
+
+          map.Merge( newTextMap );
+        }
+        else
         {
-          progressBarImpl.SetProgressVisual( map );
+          value.Get( map );
         }
+
+        if( !map.Empty() )
+        {
+          progressBarImpl.CreateVisualsForComponent( propertyIndex, map, ProgressDepthIndex::LABEL_VISUAL );
+        }
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::PROGRESS_VALUE:
+      {
+        progressBarImpl.SetProgressValue( value.Get< float >() );
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VALUE:
+      {
+        progressBarImpl.SetSecondaryProgressValue( value.Get< float >() );
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::INDETERMINATE:
+      {
+        progressBarImpl.SetIndeterminate( value.Get< bool >() );
+        break;
+      }
+
+      case Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION:
+      {
+        progressBarImpl.SetIndeterminateVisualTransition( progressBarImpl.ConvertPropertyToTransition( value ) );
         break;
       }
     }
@@ -419,43 +531,59 @@ Property::Value ProgressBar::GetProperty( BaseObject* object, Property::Index pr
 
     switch ( propertyIndex )
     {
+      case Toolkit::ProgressBar::Property::TRACK_VISUAL:
+      case Toolkit::ProgressBar::Property::PROGRESS_VISUAL:
+      case Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VISUAL:
+      case Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL:
+      case Toolkit::ProgressBar::Property::LABEL_VISUAL:
+      {
+        Property::Map visualProperty;
+        if ( progressBarImpl.GetPropertyMapForVisual( propertyIndex, visualProperty ) )
+        {
+          value = visualProperty;
+        }
+        break;
+      }
+
       case Toolkit::ProgressBar::Property::PROGRESS_VALUE:
       {
         value = progressBarImpl.GetProgressValue();
         break;
       }
 
-      case Toolkit::ProgressBar::Property::TRACK_VISUAL:
+      case Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VALUE:
       {
-        if( !progressBarImpl.mTrackVisual.empty() )
-        {
-          value = progressBarImpl.GetTrackVisual();
-        }
-        else if( !progressBarImpl.mTrackMap.Empty() )
-        {
-          value = progressBarImpl.mTrackMap;
-        }
+        value = progressBarImpl.GetSecondaryProgressValue();
         break;
       }
 
-      case Toolkit::ProgressBar::Property::PROGRESS_VISUAL:
+      case Toolkit::ProgressBar::Property::INDETERMINATE:
       {
-        if( !progressBarImpl.mProgressVisual.empty() )
-        {
-          value = progressBarImpl.GetProgressVisual();
-        }
-        else if( !progressBarImpl.mProgressMap.Empty() )
-        {
-          value = progressBarImpl.mProgressMap;
-        }
+        value = progressBarImpl.GetIndeterminate();
         break;
       }
+
+      case Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION:
+      {
+        //TODO: Return INDETERMINATE_VISUAL_TRANSITION;
+      }
     }
   }
 
   return value;
 }
 
+void ProgressBar::OnStageConnection( int depth )
+{
+  // Chain up first (ensures visuals are ready to draw)
+  Control::OnStageConnection( depth );
+
+  if( mIndeterminate )
+  {
+    PlayIndeterminateVisualTransition();
+  }
+}
+
 } // namespace Internal
 
 } // namespace Toolkit
index f5f7e91..b59c8b3 100755 (executable)
  *
  */
 
-// EXTERNAL INCLUDES
-#include <dali/public-api/object/property-map.h>
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali/public-api/animation/animation.h>
 #include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
-#include <dali-toolkit/public-api/controls/image-view/image-view.h>
-#include <dali-toolkit/public-api/controls/text-controls/text-label.h>
+#include <dali-toolkit/devel-api/visual-factory/transition-data.h>
 
 namespace Dali
 {
@@ -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,29 @@ 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
-   */
-  void CreateChildren();
-
-  /**
-   * 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.
-   */
-  void DisplayValue( float value, bool raiseSignals );
-
-  /**
-   * Create the image for the track
-   *
-   * @param[in] filename The track image
-   */
-  void SetTrackVisual( const std::string& filename );
-
-  /**
-   * @brief Set the track visual from an Dali::Property::Map
-   *
-   * @param[in] map The Dali::Property::Map to use for to display
+   * Set indeterminate visual transition animation
    */
-  void SetTrackVisual( Dali::Property::Map map );
+  void SetIndeterminateVisualTransition( Toolkit::TransitionData transtion );
 
   /**
-   * @brief Return the track image.
-   *
-   * @return The track image.
+   * Convert value to transition data
    */
-  std::string GetTrackVisual();
+  Toolkit::TransitionData ConvertPropertyToTransition( const Property::Value& value );
 
   /**
-   * Create the image for the progress bar
-   *
-   * @param[in] filename The progress bar image
+   * Update progress bar label when progress value is changed
    */
-  void SetProgressVisual( const std::string& filename );
+  void CreateVisualsForComponent( Property::Index index, const Property::Value& value, const float visualDepth );
 
   /**
-   * @brief Set the progress 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 SetProgressVisual( Dali::Property::Map map );
+  bool GetPropertyMapForVisual( Property::Index visualIndex, Property::Map& retreivedMap ) const;
 
   /**
-   * @brief Return the progress bar image.
-   *
-   * @return The progress bar image if it exists.
+   * Check if we should start animating
    */
-  std::string GetProgressVisual();
+  virtual void OnStageConnection( int depth );
 
 private:
 
@@ -246,23 +247,15 @@ 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
 };
 
 } // namespace Internal
index aab4f95..b6d9900 100644 (file)
@@ -25,6 +25,7 @@
 #include <dali/public-api/common/stage.h>
 #include <dali/public-api/images/resource-image.h>
 #include <dali/devel-api/adaptor-framework/virtual-keyboard.h>
+#include <dali/devel-api/object/property-helper-devel.h>
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/integration-api/adaptors/adaptor.h>
 #include <dali/integration-api/debug.h>
@@ -33,6 +34,7 @@
 #include <dali-toolkit/public-api/text/rendering-backend.h>
 #include <dali-toolkit/public-api/visuals/color-visual-properties.h>
 #include <dali-toolkit/devel-api/controls/control-depth-index-ranges.h>
+#include <dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h>
 #include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
 #include <dali-toolkit/internal/text/rendering/text-backend.h>
 #include <dali-toolkit/internal/text/text-effects-style.h>
@@ -122,6 +124,8 @@ DALI_PROPERTY_REGISTRATION( Toolkit, TextEditor, "emboss",
 DALI_PROPERTY_REGISTRATION( Toolkit, TextEditor, "inputEmboss",                          MAP,       INPUT_EMBOSS                         )
 DALI_PROPERTY_REGISTRATION( Toolkit, TextEditor, "outline",                              MAP,       OUTLINE                              )
 DALI_PROPERTY_REGISTRATION( Toolkit, TextEditor, "inputOutline",                         MAP,       INPUT_OUTLINE                        )
+DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "smoothScroll",                   BOOLEAN,   SMOOTH_SCROLL                        )
+DALI_DEVEL_PROPERTY_REGISTRATION( Toolkit, TextEditor, "smoothScrollDuration",           FLOAT,     SMOOTH_SCROLL_DURATION               )
 
 DALI_SIGNAL_REGISTRATION( Toolkit, TextEditor, "textChanged",        SIGNAL_TEXT_CHANGED )
 DALI_SIGNAL_REGISTRATION( Toolkit, TextEditor, "inputStyleChanged",  SIGNAL_INPUT_STYLE_CHANGED )
@@ -590,6 +594,26 @@ void TextEditor::SetProperty( BaseObject* object, Property::Index index, const P
         }
         break;
       }
+      case Toolkit::DevelTextEditor::Property::SMOOTH_SCROLL:
+      {
+        const bool enable = value.Get< bool >();
+        DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextEditor SMOOTH_SCROLL %d\n", enable );
+
+        impl.mScrollAnimationEnabled = enable;
+        break;
+      }
+      case Toolkit::DevelTextEditor::Property::SMOOTH_SCROLL_DURATION:
+      {
+        const float duration = value.Get< float >();
+        DALI_LOG_INFO( gLogFilter, Debug::General, "TextEditor SMOOTH_SCROLL_DURATION %f\n", duration );
+
+        impl.mScrollAnimationDuration = duration;
+        if ( impl.mTextVerticalScroller )
+        {
+          impl.mTextVerticalScroller->SetDuration( duration );
+        }
+        break;
+      }
     } // switch
   } // texteditor
 }
@@ -891,6 +915,16 @@ Property::Value TextEditor::GetProperty( BaseObject* object, Property::Index ind
         GetOutlineProperties( impl.mController, value, Text::EffectStyle::INPUT );
         break;
       }
+      case Toolkit::DevelTextEditor::Property::SMOOTH_SCROLL:
+      {
+        value = impl.mScrollAnimationEnabled;
+        break;
+      }
+      case Toolkit::DevelTextEditor::Property::SMOOTH_SCROLL_DURATION:
+      {
+        value = impl.mScrollAnimationDuration;
+        break;
+      }
     } //switch
   }
 
@@ -1094,7 +1128,7 @@ void TextEditor::RenderText( Text::Controller::UpdateTextType updateTextType )
     {
       renderableActor = mRenderer->Render( mController->GetView(),
                                            mAlignmentOffset,
-                                           DepthIndex::TEXT );
+                                           DepthIndex::CONTENT );
     }
 
     if( renderableActor != mRenderableActor )
@@ -1106,10 +1140,6 @@ void TextEditor::RenderText( Text::Controller::UpdateTextType updateTextType )
 
   if( mRenderableActor )
   {
-    const Vector2& scrollOffset = mController->GetTextModel()->GetScrollPosition();
-
-    mRenderableActor.SetPosition( scrollOffset.x + mAlignmentOffset, scrollOffset.y );
-
     // Make sure the actors are parented correctly with/without clipping
     Actor self = mStencil ? mStencil : Self();
 
@@ -1123,6 +1153,8 @@ void TextEditor::RenderText( Text::Controller::UpdateTextType updateTextType )
     mClippingDecorationActors.clear();
 
     self.Add( mRenderableActor );
+
+    ApplyScrollPosition();
   }
 }
 
@@ -1397,12 +1429,42 @@ void TextEditor::OnIdleSignal()
   mIdleCallback = NULL;
 }
 
+void TextEditor::ApplyScrollPosition()
+{
+  const Vector2& scrollOffset = mController->GetTextModel()->GetScrollPosition();
+  float scrollAmount = 0.0f;
+
+  if ( mScrollAnimationEnabled )
+  {
+    scrollAmount = mController->GetScrollAmountByUserInput();
+  }
+  if ( mTextVerticalScroller )
+  {
+    mTextVerticalScroller->CheckStartAnimation( mRenderableActor, scrollOffset.x + mAlignmentOffset, scrollOffset.y - scrollAmount, scrollAmount );
+  }
+  else if ( Equals( scrollAmount, 0.0f, Math::MACHINE_EPSILON_1 ))
+  {
+    mRenderableActor.SetPosition( scrollOffset.x + mAlignmentOffset, scrollOffset.y - scrollAmount );
+  }
+  else
+  {
+    mTextVerticalScroller = Text::TextVerticalScroller::New();
+    if ( !Equals( mScrollAnimationDuration, 0.0f, Math::MACHINE_EPSILON_1 ))
+    {
+      mTextVerticalScroller->SetDuration( mScrollAnimationDuration );
+    }
+    mTextVerticalScroller->CheckStartAnimation( mRenderableActor, scrollOffset.x + mAlignmentOffset, scrollOffset.y - scrollAmount, scrollAmount );
+  }
+}
+
 TextEditor::TextEditor()
 : Control( ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
   mIdleCallback( NULL ),
   mAlignmentOffset( 0.f ),
+  mScrollAnimationDuration( 0.f ),
   mRenderingBackend( DEFAULT_RENDERING_BACKEND ),
-  mHasBeenStaged( false )
+  mHasBeenStaged( false ),
+  mScrollAnimationEnabled( false )
 {
 }
 
index 2be7072..09465a8 100644 (file)
@@ -28,6 +28,7 @@
 #include <dali-toolkit/internal/text/text-control-interface.h>
 #include <dali-toolkit/internal/text/text-editable-control-interface.h>
 #include <dali-toolkit/internal/text/text-controller.h>
+#include <dali-toolkit/internal/text/text-vertical-scroller.h>
 #include <dali-toolkit/internal/text/rendering/text-renderer.h>
 
 namespace Dali
@@ -227,6 +228,13 @@ private: // Implementation
   void OnIdleSignal();
 
   /**
+   * @brief set RenderActor's position with new scrollPosition
+   *
+   * Apply updated scroll position or start scroll animation if VerticalScrollAnimation is enabled
+   */
+  void ApplyScrollPosition();
+
+  /**
    * Construct a new TextEditor.
    */
   TextEditor();
@@ -257,6 +265,7 @@ private: // Data
   Text::ControllerPtr mController;
   Text::RendererPtr mRenderer;
   Text::DecoratorPtr mDecorator;
+  Text::TextVerticalScrollerPtr mTextVerticalScroller;
   Toolkit::Control mStencil;
   std::vector<Actor> mClippingDecorationActors;   ///< Decoration actors which need clipping.
 
@@ -264,8 +273,10 @@ private: // Data
   CallbackBase* mIdleCallback;
 
   float mAlignmentOffset;
+  float mScrollAnimationDuration;
   int mRenderingBackend;
   bool mHasBeenStaged:1;
+  bool mScrollAnimationEnabled:1;
 };
 
 } // namespace Internal
index 63568e6..6a846e4 100644 (file)
@@ -1272,7 +1272,7 @@ void TextField::RenderText( Text::Controller::UpdateTextType updateTextType )
     {
       renderableActor = mRenderer->Render( mController->GetView(),
                                            mAlignmentOffset,
-                                           DepthIndex::TEXT );
+                                           DepthIndex::CONTENT );
     }
 
     if( renderableActor != mRenderableActor )
index 9f7863f..b6b5db0 100644 (file)
@@ -731,7 +731,7 @@ void TextLabel::RenderText()
   {
     renderableActor = mRenderer->Render( mController->GetView(),
                                          alignmentOffset,
-                                         DepthIndex::TEXT );
+                                         DepthIndex::CONTENT );
   }
 
   if( renderableActor != mRenderableActor )
index 7f39ff6..84f3214 100755 (executable)
@@ -88,6 +88,7 @@ toolkit_src_files = \
    \
    $(toolkit_src_dir)/focus-manager/keyboard-focus-manager-impl.cpp \
    $(toolkit_src_dir)/focus-manager/keyinput-focus-manager-impl.cpp \
+   $(toolkit_src_dir)/helpers/property-helper.cpp \
    $(toolkit_src_dir)/filters/blur-two-pass-filter.cpp \
    $(toolkit_src_dir)/filters/emboss-filter.cpp \
    $(toolkit_src_dir)/filters/image-filter.cpp \
@@ -118,6 +119,7 @@ toolkit_src_files = \
    $(toolkit_src_dir)/text/text-io.cpp \
    $(toolkit_src_dir)/text/text-model.cpp \
    $(toolkit_src_dir)/text/text-scroller.cpp \
+   $(toolkit_src_dir)/text/text-vertical-scroller.cpp \
    $(toolkit_src_dir)/text/text-view.cpp \
    $(toolkit_src_dir)/text/text-view-interface.cpp \
    $(toolkit_src_dir)/text/visual-model-impl.cpp \
diff --git a/dali-toolkit/internal/helpers/property-helper.cpp b/dali-toolkit/internal/helpers/property-helper.cpp
new file mode 100644 (file)
index 0000000..94be023
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * 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.
+ * 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.
+ *
+ */
+
+// HEADER
+#include <dali-toolkit/internal/helpers/property-helper.h>
+
+// EXTERNAL INCLUDES
+#include <dali/public-api/object/property-array.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+bool GetStringFromProperty( const Property::Value& value, std::string& output )
+{
+  bool extracted = false;
+  if( value.Get( output ) )
+  {
+    extracted = true;
+  }
+  else
+  {
+    Property::Array* array = value.GetArray();
+    if( array )
+    {
+      const unsigned int arraySize = array->Size();
+      for( unsigned int i = 0; i < arraySize; ++i )
+      {
+        std::string element;
+        if( array->GetElementAt( i ).Get( element ) )
+        {
+          extracted = true;
+          output += element + '\n';
+        }
+        else
+        {
+          // If property in array is anything other than a string, then it is invalid so break and clear output.
+          output.clear();
+          extracted = false;
+          break;
+        }
+      }
+    }
+  }
+
+  return extracted;
+}
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
diff --git a/dali-toolkit/internal/helpers/property-helper.h b/dali-toolkit/internal/helpers/property-helper.h
new file mode 100644 (file)
index 0000000..e91062d
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef DALI_TOOLKIT_INTERNAL_PROPERTY_HELPER_H
+#define DALI_TOOLKIT_INTERNAL_PROPERTY_HELPER_H
+
+/*
+ * 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.
+ * 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.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <string>
+#include <dali/public-api/object/property.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+/**
+ * @brief Parses a Property::Value to retrieve the string.
+ *
+ * If value is a Property::STRING, then it simply extracts the required string.
+ * If value is a Property::ARRAY, then it combines all the strings it contains into one adding a newline character to each line.
+ * The second option allows users to write long strings over several lines in a JSON file.
+ *
+ * @return True if a string was extracted successfully.
+ */
+bool GetStringFromProperty( const Property::Value& value, std::string& output );
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+
+#endif // DALI_TOOLKIT_INTERNAL_PROPERTY_HELPER_H
index de437fb..2332c7a 100644 (file)
@@ -21,6 +21,7 @@
 // EXTERNAL INCLUDES
 #include <dali/public-api/rendering/geometry.h>
 #include <dali/public-api/rendering/renderer.h>
+#include <dali/public-api/images/frame-buffer-image.h>
 #include <dali/devel-api/text-abstraction/font-client.h>
 #include <dali/integration-api/debug.h>
 
index 81b6554..424ac0b 100644 (file)
@@ -148,6 +148,7 @@ struct EventData
   bool mScrollAfterDelete               : 1;   ///< Whether to scroll after delete characters.
   bool mAllTextSelected                 : 1;   ///< True if the selection handles are selecting all the text.
   bool mUpdateInputStyle                : 1;   ///< Whether to update the input style after moving the cursor.
+  bool mCheckScrollAmount               : 1;   ///< Whether to check scrolled amount after updating the position
 };
 
 struct ModifyEvent
index 58def07..1bb0fed 100644 (file)
@@ -1344,16 +1344,17 @@ Vector3 Controller::GetNaturalSize()
                                                                            BIDI_INFO         |
                                                                            SHAPE_TEXT        |
                                                                            GET_GLYPH_METRICS );
+
+    // Set the update info to relayout the whole text.
+    mImpl->mTextUpdateInfo.mParagraphCharacterIndex = 0u;
+    mImpl->mTextUpdateInfo.mRequestedNumberOfCharacters = mImpl->mModel->mLogicalModel->mText.Count();
+
     // Make sure the model is up-to-date before layouting
     mImpl->UpdateModel( onlyOnceOperations );
 
     // Layout the text for the new width.
     mImpl->mOperationsPending = static_cast<OperationsMask>( mImpl->mOperationsPending | LAYOUT );
 
-    // Set the update info to relayout the whole text.
-    mImpl->mTextUpdateInfo.mParagraphCharacterIndex = 0u;
-    mImpl->mTextUpdateInfo.mRequestedNumberOfCharacters = mImpl->mModel->mLogicalModel->mText.Count();
-
     // Store the actual control's size to restore later.
     const Size actualControlSize = mImpl->mModel->mVisualModel->mControlSize;
 
@@ -1416,6 +1417,11 @@ float Controller::GetHeightForWidth( float width )
                                                                            BIDI_INFO         |
                                                                            SHAPE_TEXT        |
                                                                            GET_GLYPH_METRICS );
+
+    // Set the update info to relayout the whole text.
+    mImpl->mTextUpdateInfo.mParagraphCharacterIndex = 0u;
+    mImpl->mTextUpdateInfo.mRequestedNumberOfCharacters = mImpl->mModel->mLogicalModel->mText.Count();
+
     // Make sure the model is up-to-date before layouting
     mImpl->UpdateModel( onlyOnceOperations );
 
@@ -1423,10 +1429,6 @@ float Controller::GetHeightForWidth( float width )
     // Layout the text for the new width.
     mImpl->mOperationsPending = static_cast<OperationsMask>( mImpl->mOperationsPending | LAYOUT );
 
-    // Set the update info to relayout the whole text.
-    mImpl->mTextUpdateInfo.mParagraphCharacterIndex = 0u;
-    mImpl->mTextUpdateInfo.mRequestedNumberOfCharacters = mImpl->mModel->mLogicalModel->mText.Count();
-
     // Store the actual control's width.
     const float actualControlWidth = mImpl->mModel->mVisualModel->mControlSize.width;
 
@@ -1467,6 +1469,18 @@ const ModelInterface* const Controller::GetTextModel() const
   return mImpl->mModel.Get();
 }
 
+float Controller::GetScrollAmountByUserInput()
+{
+  float scrollAmount = 0.0f;
+
+  if (NULL != mImpl->mEventData && mImpl->mEventData->mCheckScrollAmount)
+  {
+    scrollAmount = mImpl->mModel->mScrollPosition.y -  mImpl->mModel->mScrollPositionLast.y;
+    mImpl->mEventData->mCheckScrollAmount = false;
+  }
+  return scrollAmount;
+}
+
 // public : Relayout.
 
 Controller::UpdateTextType Controller::Relayout( const Size& size )
@@ -1538,6 +1552,7 @@ Controller::UpdateTextType Controller::Relayout( const Size& size )
 
   // Do not re-do any operation until something changes.
   mImpl->mOperationsPending = NO_OPERATION;
+  mImpl->mModel->mScrollPositionLast = mImpl->mModel->mScrollPosition;
 
   // Whether the text control is editable
   const bool isEditable = NULL != mImpl->mEventData;
@@ -1686,6 +1701,8 @@ bool Controller::KeyEvent( const Dali::KeyEvent& keyEvent )
              ( Dali::DALI_KEY_CURSOR_UP    == keyCode ) ||
              ( Dali::DALI_KEY_CURSOR_DOWN  == keyCode ) )
     {
+      mImpl->mEventData->mCheckScrollAmount = true;
+
       Event event( Event::CURSOR_KEY_EVENT );
       event.p1.mInt = keyCode;
       mImpl->mEventData->mEventQueue.push_back( event );
@@ -1694,17 +1711,14 @@ bool Controller::KeyEvent( const Dali::KeyEvent& keyEvent )
     {
       textChanged = BackspaceKeyEvent();
     }
-    else if( IsKey( keyEvent,  Dali::DALI_KEY_POWER ) )
-    {
-      mImpl->ChangeState( EventData::INTERRUPTED ); // State is not INACTIVE as expect to return to edit mode.
-      // Avoids calling the InsertText() method which can delete selected text
-    }
-    else if( IsKey( keyEvent, Dali::DALI_KEY_MENU ) ||
+    else if( IsKey( keyEvent, Dali::DALI_KEY_POWER ) ||
+             IsKey( keyEvent, Dali::DALI_KEY_MENU ) ||
              IsKey( keyEvent, Dali::DALI_KEY_HOME ) )
     {
+      // Power key/Menu/Home key behaviour does not allow edit mode to resume.
       mImpl->ChangeState( EventData::INACTIVE );
-      // Menu/Home key behaviour does not allow edit mode to resume like Power key
-      // Avoids calling the InsertText() method which can delete selected text
+
+      // This branch avoids calling the InsertText() method of the 'else' branch which can delete selected text.
     }
     else if( Dali::DALI_KEY_SHIFT_LEFT == keyCode )
     {
@@ -2444,7 +2458,8 @@ bool Controller::RemoveText( int cursorOffset,
       numberOfCharacters = currentText.Count() - cursorIndex;
     }
 
-    if( ( cursorIndex + numberOfCharacters ) <= mImpl->mTextUpdateInfo.mPreviousNumberOfCharacters )
+    if( mImpl->mEventData->mPreEditFlag || // If the preedit flag is enabled, it means two (or more) of them came together i.e. when two keys have been pressed at the same time.
+        ( ( cursorIndex + numberOfCharacters ) <= mImpl->mTextUpdateInfo.mPreviousNumberOfCharacters ) )
     {
       // Mark the paragraphs to be updated.
       mImpl->mTextUpdateInfo.mCharacterIndex = std::min( cursorIndex, mImpl->mTextUpdateInfo.mCharacterIndex );
@@ -2792,6 +2807,8 @@ void Controller::TextInsertedEvent()
     return;
   }
 
+  mImpl->mEventData->mCheckScrollAmount = true;
+
   // The natural size needs to be re-calculated.
   mImpl->mRecalculateNaturalSize = true;
 
@@ -2808,6 +2825,8 @@ void Controller::TextDeletedEvent()
     return;
   }
 
+  mImpl->mEventData->mCheckScrollAmount = true;
+
   // The natural size needs to be re-calculated.
   mImpl->mRecalculateNaturalSize = true;
 
@@ -2834,6 +2853,7 @@ void Controller::SelectEvent( float x, float y, bool selectAll )
       mImpl->mEventData->mEventQueue.push_back( event );
     }
 
+    mImpl->mEventData->mCheckScrollAmount = true;
     mImpl->RequestRelayout();
   }
 }
index 6f4b864..f5b825e 100644 (file)
@@ -814,6 +814,13 @@ public: // Queries & retrieves.
    */
   const ModelInterface* const GetTextModel() const;
 
+  /**
+   * @brief Used to get scrolled distance by user input
+   *
+   * @return Distance from last scroll offset to new scroll offset
+   */
+  float GetScrollAmountByUserInput();
+
 public: // Relayout.
 
   /**
index 5de3e43..7eae0e1 100644 (file)
@@ -106,6 +106,7 @@ Model::Model()
 : mLogicalModel(),
   mVisualModel(),
   mScrollPosition(),
+  mScrollPositionLast(),
   mHorizontalAlignment( Layout::HORIZONTAL_ALIGN_BEGIN ),
   mVerticalAlignment( Layout::VERTICAL_ALIGN_TOP ),
   mAlignmentOffset( 0.0f ),
index e0dd85e..26b9f08 100644 (file)
@@ -156,6 +156,7 @@ public:
    * Typically this will have a negative value with scrolling occurs.
    */
   Vector2                     mScrollPosition;      ///< The text is offset by this position when scrolling.
+  Vector2                     mScrollPositionLast;  ///< The last offset value of mScrollPosition
   Layout::HorizontalAlignment mHorizontalAlignment; ///< The layout's horizontal alignment.
   Layout::VerticalAlignment   mVerticalAlignment;   ///< The layout's vertical alignment.
   float                       mAlignmentOffset;     ///< The alignment offset.
diff --git a/dali-toolkit/internal/text/text-vertical-scroller.cpp b/dali-toolkit/internal/text/text-vertical-scroller.cpp
new file mode 100644 (file)
index 0000000..b9d6606
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ * 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.
+ *
+ */
+
+// CLASS HEADER
+#include <dali-toolkit/internal/text/text-vertical-scroller.h>
+
+// EXTERNAL INCLUDES
+
+// INTERNAL INCLUDES
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace
+{
+
+const float DEFAULT_VERTICAL_SCROLL_DURATION(0.15f);     ///< Duration to complete scroll animation
+
+} // namespace
+
+namespace Text
+{
+
+TextVerticalScrollerPtr TextVerticalScroller::New()
+{
+  TextVerticalScrollerPtr textScroller( new TextVerticalScroller() );
+  return textScroller;
+}
+
+TextVerticalScroller::TextVerticalScroller()
+: mDuration( DEFAULT_VERTICAL_SCROLL_DURATION ),
+  mScrollTo( 0.0f )
+{
+}
+
+TextVerticalScroller::~TextVerticalScroller()
+{
+}
+
+void TextVerticalScroller::CheckStartAnimation( Actor& sourceActor, float x, float y, float scrollAmount )
+{
+  if ( Equals( scrollAmount, 0.0f, Math::MACHINE_EPSILON_1 ) )
+  {
+    // scroll animation isn't required, set position only
+    if( mScrollAnimation && mScrollAnimation.GetState() == Animation::PLAYING )
+    {
+      mScrollAnimation.Clear();
+    }
+    sourceActor.SetPosition( x, y );
+    return;
+  }
+  float toY = y + scrollAmount;
+  // Either actor or scroll area is changed, so restart animation
+  if( mScrollAnimation )
+  {
+    mScrollAnimation.Clear();
+  }
+  else
+  {
+    // Create animation at first
+    mScrollAnimation = Animation::New( mDuration );
+  }
+  mScrollingActor = sourceActor;
+  mScrollTo = toY;
+
+  // Set animation attribute
+  sourceActor.SetPosition( x, y );
+  mScrollAnimation.AnimateTo( Property(sourceActor, Actor::Property::POSITION_Y), mScrollTo, AlphaFunction::EASE_OUT_SINE );
+  mScrollAnimation.Play();
+}
+
+void TextVerticalScroller::SetDuration( float duration )
+{
+  mDuration = duration;
+}
+
+} // namespace Text
+
+} // namespace Toolkit
+
+} // namespace Dali
diff --git a/dali-toolkit/internal/text/text-vertical-scroller.h b/dali-toolkit/internal/text/text-vertical-scroller.h
new file mode 100644 (file)
index 0000000..f6a005a
--- /dev/null
@@ -0,0 +1,93 @@
+#ifndef DALI_TOOLKIT_TEXT_VERTICAL_SCROLLER_H
+#define DALI_TOOLKIT_TEXT_VERTICAL_SCROLLER_H
+
+/*
+ * 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.
+ * 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.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <dali/public-api/actors/actor.h>
+#include <dali/public-api/animation/animation.h>
+
+// INTERNAL INCLUDES
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Text
+{
+
+class TextVerticalScroller;
+
+typedef IntrusivePtr<TextVerticalScroller> TextVerticalScrollerPtr;
+
+/**
+ * @brief A helper class for scrolling text vertically
+ */
+class TextVerticalScroller : public RefObject, public ConnectionTracker
+{
+public:
+
+  /**
+   * @brief Text Scrolling helper, used to automatically scroll text, StartScroll should be called when scrolling is needed.
+   *
+   */
+  static TextVerticalScrollerPtr New();
+
+  /**
+   * @brief variables required to set up scrolling animation
+   * @param[in] sourceActor actor to be animated
+   * @param[in] x The new x position
+   * @param[in] y The new y position
+   * @param[in] scrollAmount The distance to destination y position for actor to be animated
+   */
+  void CheckStartAnimation( Actor& sourceActor, float x, float y, float scrollAmount );
+
+  /**
+   * @brief Set duration the text should scroll
+   * @param[in] duration The duration in seconds
+   */
+  void SetDuration( float duration );
+
+private: // Implementation
+  /**
+   * Constructor
+   */
+  TextVerticalScroller();
+
+  /**
+   * @brief Virtual Destructor.
+   */
+  virtual ~TextVerticalScroller();
+
+private:
+
+  Animation          mScrollAnimation;          // Animation used to update the actor's position
+  Actor              mScrollingActor;           // The actor being animated
+  float              mDuration;                 // The duration of text scrolling
+  float              mScrollTo;                 // The destination y position
+}; // TextVerticalScroller class
+
+} // namespace Text
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif // DALI_TOOLKIT_TEXT_VERTICAL_SCROLLER_H
index 57c1a48..b2f0cbb 100644 (file)
@@ -110,7 +110,7 @@ const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
       vec2 visualOffset = mix( offset, offset/uSize.xy, offsetSizeMode.xy);\n
 
       mediump vec2 scale        = vec2( length( uModelMatrix[ 0 ].xyz ), length( uModelMatrix[ 1 ].xyz ) );\n
-      mediump vec2 size         = visualSize.xy * scale;\n
+      mediump vec2 size         = visualSize.xy;\n
       \n
       mediump vec2 fixedFactor  = vec2( uFixed[ int( ( aPosition.x + 1.0 ) * 0.5 ) ].x, uFixed[ int( ( aPosition.y  + 1.0 ) * 0.5 ) ].y );\n
       mediump vec2 stretch      = floor( aPosition * 0.5 );\n
@@ -118,7 +118,7 @@ const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
       \n
       mediump vec4 vertexPosition = vec4( fixedFactor + ( size - fixedTotal ) * stretch, 0.0, 1.0 );
       vertexPosition.xy -= size * vec2( 0.5, 0.5 );\n
-      vertexPosition.xy =  vertexPosition.xy / scale + anchorPoint*size + (visualOffset + origin)*uSize.xy;\
+      vertexPosition.xy =  vertexPosition.xy + anchorPoint*size + (visualOffset + origin)*uSize.xy;\
       \n
       vertexPosition = uMvpMatrix * vertexPosition;\n
       \n
index f3b895b..280fac2 100644 (file)
@@ -313,7 +313,7 @@ void TextVisual::DoSetOnStage( Actor& actor )
   }
 
   mImpl->mRenderer = Renderer::New( geometry, shader );
-  mImpl->mRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, Toolkit::DepthIndex::TEXT );
+  mImpl->mRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, Toolkit::DepthIndex::CONTENT );
 
   UpdateRenderer( true ); // Renderer needs textures and to be added to control
 }
index 16044b7..8990c9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -26,6 +26,7 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/internal/helpers/property-helper.h>
 #include <dali-toolkit/internal/visuals/visual-string-constants.h>
 
 namespace Dali
@@ -116,7 +117,7 @@ void Internal::Visual::Base::Impl::CustomShader::SetPropertyMap( const Property:
   Property::Value* vertexShaderValue = shaderMap.Find( Toolkit::Visual::Shader::Property::VERTEX_SHADER, CUSTOM_VERTEX_SHADER );
   if( vertexShaderValue )
   {
-    if( !vertexShaderValue->Get( mVertexShader ) )
+    if( ! GetStringFromProperty( *vertexShaderValue, mVertexShader ) )
     {
       DALI_LOG_ERROR( "'%s' parameter does not correctly specify a string\n", CUSTOM_VERTEX_SHADER );
     }
@@ -125,7 +126,7 @@ void Internal::Visual::Base::Impl::CustomShader::SetPropertyMap( const Property:
   Property::Value* fragmentShaderValue = shaderMap.Find( Toolkit::Visual::Shader::Property::FRAGMENT_SHADER, CUSTOM_FRAGMENT_SHADER );
   if( fragmentShaderValue )
   {
-    if( !fragmentShaderValue->Get( mFragmentShader ) )
+    if( ! GetStringFromProperty( *fragmentShaderValue, mFragmentShader ) )
     {
       DALI_LOG_ERROR( "'%s' parameter does not correctly specify a string\n", CUSTOM_FRAGMENT_SHADER );
     }
index 68620ea..701da0e 100644 (file)
@@ -146,7 +146,7 @@ void Visual::Base::SetProperties( const Property::Map& propertyMap )
 void Visual::Base::SetTransformAndSize( const Property::Map& transform, Size controlSize )
 {
   mImpl->mControlSize = controlSize;
-  mImpl->mTransform.SetPropertyMap( transform );
+  mImpl->mTransform.UpdatePropertyMap( transform );
 
 #if defined(DEBUG_ENABLED)
   std::ostringstream oss;
index ac61e9e..4a1c148 100644 (file)
@@ -71,7 +71,7 @@ public:
   typedef Signal< bool ( AccessibilityManager&, const Dali::TouchEvent& )> AccessibilityActionScrollSignalType; ///< Scroll signal type @SINCE_1_0.0
 
   /**
-   * @brief Accessibility needs four information which will be read by screen-reader.
+   * @brief Enumeration for accessibility that needs four information which will be read by screen-reader.
    *
    * Reading order : Label -> Trait -> Optional (Value and Hint)
    * @SINCE_1_0.0
@@ -86,7 +86,7 @@ public:
   };
 
    /**
-    * @brief Overshoot direction.
+    * @brief Enumeration for overshoot direction.
     * @SINCE_1_0.0
     */
   enum FocusOvershotDirection
@@ -110,15 +110,15 @@ public:
   typedef Signal< void ( Actor ) > FocusedActorActivatedSignalType;
 
   /**
-   * @brief Create a AccessibilityManager handle; this can be initialised with AccessibilityManager::New().
+   * @brief Creates an AccessibilityManager handle; this can be initialised with AccessibilityManager::New().
    *
-   * Calling member functions with an uninitialised handle is not allowed.
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_0.0
    */
   AccessibilityManager();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -126,18 +126,18 @@ public:
   ~AccessibilityManager();
 
   /**
-   * @brief Get the singleton of AccessibilityManager object.
+   * @brief Gets the singleton of AccessibilityManager object.
    *
    * @SINCE_1_0.0
-   * @return A handle to the AccessibilityManager control.
+   * @return A handle to the AccessibilityManager control
    */
   static AccessibilityManager Get();
 
   /**
-   * @brief Set the information of the specified actor's accessibility attribute.
+   * @brief Sets the information of the specified actor's accessibility attribute.
    *
    * @SINCE_1_0.0
-   * @param actor The actor the text to be set with
+   * @param actor The actor, the text to be set with
    * @param type The attribute type the text to be set with
    * @param text The text for the actor's accessibility information
    * @pre The AccessibilityManager has been initialized.
@@ -146,7 +146,7 @@ public:
   void SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text);
 
   /**
-   * @brief Get the text of the specified actor's accessibility attribute.
+   * @brief Gets the text of the specified actor's accessibility attribute.
    *
    * @SINCE_1_0.0
    * @param actor The actor to be queried
@@ -158,10 +158,10 @@ public:
   std::string GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const;
 
   /**
-   * @brief Set the focus order of the actor.
+   * @brief Sets the focus order of the actor.
    *
-   * The focus order of each actor in the focus chain is unique. If
-   * there is another actor assigned with the same focus order
+   * The focus order of each actor in the focus chain is unique.
+   * If there is another actor assigned with the same focus order
    * already, the new actor will be inserted to the focus chain with
    * that focus order, and the focus order of the original actor and
    * all the actors followed in the focus chain will be increased
@@ -179,7 +179,7 @@ public:
   void SetFocusOrder(Actor actor, const unsigned int order);
 
   /**
-   * @brief Get the focus order of the actor.
+   * @brief Gets the focus order of the actor.
    *
    * When the focus order is 0, it means the focus order of the actor
    * is undefined.
@@ -210,7 +210,7 @@ public:
   unsigned int GenerateNewFocusOrder() const;
 
   /**
-   * @brief Get the actor that has the specified focus order.
+   * @brief Gets the actor that has the specified focus order.
    *
    * It will return an empty handle if no actor in the stage
    * has the specified focus order.
@@ -219,15 +219,15 @@ public:
    * @param order The focus order of the actor
    *
    * @return The actor that has the specified focus order or an empty
-   * handle if no actor in the stage has the specified focus order.
+   * handle if no actor in the stage has the specified focus order
    * @pre The AccessibilityManager has been initialized.
    */
   Actor GetActorByFocusOrder(const unsigned int order);
 
   /**
-   * @brief Move the focus to the specified actor.
+   * @brief Moves the focus to the specified actor.
    *
-   * Only one actor can be focused at the same time.  The actor must
+   * Only one actor can be focused at the same time. The actor must
    * have a defined focus order and must be focusable, visible and in
    * the stage.
    *
@@ -240,38 +240,38 @@ public:
   bool SetCurrentFocusActor(Actor actor);
 
   /**
-   * @brief Get the current focused actor.
+   * @brief Gets the current focused actor.
    *
    * @SINCE_1_0.0
-   * @return A handle to the current focused actor or an empty handle if no actor is focused.
+   * @return A handle to the current focused actor or an empty handle if no actor is focused
    * @pre The AccessibilityManager has been initialized.
    */
   Actor GetCurrentFocusActor();
 
   /**
-   * @brief Get the focus group of current focused actor.
+   * @brief Gets the focus group of current focused actor.
    *
    * @SINCE_1_0.0
    * @return A handle to the immediate parent of the current focused
    * actor which is also a focus group, or an empty handle if no actor
-   * is focused.
+   * is focused
    * @pre The AccessibilityManager has been initialized.
    *
    */
   Actor GetCurrentFocusGroup();
 
   /**
-   * @brief Get the focus order of currently focused actor.
+   * @brief Gets the focus order of currently focused actor.
    * @SINCE_1_0.0
    * @return The focus order of the currently focused actor or 0 if no
-   * actor is in focus.
+   * actor is in focus
    * @pre The AccessibilityManager has been initialized.
    *
    */
   unsigned int GetCurrentFocusOrder();
 
   /**
-   * @brief Move the focus to the next focusable actor in the focus
+   * @brief Moves the focus to the next focusable actor in the focus
    * chain (according to the focus traversal order).
    *
    * When the focus movement is wrapped around, the focus will be moved
@@ -284,7 +284,7 @@ public:
   bool MoveFocusForward();
 
   /**
-   * @brief Move the focus to the previous focusable actor in the
+   * @brief Moves the focus to the previous focusable actor in the
    * focus chain (according to the focus traversal order).
    *
    * When the focus movement is wrapped around, the focus will be
@@ -298,7 +298,7 @@ public:
   bool MoveFocusBackward();
 
   /**
-   * @brief Clear the focus from the current focused actor if any, so
+   * @brief Clears the focus from the current focused actor if any, so
    * that no actor is focused in the focus chain.
    *
    * It will emit focus changed signal without current focused actor.
@@ -308,41 +308,41 @@ public:
   void ClearFocus();
 
   /**
-   * @brief Clear the every registered focusable actor from focus-manager.
+   * @brief Clears every registered focusable actor from focus-manager.
    * @SINCE_1_0.0
    * @pre The AccessibilityManager has been initialized.
    */
   void Reset();
 
   /**
-   * @brief Set whether an actor is a focus group that can limit the
+   * @brief Sets whether an actor is a focus group that can limit the
    * scope of focus movement to its child actors in the focus chain.
    *
    * @SINCE_1_0.0
-   * @param actor The actor to be set as a focus group.
-   * @param isFocusGroup Whether to set the actor to be a focus group or not.
+   * @param actor The actor to be set as a focus group
+   * @param isFocusGroup Whether to set the actor to be a focus group or not
    * @pre The AccessibilityManager has been initialized.
    * @pre The Actor has been initialized.
    */
   void SetFocusGroup(Actor actor, bool isFocusGroup);
 
   /**
-   * @brief Check whether the actor is set as a focus group or not.
+   * @brief Checks whether the actor is set as a focus group or not.
    *
    * @SINCE_1_0.0
-   * @param actor The actor to be checked.
-   * @return Whether the actor is set as a focus group.
+   * @param actor The actor to be checked
+   * @return Whether the actor is set as a focus group
    * @pre The AccessibilityManager has been initialized.
    * @pre The Actor has been initialized.
    */
   bool IsFocusGroup(Actor actor) const;
 
   /**
-   * @brief Set whether the group mode is enabled or not.
+   * @brief Sets whether the group mode is enabled or not.
    *
    * When the group mode is enabled, the focus movement will be limited to the child actors
    * of the current focus group including the current focus group itself. The current focus
-   * group is the closest ancestor of the current focused actor that set as a focus group.
+   * group is the closest ancestor of the current focused actor that is set as a focus group.
    * @SINCE_1_0.0
    * @param enabled Whether the group mode is enabled or not
    * @pre The AccessibilityManager has been initialized.
@@ -350,7 +350,7 @@ public:
   void SetGroupMode(bool enabled);
 
   /**
-   * @brief Get whether the group mode is enabled or not.
+   * @brief Gets whether the group mode is enabled or not.
    *
    * @SINCE_1_0.0
    * @return Whether the group mode is enabled or not.
@@ -359,7 +359,7 @@ public:
   bool GetGroupMode() const;
 
   /**
-   * @brief Set whether focus will be moved to the beginning of the
+   * @brief Sets whether focus will be moved to the beginning of the
    * focus chain when it reaches the end or vice versa.
    *
    * When both the wrap mode and the group mode are enabled, focus will be
@@ -371,7 +371,7 @@ public:
   void SetWrapMode(bool wrapped);
 
   /**
-   * @brief Get whether the wrap mode is enabled or not.
+   * @brief Gets whether the wrap mode is enabled or not.
    *
    * @SINCE_1_0.0
    * @return Whether the wrap mode is enabled or not.
@@ -380,7 +380,7 @@ public:
   bool GetWrapMode() const;
 
   /**
-   * @brief Set the focus indicator actor.
+   * @brief Sets the focus indicator actor.
    *
    * This will replace the default focus indicator actor in
    * AccessibilityManager and will be added to the focused actor as a
@@ -394,7 +394,7 @@ public:
   void SetFocusIndicatorActor(Actor indicator);
 
   /**
-   * @brief Get the focus indicator actor.
+   * @brief Gets the focus indicator actor.
    *
    * @SINCE_1_0.0
    * @return A handle to the focus indicator actor
@@ -414,7 +414,7 @@ public:
   /**
    * @brief Returns the current position of the read action.
    * @SINCE_1_0.0
-   * @return The current event position.
+   * @return The current event position
    */
   Vector2 GetReadPosition() const;
 
@@ -428,7 +428,7 @@ public:
    *   void YourCallbackName(Actor originalFocusedActor, Actor currentFocusedActor);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusChangedSignalType& FocusChangedSignal();
@@ -441,7 +441,7 @@ public:
    *   void YourCallbackName(Actor currentFocusedActor, FocusOvershotDirection direction);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusOvershotSignalType& FocusOvershotSignal();
@@ -454,7 +454,7 @@ public:
    *   void YourCallbackName(Actor activatedActor);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusedActorActivatedSignalType& FocusedActorActivatedSignal();
@@ -469,7 +469,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& StatusChangedSignal();
 
@@ -482,7 +482,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionNextSignal();
 
@@ -495,7 +495,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionPreviousSignal();
 
@@ -508,7 +508,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionActivateSignal();
 
@@ -521,7 +521,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadSignal();
 
@@ -534,7 +534,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionOverSignal();
 
@@ -547,7 +547,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadNextSignal();
 
@@ -560,7 +560,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadPreviousSignal();
 
@@ -573,7 +573,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionUpSignal();
 
@@ -586,7 +586,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionDownSignal();
 
@@ -599,7 +599,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionClearFocusSignal();
 
@@ -612,7 +612,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionBackSignal();
 
@@ -625,7 +625,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionScrollUpSignal();
 
@@ -638,7 +638,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionScrollDownSignal();
 
@@ -651,7 +651,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionPageLeftSignal();
 
@@ -664,7 +664,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionPageRightSignal();
 
@@ -677,7 +677,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionPageUpSignal();
 
@@ -690,7 +690,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionPageDownSignal();
 
@@ -703,7 +703,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionMoveToFirstSignal();
 
@@ -716,7 +716,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionMoveToLastSignal();
 
@@ -742,7 +742,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadFromNextSignal();
 
@@ -755,7 +755,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionZoomSignal();
 
@@ -768,7 +768,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadIndicatorInformationSignal();
 
@@ -781,7 +781,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionReadPauseResumeSignal();
 
@@ -794,7 +794,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionSignalType& ActionStartStopSignal();
 
@@ -807,7 +807,7 @@ public:
    *   bool YourCallback( AccessibilityManager& manager, const TouchEvent& event );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   AccessibilityActionScrollSignalType& ActionScrollSignal();
 
index b290856..48e2c8e 100644 (file)
@@ -39,18 +39,18 @@ class Alignment;
 /**
  * @brief Alignment is a container which provides an easy way to align other actors inside its boundary.
  *
- * Additionaly it provides a scaling property to resize the contained actors @see Scaling.
+ * Additionally, it provides a scaling property to resize the contained actors @see Scaling.
  * @SINCE_1_0.0
  * @note The use of scaling property will override all constraints applied to actors.
  *
- * All actors added to an alignment are going to be set with the same anchor point and parent origin. And, if the scaling property is set to a value
+ * All actors added to an alignment are going to be set with the same anchor point and parent origin. And if the scaling property is set to a value
  * different than ScaleNone, constraints as well.
  */
 class DALI_IMPORT_API Alignment : public Control
 {
 public:
   /**
-   * @brief Different types of alignment.
+   * @brief Enumeration for different types of alignment.
    * @SINCE_1_0.0
    */
   enum Type
@@ -64,7 +64,7 @@ public:
   };
 
   /**
-   * @brief Scaling determines how actors are scaled, to match the alignment's boundary.
+   * @brief Scaling determines how actors are scaled to match the alignment's boundary.
    * @SINCE_1_0.0
    */
   enum Scaling
@@ -84,7 +84,7 @@ public:
   struct Padding
   {
     /**
-     * @brief Constructor
+     * @brief Constructor.
      * @SINCE_1_0.0
      */
     Padding()
@@ -96,7 +96,7 @@ public:
     }
 
     /**
-     * @brief Constructor
+     * @brief Constructor.
      *
      * @SINCE_1_0.0
      * @param[in] l Left padding
@@ -119,9 +119,9 @@ public:
   };
 
   /**
-   * @brief Create an Alignment handle; this can be initialised with Alignment::New().
+   * @brief Creates an Alignment handle; this can be initialized with Alignment::New().
    *
-   * Calling member functions with an uninitialised handle is not allowed.
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_0.0
    */
   Alignment();
@@ -130,9 +130,9 @@ public:
    * @brief Creates an alignment control.
    *
    * @SINCE_1_0.0
-   * @param [in] horizontal Specifies how to align actors horizontally. Could be HorizontalLeft, HorizontalCenter or HorizontalRight. By default HorizontalCenter.
-   * @param [in] vertical Specifies how to align actors vertically. Could be VerticalTop, VerticalCenter or VerticalBottom. By default VerticalCenter.
-   * @return A handle to the Alignment control.
+   * @param[in] horizontal Specifies how to align actors horizontally. Could be HorizontalLeft, HorizontalCenter or HorizontalRight. By default, HorizontalCenter
+   * @param[in] vertical Specifies how to align actors vertically. Could be VerticalTop, VerticalCenter or VerticalBottom. By default, VerticalCenter
+   * @return A handle to the Alignment control
    */
   static Alignment New( Type horizontal = HorizontalCenter, Type vertical = VerticalCenter );
 
@@ -140,12 +140,12 @@ public:
    * @brief Copy constructor. Creates another handle that points to the same real object.
    *
    * @SINCE_1_0.0
-   * @param[in] alignment Object to copy.
+   * @param[in] alignment Object to copy
    */
   Alignment(const Alignment& alignment);
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -153,10 +153,10 @@ public:
   ~Alignment();
 
   /**
-   * @brief Downcast a handle to Alignment handle.
+   * @brief Downcasts a handle to Alignment handle.
    *
-   * If handle points to a Alignment the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to an Alignment, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -165,16 +165,16 @@ public:
   static Alignment DownCast( BaseHandle handle );
 
   /**
-   * @brief Sets the new alignment. By default ( HorizontalCenter | VerticalCenter ).
+   * @brief Sets the new alignment. By default, ( HorizontalCenter | VerticalCenter ).
    *
    * @SINCE_1_0.0
-   * @param [in] type The new alignment option.
+   * @param[in] type The new alignment option
    * @note There should only be one horizontal and one vertical policy.
    */
   void SetAlignmentType( Type type );
 
   /**
-   * @brief Get the current alignment combined into a single value.
+   * @brief Gets the current alignment combined into a single value.
    *
    * The values can be tested by using the & operator and the desired
    * flag. e.g.
@@ -186,7 +186,7 @@ public:
    * @endcode
    *
    * @SINCE_1_0.0
-   * @return the alignment value.
+   * @return the alignment value
    */
   Type GetAlignmentType() const;
 
@@ -194,7 +194,7 @@ public:
    * @brief Sets how added actors scale to fit the alignment's boundary.
    *
    * @SINCE_1_0.0
-   * @param[in] scaling The scaling property.
+   * @param[in] scaling The scaling property
    * @see Scaling.
    */
   void SetScaling( Scaling scaling );
@@ -203,24 +203,24 @@ public:
    * @brief Retrieves the scaling property.
    *
    * @SINCE_1_0.0
-   * @return The scaling.
+   * @return The scaling
    * @see Scaling.
    */
   Scaling GetScaling() const;
 
   /**
-   * @brief Set a padding value.
+   * @brief Sets a padding value.
    *
    * @SINCE_1_0.0
-   * @param [in] padding The left, right, top, bottom padding values.
+   * @param[in] padding The left, right, top, bottom padding values
    */
   void SetPadding( const Padding& padding );
 
   /**
-   * @brief Get the padding values.
+   * @brief Gets the padding values.
    *
    * @SINCE_1_0.0
-   * @return The left, right, top, bottom padding values.
+   * @return The left, right, top, bottom padding values
    */
   const Padding& GetPadding() const;
 
@@ -241,7 +241,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Alignment( Internal::Alignment& implementation );
 
@@ -249,7 +249,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL Alignment( Dali::Internal::CustomActor* internal );
   /// @endcond
index e447554..d9fc769 100644 (file)
@@ -90,7 +90,7 @@ class DALI_IMPORT_API Button : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -100,13 +100,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the Button class.
+   * @brief Enumeration for the instance of properties belonging to the Button class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the Button class.
+     * @brief Enumeration for the instance of properties belonging to the Button class.
      * @SINCE_1_0.0
      */
     enum
@@ -209,7 +209,7 @@ public:
 public:
 
   /**
-   * @brief Create an uninitialized Button.
+   * @brief Creates an uninitialized Button.
    *
    * Only derived versions can be instantiated.  Calling member
    * functions with an uninitialized Dali::Object is not allowed.
@@ -233,10 +233,10 @@ public:
   Button& operator=( const Button& button );
 
   /**
-   * @brief Downcast a handle to Button handle.
+   * @brief Downcasts a handle to Button handle.
    *
-   * If handle points to a Button the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a Button, the downcast produces valid handle.
+   * If not the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -245,7 +245,7 @@ public:
   static Button DownCast( BaseHandle handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -262,7 +262,7 @@ public:
    * No signals are emitted when the \e disabled property is set.
    *
    * @SINCE_1_0.0
-   * @param[in] disabled property.
+   * @param[in] disabled Disabled property
    */
   void SetDisabled( bool disabled ) DALI_DEPRECATED_API;
 
@@ -271,7 +271,7 @@ public:
    *
    * @brief Returns if the button is disabled.
    * @SINCE_1_0.0
-   * @return \e true if the button is \e disabled.
+   * @return \e true if the button is \e disabled
    */
   bool IsDisabled() const DALI_DEPRECATED_API;
 
@@ -284,7 +284,7 @@ public:
    * but no signal is emitted.
    *
    * @SINCE_1_0.0
-   * @param[in] autoRepeating \e autorepeating property.
+   * @param[in] autoRepeating \e autorepeating property
    */
   void SetAutoRepeating( bool autoRepeating ) DALI_DEPRECATED_API;
 
@@ -293,7 +293,7 @@ public:
    *
    * @brief Returns if the autorepeating property is set.
    * @SINCE_1_0.0
-   * @return \e true if the \e autorepeating property is set.
+   * @return \e true if the \e autorepeating property is set
    */
   bool IsAutoRepeating() const DALI_DEPRECATED_API;
 
@@ -302,10 +302,10 @@ public:
    *
    * @brief Sets the initial autorepeating delay.
    *
-   * By default this value is set to 0.15 seconds.
+   * By default, this value is set to 0.15 seconds.
    *
    * @SINCE_1_0.0
-   * @param[in] initialAutoRepeatingDelay in seconds.
+   * @param[in] initialAutoRepeatingDelay in seconds
    * @pre initialAutoRepeatingDelay must be greater than zero.
    */
   void SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) DALI_DEPRECATED_API;
@@ -315,7 +315,7 @@ public:
    *
    * @brief Gets the initial autorepeating delay in seconds.
    * @SINCE_1_0.0
-   * @return the initial autorepeating delay in seconds.
+   * @return The initial autorepeating delay in seconds
    */
   float GetInitialAutoRepeatingDelay() const DALI_DEPRECATED_API;
 
@@ -324,10 +324,10 @@ public:
    *
    * @brief Sets the next autorepeating delay.
    *
-   * By default this value is set to 0.05 seconds.
+   * By default, this value is set to 0.05 seconds.
    *
    * @SINCE_1_0.0
-   * @param[in] nextAutoRepeatingDelay in seconds.
+   * @param[in] nextAutoRepeatingDelay in seconds
    * @pre nextAutoRepeatingDelay must be greater than zero.
    */
   void SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) DALI_DEPRECATED_API;
@@ -337,7 +337,7 @@ public:
    *
    * @brief Gets the next autorepeating delay in seconds.
    * @SINCE_1_0.0
-   * @return the next autorepeating delay in seconds.
+   * @return The next autorepeating delay in seconds
    */
   float GetNextAutoRepeatingDelay() const DALI_DEPRECATED_API;
 
@@ -349,7 +349,7 @@ public:
    * If the \e togglable property is set to \e true, then the \e autorepeating property is set to false.
    *
    * @SINCE_1_0.0
-   * @param[in] togglable property.
+   * @param[in] togglable Togglable property
    */
   void SetTogglableButton( bool togglable ) DALI_DEPRECATED_API;
 
@@ -358,7 +358,7 @@ public:
    *
    * @brief Returns if the togglable property is set.
    * @SINCE_1_0.0
-   * @return \e true if the \e togglable property is set.
+   * @return \e true if the \e togglable property is set
    */
   bool IsTogglableButton() const DALI_DEPRECATED_API;
 
@@ -372,7 +372,7 @@ public:
    * Emits a Button::StateChangedSignal() signal.
    *
    * @SINCE_1_0.0
-   * @param[in] selected property.
+   * @param[in] selected Selected property
    */
   void SetSelected( bool selected ) DALI_DEPRECATED_API;
 
@@ -381,7 +381,7 @@ public:
    *
    * @brief Returns if the selected property is set and the button is togglable.
    * @SINCE_1_0.0
-   * @return \e true if the button is \e selected.
+   * @return \e true if the button is \e selected
    */
   bool IsSelected() const DALI_DEPRECATED_API;
 
@@ -391,7 +391,7 @@ public:
    * @brief Sets the animation time.
    *
    * @SINCE_1_0.0
-   * @param[in] animationTime The animation time in seconds.
+   * @param[in] animationTime The animation time in seconds
    */
   void SetAnimationTime( float animationTime ) DALI_DEPRECATED_API;
 
@@ -401,7 +401,7 @@ public:
    * @brief Retrieves button's animation time.
    *
    * @SINCE_1_0.0
-   * @return The animation time in seconds.
+   * @return The animation time in seconds
    */
   float GetAnimationTime() const DALI_DEPRECATED_API;
 
@@ -411,7 +411,7 @@ public:
    * @brief Sets the button's label.
    *
    * @SINCE_1_0.0
-   * @param[in] label The label text.
+   * @param[in] label The label text
    */
   void SetLabelText( const std::string& label ) DALI_DEPRECATED_API;
 
@@ -421,7 +421,7 @@ public:
    * @brief Gets the label.
    *
    * @SINCE_1_0.0
-   * @return The label text.
+   * @return The label text
    */
   std::string GetLabelText() const DALI_DEPRECATED_API;
 
@@ -431,7 +431,7 @@ public:
    * @brief Sets the unselected button image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The button image.
+   * @param[in] filename The button image
    */
   void SetUnselectedImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -442,7 +442,7 @@ public:
    * @brief Sets the background image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The background image.
+   * @param[in] filename The background image
    */
   void SetBackgroundImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -452,7 +452,7 @@ public:
    * @brief Sets the selected image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The selected image.
+   * @param[in] filename The selected image
    */
   void SetSelectedImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -463,7 +463,7 @@ public:
    * @brief Sets the selected background image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The selected background image.
+   * @param[in] filename The selected background image
    */
   void SetSelectedBackgroundImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -474,7 +474,7 @@ public:
    * @brief Sets the disabled background image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The disabled background image.
+   * @param[in] filename The disabled background image
    */
   void SetDisabledBackgroundImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -484,7 +484,7 @@ public:
    * @brief Sets the disabled button image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The disabled button image.
+   * @param[in] filename The disabled button image
    */
   void SetDisabledImage( const std::string& filename ) DALI_DEPRECATED_API;
 
@@ -495,17 +495,17 @@ public:
    * @brief Sets the disabled selected button image.
    *
    * @SINCE_1_0.0
-   * @param[in] filename The disabled selected button image.
+   * @param[in] filename The disabled selected button image
    */
   void SetDisabledSelectedImage( const std::string& filename ) DALI_DEPRECATED_API;
 
   /**
-   * @DEPRECATED_1_0.50. Instead, use SetLabelText.
+   * @DEPRECATED_1_0.50. Instead, use SetLabelText
    *
    * @brief Sets the label with an actor.
    *
    * @SINCE_1_0.0
-   * @param[in]  label The actor to use as a label
+   * @param[in] label The actor to use as a label
    */
   void SetLabel( Actor label ) DALI_DEPRECATED_API;
 
@@ -515,7 +515,7 @@ public:
    * @brief Sets the button image.
    *
    * @SINCE_1_0.0
-   * @param[in]  image The button image.
+   * @param[in] image The button image
    */
   void SetButtonImage( Image image ) DALI_DEPRECATED_API;
 
@@ -525,7 +525,7 @@ public:
    * @brief Sets the selected image.
    *
    * @SINCE_1_0.0
-   * @param[in]  image The selected image.
+   * @param[in] image The selected image
    */
   void SetSelectedImage( Image image ) DALI_DEPRECATED_API;
 
@@ -536,7 +536,7 @@ public:
    *
    * @SINCE_1_0.0
    * @remarks Avoid using this method as it's a legacy code.
-   * @return     An actor with the button image.
+   * @return An actor with the button image
    */
   Actor GetButtonImage() const DALI_DEPRECATED_API;
 
@@ -547,14 +547,14 @@ public:
    *
    * @SINCE_1_0.0
    * @remarks Avoid using this method as it's a legacy code.
-   * @return     An actor with the selected image.
+   * @return An actor with the selected image
    */
   Actor GetSelectedImage() const DALI_DEPRECATED_API;
 
 public: //Signals
 
   /**
-   * @brief Button signal type
+   * @brief Button signal type.
    * @SINCE_1_0.0
    */
   typedef Signal< bool ( Button ) > ButtonSignalType;
@@ -567,7 +567,7 @@ public: //Signals
    *   bool YourCallbackName( Button button );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   ButtonSignalType& PressedSignal();
 
@@ -579,7 +579,7 @@ public: //Signals
    *   bool YourCallbackName( Button button );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   ButtonSignalType& ReleasedSignal();
 
@@ -591,7 +591,7 @@ public: //Signals
    *   bool YourCallbackName( Button button );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   ButtonSignalType& ClickedSignal();
 
@@ -605,7 +605,7 @@ public: //Signals
    *   bool YourCallbackName( Button button );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   ButtonSignalType& StateChangedSignal();
 
@@ -616,7 +616,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Button( Internal::Button& implementation );
 
@@ -624,7 +624,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL Button( Dali::Internal::CustomActor* internal );
   /// @endcond
index 4473734..301a810 100644 (file)
@@ -41,7 +41,7 @@ class CheckBoxButton;
 /**
  * @brief CheckBoxButton provides a check box button which user can check or uncheck.
  *
- * By default a CheckBoxButton emits a Button::ClickedSignal() signal when the button changes its state to selected or unselected.
+ * By default, a CheckBoxButton emits a Button::ClickedSignal() signal when the button changes its state to selected or unselected.
  *
  * The button's appearance could be modified by Button::SetUnselectedImage, Button::SetBackgroundImage,
  * Button::SetSelectedImage, Button::SetSelectedBackgroundImage, Button::SetDisabledBackgroundImage,
@@ -83,7 +83,7 @@ class DALI_IMPORT_API CheckBoxButton : public Button
 public:
 
   /**
-   * @brief Create an uninitialized CheckBoxButton; this can be initialized with CheckBoxButton::New().
+   * @brief Creates an uninitialized CheckBoxButton; this can be initialized with CheckBoxButton::New().
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
    */
@@ -105,7 +105,7 @@ public:
   CheckBoxButton& operator=( const CheckBoxButton& checkBox );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -113,20 +113,20 @@ public:
   ~CheckBoxButton();
 
   /**
-   * @brief Create an initialized CheckBoxButton.
+   * @brief Creates an initialized CheckBoxButton.
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static CheckBoxButton New();
 
   /**
-   * @brief Downcast a handle to CheckBoxButton handle.
+   * @brief Downcasts a handle to CheckBoxButton handle.
    *
-   * If handle points to a CheckBoxButton the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * If handle points to a CheckBoxButton, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a CheckBoxButton or an uninitialized handle
+   * @return Handle to a CheckBoxButton or an uninitialized handle
    */
   static CheckBoxButton DownCast( BaseHandle handle );
 
@@ -136,14 +136,14 @@ public: // Not intended for application developers
   /**
    * @brief Creates a handle using the Toolkit::Internal implementation.
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL CheckBoxButton( Internal::CheckBoxButton& implementation );
 
   /**
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL CheckBoxButton( Dali::Internal::CustomActor* internal );
   /// @endcond
index c0535fe..f3cbea8 100644 (file)
@@ -43,7 +43,7 @@ class PushButton;
 /**
  * @brief A PushButton changes its appearance when is pressed and returns to its original when is released.
  *
- * By default a PushButton emits a Button::PressedSignal() signal when the button is pressed, a Button::ClickedSignal() signal when it's clicked
+ * By default, a PushButton emits a Button::PressedSignal() signal when the button is pressed, a Button::ClickedSignal() signal when it's clicked.
  * and a Button::ReleasedSignal() signal when it's released or having pressed it, the touch point leaves the boundary of the button.
  *
  * Usage example: -
@@ -82,7 +82,7 @@ class PushButton;
  * }
  * @endcode
  *
- * See Button for more detail on signals and modifying appearance via properties.
+ * See Button for more details on signals and modifying appearance via properties.
  * @SINCE_1_0.0
  */
 class DALI_IMPORT_API PushButton : public Button
@@ -90,7 +90,7 @@ class DALI_IMPORT_API PushButton : public Button
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -100,13 +100,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the PushButton class.
+   * @brief Enumeration for the instance of properties belonging to the PushButton class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the PushButton class.
+     * @brief Enumeration for the instance of properties belonging to the PushButton class.
      * @SINCE_1_0.0
      */
     enum
@@ -122,7 +122,7 @@ public:
 public:
 
   /**
-   * @brief Create an uninitialized PushButton; this can be initialized with PushButton::New().
+   * @brief Creates an uninitialized PushButton; this can be initialized with PushButton::New().
    *
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
@@ -145,7 +145,7 @@ public:
   PushButton& operator=( const PushButton& pushButton );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -153,18 +153,18 @@ public:
   ~PushButton();
 
   /**
-   * @brief Create an initialized PushButton.
+   * @brief Creates an initialized PushButton.
    *
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static PushButton New();
 
   /**
-   * @brief Downcast a handle to PushButton handle.
+   * @brief Downcasts a handle to PushButton handle.
    *
-   * If handle points to a PushButton the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a PushButton, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -183,7 +183,7 @@ public:
    * @brief Sets the unselected image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetButtonImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -195,7 +195,7 @@ public:
    * @brief Sets the background image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetBackgroundImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -207,7 +207,7 @@ public:
    * @brief Sets the selected image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetSelectedImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -219,7 +219,7 @@ public:
    * @brief Sets the selected background image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetSelectedBackgroundImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -231,7 +231,7 @@ public:
    * @brief Sets the disabled background image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetDisabledBackgroundImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -243,7 +243,7 @@ public:
    * @brief Sets the disabled image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetDisabledImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -255,7 +255,7 @@ public:
    * @brief Sets the disabled selected image with an Actor.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Actor to use.
+   * @param[in] image The Actor to use
    */
   void SetDisabledSelectedImage( Actor image ) DALI_DEPRECATED_API;
 
@@ -267,7 +267,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL PushButton( Internal::PushButton& implementation );
 
@@ -275,7 +275,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL PushButton( Dali::Internal::CustomActor* internal );
   /// @endcond
index 99a4815..58b8604 100644 (file)
@@ -60,7 +60,7 @@ class RadioButton;
  * Usage example: -
  *
  * @code
- * // in Creating a DALi Application
+ * // In Creating a DALi Application
  *
  * // Create a group to bind two or more RadioButtons together
  * Actor radioGroup = Actor::New();
@@ -88,7 +88,7 @@ class DALI_IMPORT_API RadioButton: public Button
 {
  public:
   /**
-   * @brief Create an uninitialized RadioButton; this can be initialized with RadioButton::New().
+   * @brief Creates an uninitialized RadioButton; this can be initialized with RadioButton::New().
    *
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
@@ -111,7 +111,7 @@ class DALI_IMPORT_API RadioButton: public Button
   RadioButton& operator=( const RadioButton& radioButton );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -119,28 +119,27 @@ class DALI_IMPORT_API RadioButton: public Button
   ~RadioButton();
 
   /**
-   * @brief Create an initialized RadioButton.
+   * @brief Creates an initialized RadioButton.
    *
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static RadioButton New();
 
   /**
-   * @brief Create an initialized RadioButton with given label.
+   * @brief Creates an initialized RadioButton with given label.
    *
    * @SINCE_1_0.0
-   * @param[in] label The button label.
-   *
-   * @return A handle to a newly allocated Dali resource.
+   * @param[in] label The button label
+   * @return A handle to a newly allocated Dali resource
    */
   static RadioButton New( const std::string& label );
 
   /**
-   * @brief Downcast a handle to RadioButton handle.
+   * @brief Downcasts a handle to RadioButton handle.
    *
-   * If handle points to a RadioButton the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a RadioButton, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -155,7 +154,7 @@ class DALI_IMPORT_API RadioButton: public Button
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL RadioButton( Internal::RadioButton& implementation );
 
@@ -163,7 +162,7 @@ class DALI_IMPORT_API RadioButton: public Button
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL RadioButton( Dali::Internal::CustomActor* internal );
   /// @endcond
index 18dd3fd..c94ebb1 100644 (file)
@@ -121,17 +121,6 @@ Toolkit::Visual::Base GetVisualByName(
   return visualHandle;
 }
 
-void SetDefaultTransform( Property::Map& propertyMap )
-{
-  propertyMap.Clear();
-  propertyMap
-    .Add( Toolkit::DevelVisual::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
-    .Add( Toolkit::DevelVisual::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
-    .Add( Toolkit::DevelVisual::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
-    .Add( Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
-    .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
-}
-
 /**
  * Creates control through type registry
  */
@@ -1212,9 +1201,7 @@ void Control::OnSizeSet(const Vector3& targetSize)
   if( visual )
   {
     Vector2 size( targetSize );
-    Property::Map transformMap;
-    SetDefaultTransform( transformMap );
-    visual.SetTransformAndSize( transformMap, size );
+    visual.SetTransformAndSize( Property::Map(), size ); // Send an empty map as we do not want to modify the visual's set transform
   }
 }
 
@@ -1253,10 +1240,7 @@ void Control::OnRelayout( const Vector2& size, RelayoutContainer& container )
   Toolkit::Visual::Base visual = GetVisual( Toolkit::Control::Property::BACKGROUND );
   if( visual )
   {
-    Vector2 controlSize( size );
-    Property::Map transformMap;
-    SetDefaultTransform( transformMap );
-    visual.SetTransformAndSize( transformMap, controlSize );
+    visual.SetTransformAndSize( Property::Map(), size ); // Send an empty map as we do not want to modify the visual's set transform
   }
 }
 
index 729cf80..45eff9f 100644 (file)
@@ -68,11 +68,11 @@ public:
   // Creation & Destruction
 
   /**
-   * @brief Create a new ControlImpl instance that does not require touch by default.
+   * @brief Creates a new ControlImpl instance that does not require touch by default.
    *
-   * If touch is required then the user can connect to this class' touch signal.
+   * If touch is required, then the user can connect to this class' touch signal.
    * @SINCE_1_0.0
-   * @return A handle to the ControlImpl instance.
+   * @return A handle to the ControlImpl instance
    */
   static Toolkit::Control New();
 
@@ -114,10 +114,10 @@ public:
   void SetBackgroundImage( Image image );
 
   /**
-   * @brief Set the background with a property map.
+   * @brief Sets the background with a property map.
    *
    * @SINCE_1_0.0
-   * @param[in] map The background property map.
+   * @param[in] map The background property map
    */
   void SetBackground(const Property::Map& map);
 
@@ -136,7 +136,7 @@ public:
    * EnableGestureDetection(Gesture::Type(Gesture::Pinch | Gesture::Tap | Gesture::Pan));
    * @endcode
    * @SINCE_1_0.0
-   * @param[in]  type  The gesture type(s) to enable.
+   * @param[in] type The gesture type(s) to enable
    */
   void EnableGestureDetection( Gesture::Type type );
 
@@ -145,18 +145,18 @@ public:
    *
    * Like EnableGestureDetection, this can also be called using bitwise or.
    * @SINCE_1_0.0
-   * @param[in]  type  The gesture type(s) to disable.
+   * @param[in] type The gesture type(s) to disable
    * @see EnableGetureDetection
    */
   void DisableGestureDetection( Gesture::Type type );
 
   /**
    * @brief If deriving classes wish to fine tune pinch gesture
-   * detection then they can access the gesture detector through this
+   * detection, then they can access the gesture detector through this
    * API and modify the detection.
    *
    * @SINCE_1_0.0
-   * @return The pinch gesture detector.
+   * @return The pinch gesture detector
    * @pre Pinch detection should have been enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -164,11 +164,11 @@ public:
 
   /**
    * @brief If deriving classes wish to fine tune pan gesture
-   * detection then they can access the gesture detector through this
+   * detection, then they can access the gesture detector through this
    * API and modify the detection.
    *
    * @SINCE_1_0.0
-   * @return The pan gesture detector.
+   * @return The pan gesture detector
    * @pre Pan detection should have been enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -176,11 +176,11 @@ public:
 
   /**
    * @brief If deriving classes wish to fine tune tap gesture
-   * detection then they can access the gesture detector through this
+   * detection, then they can access the gesture detector through this
    * API and modify the detection.
    *
    * @SINCE_1_0.0
-   * @return The tap gesture detector.
+   * @return The tap gesture detector
    * @pre Tap detection should have been enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -188,11 +188,11 @@ public:
 
   /**
    * @brief If deriving classes wish to fine tune long press gesture
-   * detection then they can access the gesture detector through this
+   * detection, then they can access the gesture detector through this
    * API and modify the detection.
    *
    * @SINCE_1_0.0
-   * @return The long press gesture detector.
+   * @return The long press gesture detector
    * @pre Long press detection should have been enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -207,7 +207,7 @@ public:
    *
    * The control doesn't support it by default.
    * @SINCE_1_0.0
-   * @param[in] isSupported Whether this control supports two dimensional keyboard navigation.
+   * @param[in] isSupported Whether this control supports two dimensional keyboard navigation
    */
   void SetKeyboardNavigationSupport( bool isSupported );
 
@@ -215,7 +215,7 @@ public:
    * @brief Gets whether this control supports two dimensional keyboard navigation.
    *
    * @SINCE_1_0.0
-   * @return true if this control supports two dimensional keyboard navigation.
+   * @return true if this control supports two dimensional keyboard navigation
    */
   bool IsKeyboardNavigationSupported();
 
@@ -242,9 +242,9 @@ public:
    * @brief Sets whether this control is a focus group for keyboard navigation.
    *
    * (i.e. the scope of keyboard focus movement
-   * can be limitied to its child actors). The control is not a focus group by default.
+   * can be limited to its child actors). The control is not a focus group by default.
    * @SINCE_1_0.0
-   * @param[in] isFocusGroup Whether this control is set as a focus group for keyboard navigation.
+   * @param[in] isFocusGroup Whether this control is set as a focus group for keyboard navigation
    */
   void SetAsKeyboardFocusGroup( bool isFocusGroup );
 
@@ -252,7 +252,7 @@ public:
    * @brief Gets whether this control is a focus group for keyboard navigation.
    *
    * @SINCE_1_0.0
-   * @return true if this control is set as a focus group for keyboard navigation.
+   * @return true if this control is set as a focus group for keyboard navigation
    */
   bool IsKeyboardFocusGroup();
 
@@ -292,8 +292,8 @@ public:
    * @brief Called by the KeyInputFocusManager to emit key event signals.
    *
    * @SINCE_1_0.0
-   * @param[in] event The key event.
-   * @return True if the event was consumed.
+   * @param[in] event The key event
+   * @return True if the event was consumed
    */
   DALI_INTERNAL bool EmitKeyEventSignal( const KeyEvent& event );
   /// @endcond
@@ -385,7 +385,7 @@ protected: // For derived classes to call
   Dali::Animation CreateTransition( const Toolkit::TransitionData& transitionData );
 
   /**
-   * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal
+   * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal.
    *
    * Should be called last by the control after it acts on the Input Focus change.
    *
@@ -508,7 +508,7 @@ protected: // Helpers for deriving classes
   // Construction
 
   /**
-   * @brief Flags for the constructor
+   * @brief Flags for the constructor.
    * @SINCE_1_0.0
    */
   enum ControlBehaviour
@@ -525,7 +525,7 @@ protected: // Helpers for deriving classes
   static const int CONTROL_BEHAVIOUR_FLAG_COUNT = Log< LAST_CONTROL_BEHAVIOUR_FLAG - 1 >::value + 1;      ///< Total count of flags
 
   /**
-   * @brief Control constructor
+   * @brief Control constructor.
    *
    * @SINCE_1_0.0
    * @param[in] behaviourFlags Behavioural flags from ControlBehaviour enum
@@ -558,7 +558,7 @@ public: // API for derived classes to override
    * Could be overridden by derived classes.
    *
    * @SINCE_1_0.0
-   * @param[in] child The added actor.
+   * @param[in] child The added actor
    */
   virtual void OnControlChildAdd( Actor& child ) DALI_DEPRECATED_API;
 
@@ -570,7 +570,7 @@ public: // API for derived classes to override
    * Could be overridden by derived classes.
    *
    * @SINCE_1_0.0
-   * @param[in] child The removed actor.
+   * @param[in] child The removed actor
    */
   virtual void OnControlChildRemove( Actor& child ) DALI_DEPRECATED_API;
 
@@ -580,8 +580,8 @@ public: // API for derived classes to override
    * @brief This method should be overridden by deriving classes requiring notifications when the style changes.
    *
    * @SINCE_1_0.0
-   * @param[in] styleManager  The StyleManager object.
-   * @param[in] change  Information denoting what has changed.
+   * @param[in] styleManager The StyleManager object
+   * @param[in] change Information denoting what has changed
    */
   virtual void OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change );
 
@@ -592,7 +592,7 @@ public: // API for derived classes to override
    *
    * Derived classes should override this to perform custom accessibility activation.
    * @SINCE_1_0.0
-   * @return true if this control can perform accessibility activation.
+   * @return true if this control can perform accessibility activation
    */
   virtual bool OnAccessibilityActivated();
 
@@ -601,7 +601,7 @@ public: // API for derived classes to override
    * pan gesture.
    *
    * @SINCE_1_0.0
-   * @param[in] gesture The pan gesture.
+   * @param[in] gesture The pan gesture
    * @return true if the pan gesture has been consumed by this control
    */
   virtual bool OnAccessibilityPan( PanGesture gesture );
@@ -611,7 +611,7 @@ public: // API for derived classes to override
    * touch event.
    *
    * @SINCE_1_0.0
-   * @param[in] touchEvent The touch event.
+   * @param[in] touchEvent The touch event
    * @return true if the touch event has been consumed by this control
    */
   virtual bool OnAccessibilityTouch( const TouchEvent& touchEvent );
@@ -658,21 +658,21 @@ public: // API for derived classes to override
    *
    * A control needs to override this function in order to support two dimensional keyboard navigation.
    * @SINCE_1_0.0
-   * @param[in] currentFocusedActor The current focused actor.
-   * @param[in] direction The direction to move the focus towards.
-   * @param[in] loopEnabled Whether the focus movement should be looped within the control.
-   * @return the next keyboard focusable actor in this control or an empty handle if no actor can be focused.
+   * @param[in] currentFocusedActor The current focused actor
+   * @param[in] direction The direction to move the focus towards
+   * @param[in] loopEnabled Whether the focus movement should be looped within the control
+   * @return The next keyboard focusable actor in this control or an empty handle if no actor can be focused
    */
   virtual Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled );
 
   /**
    * @brief Informs this control that its chosen focusable actor will be focused.
    *
-   * This allows the application to preform any actions if wishes
+   * This allows the application to perform any actions if wishes
    * before the focus is actually moved to the chosen actor.
    *
    * @SINCE_1_0.0
-   * @param[in] commitedFocusableActor The commited focusable actor.
+   * @param[in] commitedFocusableActor The commited focusable actor
    */
   virtual void OnKeyboardFocusChangeCommitted( Actor commitedFocusableActor );
 
@@ -681,7 +681,7 @@ public: // API for derived classes to override
    *
    * Derived classes should override this to perform custom actions.
    * @SINCE_1_0.0
-   * @return true if this control supported this action.
+   * @return true if this control supported this action
    */
   virtual bool OnKeyboardEnter();
 
@@ -695,8 +695,8 @@ public: // API for derived classes to override
    * pinch scale.
    *
    * @SINCE_1_0.0
-   * @param[in]  pinch  The pinch gesture.
-   * @note If overridden, then the default behaviour will not occur.
+   * @param[in] pinch The pinch gesture
+   * @note If overridden, then the default behavior will not occur.
    * @note Pinch detection should be enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -709,8 +709,8 @@ public: // API for derived classes to override
    * is enabled.
    *
    * @SINCE_1_0.0
-   * @param[in]  pan  The pan gesture.
-   * @note There is no default behaviour with panning.
+   * @param[in] pan The pan gesture
+   * @note There is no default behavior with panning.
    * @note Pan detection should be enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -723,8 +723,8 @@ public: // API for derived classes to override
    * is enabled.
    *
    * @SINCE_1_0.0
-   * @param[in]  tap  The tap gesture.
-   * @note There is no default behaviour with a tap.
+   * @param[in] tap The tap gesture
+   * @note There is no default behavior with a tap.
    * @note Tap detection should be enabled via EnableGestureDetection().
    * @see EnableGestureDetection
    */
@@ -737,7 +737,7 @@ public: // API for derived classes to override
    * detection is enabled.
    *
    * @SINCE_1_0.0
-   * @param[in]  longPress  The long press gesture.
+   * @param[in] longPress The long press gesture
    * @note There is no default behaviour associated with a long press.
    * @note Long press detection should be enabled via EnableGestureDetection().
    * @see EnableGestureDetection
@@ -757,7 +757,7 @@ public: // API for derived classes to override
   virtual void SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback );
 
   /**
-   * @brief Retrieve the extension for this control
+   * @brief Retrieves the extension for this control.
    *
    * @SINCE_1_0.0
    * @return The extension if available, NULL otherwise
@@ -781,22 +781,22 @@ private:
 };
 
 /**
- * @brief Get implementation from the handle.
+ * @brief Gets implementation from the handle.
  *
  * @SINCE_1_0.0
  * @param handle
- * @return implementation
+ * @return Implementation
  * @pre handle is initialized and points to a control
  */
 DALI_IMPORT_API Internal::Control& GetImplementation( Dali::Toolkit::Control& handle );
 
 /**
- * @brief Get implementation from the handle.
+ * @brief Gets implementation from the handle.
  *
  * @SINCE_1_0.0
  * @param handle
- * @return implementation
- * @pre handle is initialized and points to a control
+ * @return Implementation
+ * @pre Handle is initialized and points to a control.
  */
 DALI_IMPORT_API const Internal::Control& GetImplementation( const Dali::Toolkit::Control& handle );
 
index c6e3b1d..3f2f169 100644 (file)
@@ -73,7 +73,7 @@ class DALI_IMPORT_API Control : public CustomActor
 public:
 
   /**
-   * @brief The start and end property ranges for control.
+   * @brief Enumeration for the start and end property ranges for control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -84,44 +84,44 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the Control class.
+   * @brief Enumeration for the instance of properties belonging to the Control class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the Control class.
+     * @brief Enumeration for the instance of properties belonging to the Control class.
      * @SINCE_1_0.0
      */
     enum
     {
       /**
-       * @brief name "styleName", type std::string
+       * @brief name "styleName", type std::string.
        * @SINCE_1_0.0
        * @see SetStyleName
        */
       STYLE_NAME = PROPERTY_START_INDEX,
       /**
        * @DEPRECATED_1_1.3
-       * @brief name "background-color", mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4
+       * @brief name "backgroundColor", mutually exclusive with BACKGROUND_IMAGE & BACKGROUND,  type Vector4.
        * @SINCE_1_0.0
        * @see SetStyleName
        */
       BACKGROUND_COLOR,
       /**
        * @DEPRECATED_1_1.3
-       * @brief name "background-image", mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map
+       * @brief name "backgroundImage", mutually exclusive with BACKGROUND_COLOR & BACKGROUND,  type Map.
        * @SINCE_1_0.0
        */
       BACKGROUND_IMAGE,
       /**
-       * @brief name "keyInputFocus", type bool
+       * @brief name "keyInputFocus", type bool.
        * @SINCE_1_0.0
        * @see SetKeyInputFocus
        */
       KEY_INPUT_FOCUS,
       /**
-       * @brief name "background", mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or std::string for URL
+       * @brief name "background", mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or std::string for URL.
        * @SINCE_1_1.3
        */
       BACKGROUND,
@@ -135,7 +135,7 @@ public:
   struct KeyboardFocus
   {
     /**
-     * @brief Keyboard focus direction
+     * @brief Keyboard focus direction.
      * @SINCE_1_0.0
      */
     enum Direction
@@ -160,15 +160,15 @@ public:
 public: // Creation & Destruction
 
   /**
-   * @brief Create a new instance of a Control.
+   * @brief Creates a new instance of a Control.
    *
    * @SINCE_1_0.0
-   * @return A handle to a new Control.
+   * @return A handle to a new Control
    */
   static Control New();
 
   /**
-   * @brief Create an uninitialized Control handle.
+   * @brief Creates an uninitialized Control handle.
    *
    * Only derived versions can be instantiated.  Calling member
    * functions with an uninitialized Dali::Object is not allowed.
@@ -201,17 +201,17 @@ public: // operators
    * Changes this handle to point to another real object.
    * @SINCE_1_0.0
    * @param[in] handle Object to assign this to
-   * @return reference to this
+   * @return Reference to this
    */
   Control& operator=( const Control& handle );
 
 public:
 
   /**
-   * @brief Downcast a handle to Control handle.
+   * @brief Downcasts a handle to Control handle.
    *
-   * If handle points to a Control the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a Control, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -242,7 +242,7 @@ public:
    * As the key input focus mechanism works like a stack, the top most control receives all the key events, and passes on the
    * unhandled events to the controls below in the stack. A control in the stack will regain key input focus when there are no more
    * controls above it in the focus stack.
-   * To query for the conrol which is on top of the focus stack use Dali::Toolkit::KeyInputFocusManager::GetCurrentKeyboardFocusActor().
+   * To query for the control which is on top of the focus stack use Dali::Toolkit::KeyInputFocusManager::GetCurrentKeyboardFocusActor().
    */
   bool HasKeyInputFocus();
 
@@ -261,7 +261,7 @@ public:
    * @brief Retrieves the pinch gesture detector of the control.
    *
    * @SINCE_1_0.0
-   * @return The pinch gesture detector.
+   * @return The pinch gesture detector
    * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   PinchGestureDetector GetPinchGestureDetector() const;
@@ -270,7 +270,7 @@ public:
    * @brief Retrieves the pan gesture detector of the control.
    *
    * @SINCE_1_0.0
-   * @return The pan gesture detector.
+   * @return The pan gesture detector
    * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   PanGestureDetector GetPanGestureDetector() const;
@@ -279,7 +279,7 @@ public:
    * @brief Retrieves the tap gesture detector of the control.
    *
    * @SINCE_1_0.0
-   * @return The tap gesture detector.
+   * @return The tap gesture detector
    * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   TapGestureDetector GetTapGestureDetector() const;
@@ -288,7 +288,7 @@ public:
    * @brief Retrieves the long press gesture detector of the control.
    *
    * @SINCE_1_0.0
-   * @return The long press gesture detector.
+   * @return The long press gesture detector
    * @note Will return an empty handle if the control does not handle the gesture itself.
    */
   LongPressGestureDetector GetLongPressGestureDetector() const;
@@ -299,14 +299,14 @@ public:
    * @brief Sets the name of the style to be applied to the control.
    *
    * @SINCE_1_0.0
-   * @param[in] styleName A string matching a style described in a stylesheet.
+   * @param[in] styleName A string matching a style described in a stylesheet
    */
   void SetStyleName( const std::string& styleName );
 
   /**
    * @brief Retrieves the name of the style to be applied to the control (if any).
    * @SINCE_1_0.0
-   * @return A string matching a style or an empty string.
+   * @return A string matching a style, or an empty string
    */
   const std::string& GetStyleName() const;
 
@@ -318,7 +318,7 @@ public:
    * @SINCE_1_0.0
    * @param[in] color The required background color of the control
    *
-   * @note if SetBackgroundImage is called later, this background color is removed.
+   * @note If SetBackgroundImage is called later, this background color is removed.
    *
    * @note The background color fully blends with the actor color.
    */
@@ -330,7 +330,7 @@ public:
    * @brief Retrieves the background color of the control.
    *
    * @SINCE_1_0.0
-   * @return The background color of the control.
+   * @return The background color of the control
    */
   Vector4 GetBackgroundColor() const DALI_DEPRECATED_API;
 
@@ -340,7 +340,7 @@ public:
    * @brief Sets an image as the background of the control.
    *
    * @SINCE_1_0.0
-   * @param[in] image The image to set as the background.
+   * @param[in] image The image to set as the background
    */
   void SetBackgroundImage( Image image ) DALI_DEPRECATED_API;
 
@@ -362,7 +362,7 @@ public:
    * The return value of True, indicates that the event should be consumed.
    * Otherwise the signal will be emitted on the next parent of the actor.
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Control has been initialized.
    */
   KeyEventSignalType& KeyEventSignal();
@@ -377,7 +377,7 @@ public:
    * The return value of True, indicates that the event should be consumed.
    * Otherwise the signal will be emitted on the next parent of the actor.
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Control has been initialized.
    */
   KeyInputFocusSignalType& KeyInputFocusGainedSignal();
@@ -394,7 +394,7 @@ public:
    * The return value of True, indicates that the event should be consumed.
    * Otherwise the signal will be emitted on the next parent of the actor.
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Control has been initialized.
    */
   KeyInputFocusSignalType& KeyInputFocusLostSignal();
@@ -402,12 +402,11 @@ public:
 public: // Intended for control developers
 
   /**
-   * @brief Create an initialised Control.
+   * @brief Creates an initialized Control.
    *
    * @SINCE_1_0.0
-   * @param[in] implementation The implementation for this control.
-   * @return A handle to a newly allocated Dali resource.
-   *
+   * @param[in] implementation The implementation for this control
+   * @return A handle to a newly allocated Dali resource
    * @note Should NOT be called to create a handle from the implementation. As stated, this allocates a NEW Dali resource.
    */
   explicit Control(Internal::Control& implementation);
@@ -417,7 +416,7 @@ public: // Intended for control developers
    * using an Internal CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param [in] internal A pointer to a newly allocated Dali resource
+   * @param[in] internal A pointer to a newly allocated Dali resource
    */
   explicit Control(Dali::Internal::CustomActor* internal);
 
@@ -426,11 +425,11 @@ public: // Templates for Deriving Classes
   /**
    * @brief Template to allow deriving controls to DownCast handles to deriving handle classes.
    *
-   * @tparam     T       The handle class
-   * @tparam     I       The implementation class
+   * @tparam     T      The handle class
+   * @tparam     I      The implementation class
    * @SINCE_1_0.0
-   * @param[in]  handle  Handle to an object
-   * @return Handle to a class T or an uninitialized handle.
+   * @param[in] handle Handle to an object
+   * @return Handle to a class T or an uninitialized handle
    * @see DownCast(BaseHandle)
    */
   template<typename T, typename I>
@@ -458,9 +457,9 @@ public: // Templates for Deriving Classes
    * @brief Template to allow deriving controls to verify whether the Internal::CustomActor* is actually an
    * implementation of their class.
    *
-   * @tparam     I         The implementation class
+   * @tparam     I       The implementation class
    * @SINCE_1_0.0
-   * @param[in]  internal  Pointer to the Internal::CustomActor
+   * @param[in] internal Pointer to the Internal::CustomActor
    */
   template<typename I>
   DALI_INTERNAL void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)
index ef86a70..0f6f9d9 100644 (file)
@@ -93,9 +93,9 @@ class FlexContainer;
  * "type":"ImageView",
  * "image":"image.png",
  *   "properties": {
- *     "flex":1,                        // property to make the item to receive the specified proportion of the free space in the container.
- *     "alignSelf":"flexStart",         // property to specify how the item will align along the cross axis.
- *     "flexMargin":[10, 10, 10, 10]    // property to specify the space around the item.
+ *     "flex":1,                        // Property to make the item to receive the specified proportion of the free space in the container.
+ *     "alignSelf":"flexStart",         // Property to specify how the item will align along the cross axis.
+ *     "flexMargin":[10, 10, 10, 10]    // Property to specify the space around the item.
  *   }
  * @endcode
  * @SINCE_1_1.35
@@ -106,7 +106,7 @@ class DALI_IMPORT_API FlexContainer : public Control
 public:
 
   /**
-   * @brief The direction of the main axis in the flex container. This determines
+   * @brief Enumeration for the direction of the main axis in the flex container. This determines
    * the direction that flex items are laid out in the flex container.
    * @SINCE_1_1.35
    */
@@ -119,7 +119,7 @@ public:
   };
 
   /**
-   * @brief The primary direction in which content is ordered in the flex container
+   * @brief Enumeration for the primary direction in which content is ordered in the flex container
    * and on which sides the “start” and “end” are.
    * @SINCE_1_1.35
    */
@@ -131,7 +131,7 @@ public:
   };
 
   /**
-   * @brief Alignment of the flex items when the items do not use all available
+   * @brief Enumeration for the alignment of the flex items when the items do not use all available
    * space on the main-axis.
    * @SINCE_1_1.35
    */
@@ -145,8 +145,8 @@ public:
   };
 
   /**
-   * @brief Alignment of the flex items or lines when the items or lines do not
-   * use all available space on the cross-axis.
+   * @brief Enumeration for the alignment of the flex items or lines when the items or lines do not
+   * use all the available space on the cross-axis.
    * @SINCE_1_1.35
    */
   enum Alignment
@@ -159,7 +159,7 @@ public:
   };
 
   /**
-   * @brief The wrap type of the flex container when there is no enough room for
+   * @brief Enumeration for the wrap type of the flex container when there is no enough room for
    * all the items on one flex line.
    * @SINCE_1_1.35
    */
@@ -172,7 +172,7 @@ public:
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_1.35
    */
   enum PropertyRange
@@ -185,13 +185,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the FlexContainer class.
+   * @brief Enumeration for the instance of properties belonging to the FlexContainer class.
    * @SINCE_1_1.35
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the FlexContainer class.
+     * @brief Enumeration for the instance of properties belonging to the FlexContainer class.
      * @SINCE_1_1.35
      */
     enum
@@ -207,13 +207,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of child properties belonging to the FlexContainer class.
+   * @brief Enumeration for the instance of child properties belonging to the FlexContainer class.
    * @SINCE_1_1.35
    */
   struct ChildProperty
   {
     /**
-     * @brief An enumeration of child properties belonging to the FlexContainer class.
+     * @brief Enumeration for the instance of child properties belonging to the FlexContainer class.
      * @SINCE_1_1.35
      */
     enum
@@ -226,14 +226,14 @@ public:
   };
 
   /**
-   * @brief Create a FlexContainer handle; this can be initialised with FlexContainer::New()
-   * Calling member functions with an uninitialised handle is not allowed.
+   * @brief Creates a FlexContainer handle; this can be initialized with FlexContainer::New()
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_1.35
    */
   FlexContainer();
 
   /**
-   * @brief Copy constructor. Creates another handle that points to the same real object
+   * @brief Copy constructor. Creates another handle that points to the same real object.
    * @SINCE_1_1.35
    *
    * @param[in] handle The handle to copy from
@@ -241,7 +241,7 @@ public:
   FlexContainer( const FlexContainer& handle );
 
   /**
-   * @brief Assignment operator. Changes this handle to point to another real object
+   * @brief Assignment operator. Changes this handle to point to another real object.
    * @SINCE_1_1.35
    * @param[in] handle Handle to an object
    * @return A reference to this
@@ -249,7 +249,7 @@ public:
   FlexContainer& operator=( const FlexContainer& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * @details This is non-virtual since derived Handle types must not contain data or virtual methods.
    *
@@ -258,23 +258,23 @@ public:
   ~FlexContainer();
 
   /**
-   * @brief Create the FlexContainer control.
+   * @brief Creates the FlexContainer control.
    * @SINCE_1_1.35
    *
-   * @return A handle to the FlexContainer control.
+   * @return A handle to the FlexContainer control
    */
   static FlexContainer New();
 
   /**
-   * @brief Downcast an Object handle to FlexContainer.
+   * @brief Downcasts an Object handle to FlexContainer.
    *
-   * @details If handle points to a FlexContainer the downcast produces
-   * valid handle. If not the returned handle is left uninitialized.
+   * @details If handle points to a FlexContainer, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_1.35
    *
    * @param[in] handle Handle to an object
-   * @return handle to a FlexContainer or an uninitialized handle
+   * @return Handle to a FlexContainer or an uninitialized handle
    */
   static FlexContainer DownCast( BaseHandle handle );
 
@@ -286,7 +286,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    * @SINCE_1_1.35
    *
-   * @param[in] implementation The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL FlexContainer( Internal::FlexContainer& implementation );
 
@@ -294,7 +294,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    * @SINCE_1_1.35
    *
-   * @param[in] internal A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL FlexContainer( Dali::Internal::CustomActor* internal );
   /// @endcond
index 7954884..69bcbc3 100644 (file)
@@ -52,7 +52,7 @@ class DALI_IMPORT_API ImageView : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -65,13 +65,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the ImageView class.
+   * @brief Enumeration for the instance of properties belonging to the ImageView class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the ImageView class.
+     * @brief Enumeration for the instance of properties belonging to the ImageView class.
      * @SINCE_1_0.0
      */
     enum
@@ -80,19 +80,19 @@ public:
 
       /**
        * @DEPRECATED_1_1.16. Use IMAGE instead.
-       * @brief name "resourceUrl", type string
+       * @brief name "resourceUrl", type string.
        * @SINCE_1_0.0
        */
       RESOURCE_URL = PROPERTY_START_INDEX,
 
       /**
-       * @brief name "image", type string if it is a url, map otherwise
+       * @brief name "image", type string if it is a url, map otherwise.
        * @SINCE_1_0.0
        */
       IMAGE,
 
       /**
-       * @brief name "preMultipliedAlpha", type Boolean
+       * @brief name "preMultipliedAlpha", type Boolean.
        * @SINCE_1_1.18
        * @pre image must be initialized.
        */
@@ -102,7 +102,7 @@ public:
       // Animatable properties
 
       /**
-       * @brief name "pixelArea", type Vector4
+       * @brief name "pixelArea", type Vector4.
        * @details Pixel area is a relative value with the whole image area as [0.0, 0.0, 1.0, 1.0].
        * @SINCE_1_1.18
        */
@@ -113,7 +113,7 @@ public:
 public:
 
   /**
-   * @brief Create an uninitialized ImageView.
+   * @brief Creates an uninitialized ImageView.
    * @SINCE_1_0.0
    */
   ImageView();
@@ -122,7 +122,7 @@ public:
    * @brief Create an initialized ImageView.
    *
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali ImageView.
+   * @return A handle to a newly allocated Dali ImageView
    *
    * @note ImageView will not display anything.
    */
@@ -131,41 +131,40 @@ public:
   /**
    * @DEPRECATED_1_2_8, use New( const std::string& ) instead.
    *
-   * @brief Create an initialized ImageView from an Image instance.
+   * @brief Creates an initialized ImageView from an Image instance.
    *
    * If the handle is empty, ImageView will not display anything.
    *
    * @SINCE_1_0.0
-   * @param[in] image The Image instance to display.
-   * @return A handle to a newly allocated ImageView.
+   * @param[in] image The Image instance to display
+   * @return A handle to a newly allocated ImageView
    */
   static ImageView New( Image image ) DALI_DEPRECATED_API;
 
   /**
-   * @brief Create an initialized ImageView from an URL to an image resource.
+   * @brief Creates an initialized ImageView from an URL to an image resource.
    *
    * If the string is empty, ImageView will not display anything.
    *
    * @SINCE_1_0.0
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   * @param[in] url The url of the image resource to display.
-   * @return A handle to a newly allocated ImageView.
+   * @param[in] url The url of the image resource to display
+   * @return A handle to a newly allocated ImageView
    */
   static ImageView New( const std::string& url );
 
   /**
-   * @brief Create an initialized ImageView from a URL to an image resource.
+   * @brief Creates an initialized ImageView from a URL to an image resource.
    *
    * If the string is empty, ImageView will not display anything.
    *
    * @SINCE_1_1.10
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   * @param[in] url The url of the image resource to display.
-   * @param [in] size The width and height to which to fit the loaded image.
-   * @return A handle to a newly allocated ImageView.
-   *
+   * @param[in] url The url of the image resource to display
+   * @param [in] size The width and height to which to fit the loaded image
+   * @return A handle to a newly allocated ImageView
    * @note A valid size is preferable for efficiency.
    *       However, do not set a size that is bigger than the actual image size, as up-scaling is not available.
    *       The content of the area not covered by the actual image is undefined and will not be cleared.
@@ -173,7 +172,7 @@ public:
   static ImageView New( const std::string& url, ImageDimensions size );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -192,20 +191,20 @@ public:
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
-   * @param[in] imageView The ImageView to assign from.
-   * @return The updated ImageView.
+   * @param[in] imageView The ImageView to assign from
+   * @return The updated ImageView
    */
   ImageView& operator=( const ImageView& imageView );
 
   /**
-   * @brief Downcast a handle to ImageView handle.
+   * @brief Downcasts a handle to ImageView handle.
    *
-   * If handle points to a ImageView the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a ImageView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a ImageView or an uninitialized handle
+   * @return Handle to a ImageView or an uninitialized handle
    */
   static ImageView DownCast( BaseHandle handle );
 
@@ -228,7 +227,7 @@ public:
    * @SINCE_1_1.4
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   * @param[in] url The URL to the image resource to display.
+   * @param[in] url The URL to the image resource to display
    */
   void SetImage( const std::string& url );
 
@@ -240,8 +239,8 @@ public:
    * @SINCE_1_1.10
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   * @param[in] url The URL to the image resource to display.
-   * @param [in] size The width and height to fit the loaded image to.
+   * @param[in] url The URL to the image resource to display
+   * @param [in] size The width and height to fit the loaded image to
    */
   void SetImage( const std::string& url, ImageDimensions size );
 
@@ -252,7 +251,7 @@ public:
    * A valid handle will be returned only if this instance was created with New(Image) or SetImage(Image) was called.
    *
    * @SINCE_1_0.0
-   * @return The Image instance currently used by the ImageView.
+   * @return The Image instance currently used by the ImageView
    */
   Image GetImage() const DALI_DEPRECATED_API;
 
@@ -263,7 +262,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The ImageView implementation.
+   * @param[in] implementation The ImageView implementation
    */
   DALI_INTERNAL ImageView( Internal::ImageView& implementation );
 
@@ -271,7 +270,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this ImageView from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL ImageView( Dali::Internal::CustomActor* internal );
   /// @endcond
index 160ca96..ac7c1b0 100644 (file)
@@ -35,7 +35,7 @@ class Model3dView;
  * @brief Model3dView is a control for displaying 3d geometry.
  *
  * All the geometry loaded with the control is automatically centered and scaled to fit
- * the size of all the other controls. So the max is (0.5,0.5) and the min is (-0.5,-0.5)
+ * the size of all the other controls. So the max is (0.5,0.5) and the min is (-0.5,-0.5).
  *
  * @SINCE_1_1.4
  */
@@ -44,7 +44,7 @@ class DALI_IMPORT_API Model3dView : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_1.4
    */
   enum PropertyRange
@@ -57,13 +57,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the TextLabel class.
+   * @brief Enumeration for the instance of properties belonging to the TextLabel class.
    * @SINCE_1_1.4
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the TextLabel class.
+     * @brief Enumeration for the instance of properties belonging to the TextLabel class.
      * @SINCE_1_1.4
      */
     enum
@@ -88,36 +88,36 @@ public:
   };
 
   /**
-   * @brief Create a new instance of a Model3dView control.
+   * @brief Creates a new instance of a Model3dView control.
    *
    * @SINCE_1_1.4
-   * @return A handle to the new Model3dView control.
+   * @return A handle to the new Model3dView control
    */
   static Model3dView New();
 
   /**
-   * @brief Create a new instance of a Model3dView control.
+   * @brief Creates a new instance of a Model3dView control.
    *
    * @SINCE_1_1.4
    * @param[in] objUrl The path to the geometry file
    * @param[in] mtlUrl The path to the material file
    * @param[in] imagesUrl The path to the images directory
-   * @return A handle to the new Model3dView control.
+   * @return A handle to the new Model3dView control
    */
   static Model3dView New( const std::string& objUrl, const std::string& mtlUrl, const std::string& imagesUrl );
 
 
   /**
-   * @brief Create an uninitialized Model3dView
+   * @brief Creates an uninitialized Model3dView.
    *
-   * Only derived versions can be instantiated.  Calling member
+   * Only derived versions can be instantiated. Calling member
    * functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_1.4
    */
   Model3dView();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_1.4
@@ -140,14 +140,14 @@ public:
   Model3dView& operator=( const Model3dView& model3dView );
 
   /**
-   * @brief Downcast an Object handle to Model3dView.
+   * @brief Downcasts an Object handle to Model3dView.
    *
-   * If handle points to a Model3dView the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a Model3dView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_1.4
    * @param[in] handle Handle to an object
-   * @return handle to a Model3dView or an uninitialized handle
+   * @return Handle to a Model3dView or an uninitialized handle
    */
   static Model3dView DownCast( BaseHandle handle );
 
@@ -158,7 +158,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_1.4
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Model3dView( Internal::Model3dView& implementation );
 
@@ -166,7 +166,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_1.4
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL Model3dView( Dali::Internal::CustomActor* internal );
   /// @endcond
index dffb7a4..3bd0adc 100755 (executable)
@@ -56,7 +56,7 @@ public:
   // Properties
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -66,67 +66,67 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the ScrollBar class.
+   * @brief Enumeration for the instance of properties belonging to the ScrollBar class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the ScrollBar class.
+     * @brief Enumeration for the instance of properties belonging to the ScrollBar class.
      * @SINCE_1_0.0
      */
     enum
     {
       /**
-       * @brief name "scrollDirection", type std::string
-       * @see SetScrollDirection()
+       * @brief name "scrollDirection", type std::string.
        * @SINCE_1_0.0
+       * @see SetScrollDirection()
        */
       SCROLL_DIRECTION = PROPERTY_START_INDEX,
       /**
-       * @brief name "indicatorHeightPolicy", type std::string
-       * @see SetIndicatorHeightPolicy()
+       * @brief name "indicatorHeightPolicy", type std::string.
        * @SINCE_1_0.0
+       * @see SetIndicatorHeightPolicy()
        */
       INDICATOR_HEIGHT_POLICY,
       /**
-       * @brief name "indicatorFixedHeight", type float
-       * @see SetIndicatorFixedHeight()
+       * @brief name "indicatorFixedHeight", type float.
        * @SINCE_1_0.0
+       * @see SetIndicatorFixedHeight()
        */
       INDICATOR_FIXED_HEIGHT,
       /**
-       * @brief name "indicatorShowDuration", type float
-       * @see SetIndicatorShowDuration()
+       * @brief name "indicatorShowDuration", type float.
        * @SINCE_1_0.0
+       * @see SetIndicatorShowDuration()
        */
       INDICATOR_SHOW_DURATION,
       /**
-       * @brief name "indicatorHideDuration", type float
-       * @see SetIndicatorHideDuration()
+       * @brief name "indicatorHideDuration", type float.
        * @SINCE_1_0.0
+       * @see SetIndicatorHideDuration()
        */
       INDICATOR_HIDE_DURATION,
       /**
-       * @brief name "scrollPositionIntervals", type Property::Array
-       * @see SetScrollPositionIntervals()
+       * @brief name "scrollPositionIntervals", type Property::Array.
        * @SINCE_1_0.0
+       * @see SetScrollPositionIntervals()
        */
       SCROLL_POSITION_INTERVALS,
       /**
-       * @brief name "indicatorMinimumHeight", type float
+       * @brief name "indicatorMinimumHeight", type float.
        * The minimum height for a variable size indicator.
        * @SINCE_1_1.36
        */
       INDICATOR_MINIMUM_HEIGHT,
       /**
-       * @brief name "indicatorStartPadding", type float
+       * @brief name "indicatorStartPadding", type float.
        * The padding at the start of the indicator. For example, the top if scrollDirection is Vertical.
        * @SINCE_1_1.36
        */
       INDICATOR_START_PADDING,
       /**
-       * @brief name "indicatorEndPadding", type float
+       * @brief name "indicatorEndPadding", type float.
        * The padding at the end of the indicator. For example, the bottom if scrollDirection is Vertical.
        * @SINCE_1_1.36
        */
@@ -162,7 +162,7 @@ public:
   };
 
   /**
-   * @brief Create an uninitialized ScrollBar; this can be initialized with ScrollBar::New()
+   * @brief Creates an uninitialized ScrollBar; this can be initialized with ScrollBar::New()
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
    */
@@ -184,7 +184,7 @@ public:
   ScrollBar& operator=( const ScrollBar& scrollBar );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -192,35 +192,34 @@ public:
   ~ScrollBar();
 
   /**
-   * @brief Create an initialized ScrollBar
+   * @brief Creates an initialized ScrollBar.
    * @SINCE_1_0.0
-   * @param[in] direction The direction of scroll bar (either vertically or horizontally).
-   * @return A pointer to the created ScrollBar.
+   * @param[in] direction The direction of scroll bar (either vertically or horizontally)
+   * @return A pointer to the created ScrollBar
    */
   static ScrollBar New(Direction direction = Vertical);
 
   /**
-   * @brief Downcast a handle to ScrollBar handle.
+   * @brief Downcasts a handle to ScrollBar handle.
    *
-   * If handle points to a ScrollBar the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * If handle points to a ScrollBar, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a ScrollBar or an uninitialized handle
+   * @return Handle to a ScrollBar or an uninitialized handle
    */
   static ScrollBar DownCast( BaseHandle handle );
 
   /**
-   * @brief Set the source of the scroll position properties.
-   *
-   * * @pre The handle to the object owing the scroll properties has been initialised and the property index must be vaild.
+   * @brief Sets the source of the scroll position properties.
    *
    * @SINCE_1_0.0
-   * @param[in] handle The handle of the object owing the scroll properties.
-   * @param[in] propertyScrollPosition The index of the scroll position property (The scroll position, type float).
-   * @param[in] propertyMinScrollPosition The index of the minimum scroll position property (The minimum scroll position, type float).
-   * @param[in] propertyMaxScrollPosition The index of the maximum scroll position property (The maximum scroll position, type float).
-   * @param[in] propertyScrollContentSize The index of the scroll content size property (The size of the scrollable content in actor coordinates, type float).
+   * @param[in] handle The handle of the object owing the scroll properties
+   * @param[in] propertyScrollPosition The index of the scroll position property (The scroll position, type float)
+   * @param[in] propertyMinScrollPosition The index of the minimum scroll position property (The minimum scroll position, type float)
+   * @param[in] propertyMaxScrollPosition The index of the maximum scroll position property (The maximum scroll position, type float)
+   * @param[in] propertyScrollContentSize The index of the scroll content size property (The size of the scrollable content in actor coordinates, type float)
+   * @pre The handle to the object owing the scroll properties has been initialised and the property index must be valid.
    */
   void SetScrollPropertySource( Handle handle, Dali::Property::Index propertyScrollPosition, Dali::Property::Index propertyMinScrollPosition, Dali::Property::Index propertyMaxScrollPosition, Dali::Property::Index propertyScrollContentSize );
 
@@ -228,9 +227,8 @@ public:
    * @brief Sets the indicator of scroll bar.
    *
    * @SINCE_1_0.0
-   * @param[in] indicator The indicator that moves to indicate the current scroll position.
-   * @pre The scroll bar actor has been initialised.
-   *
+   * @param[in] indicator The indicator that moves to indicate the current scroll position
+   * @pre The scroll bar actor has been initialized.
    */
   void SetScrollIndicator( Actor indicator );
 
@@ -238,9 +236,8 @@ public:
    * @brief Gets the indicator of scroll bar.
    *
    * @SINCE_1_0.0
-   * @return The indicator indicates the current scroll position of the scrollable content.
-   * @pre The scroll bar actor has been initialised.
-   *
+   * @return The indicator indicates the current scroll position of the scrollable content
+   * @pre The scroll bar actor has been initialized.
    */
   Actor GetScrollIndicator();
 
@@ -250,8 +247,7 @@ public:
    *
    * @SINCE_1_0.0
    * @param[in] positions List of values to receive notifications for when the current scroll position crosses them
-   * @pre The scroll bar actor has been initialised.
-   *
+   * @pre The scroll bar actor has been initialized.
    */
   void SetScrollPositionIntervals( const Dali::Vector<float>& positions );
 
@@ -261,7 +257,7 @@ public:
    *
    * @SINCE_1_0.0
    * @return The list of values to receive notifications for when the current scroll position crosses them
-   * @pre The scroll bar actor has been initialised.
+   * @pre The scroll bar actor has been initialized.
    *
    */
   Dali::Vector<float> GetScrollPositionIntervals() const;
@@ -270,9 +266,8 @@ public:
    * @brief Sets the direction of scroll bar to scroll either vertically or horizontally.
    *
    * @SINCE_1_0.0
-   * @param[in] direction The direction of scroll bar (either vertically or horizontally).
-   * @pre The scroll bar actor has been initialised.
-   *
+   * @param[in] direction The direction of scroll bar (either vertically or horizontally)
+   * @pre The scroll bar actor has been initialized.
    */
   void SetScrollDirection( Direction direction );
 
@@ -280,7 +275,7 @@ public:
    * @brief Gets the direction of scroll bar.
    *
    * @SINCE_1_0.0
-   * @return The direction of scroll bar.
+   * @return The direction of scroll bar
    */
   Direction GetScrollDirection() const;
 
@@ -289,8 +284,7 @@ public:
    *
    * @SINCE_1_0.0
    * @param[in] policy The height policy of scroll indicator
-   * @pre The scroll bar actor has been initialised.
-   *
+   * @pre The scroll bar actor has been initialized.
    */
   void SetIndicatorHeightPolicy( IndicatorHeightPolicy policy );
 
@@ -306,12 +300,12 @@ public:
    * @brief Sets the fixed height of scroll indicator.
    *
    * Normally the height of scroll indicator is changed dynamically according to the length of scroll content.
-   * However, when the height policy of scroll indicator is set to be fixed, the height will keep fixed
+   * However, when the height policy of scroll indicator is set to be fixed, the height will be kept fixed
    * regardless of the length of scroll content.
    *
    * @SINCE_1_0.0
    * @param[in] height The fixed height of the scroll indicator
-   * @pre The scroll bar actor has been initialised.
+   * @pre The scroll bar actor has been initialized.
    *
    */
   void SetIndicatorFixedHeight( float height );
@@ -324,7 +318,7 @@ public:
   float GetIndicatorFixedHeight() const;
 
   /**
-   * @brief Sets the duration in second for the scroll indicator to become fully visible
+   * @brief Sets the duration in seconds for the scroll indicator to become fully visible.
    *
    * @SINCE_1_0.0
    * @param[in] durationSeconds The duration for the scroll indicator to become fully visible
@@ -334,14 +328,14 @@ public:
   void SetIndicatorShowDuration( float durationSeconds );
 
   /**
-   * @brief Gets the duration in second for the scroll indicator to become fully visible
+   * @brief Gets the duration in seconds for the scroll indicator to become fully visible.
    * @SINCE_1_0.0
    * @return The duration for the scroll indicator to become fully visible
    */
   float GetIndicatorShowDuration() const;
 
   /**
-   * @brief Sets the duration in second for the scroll indicator to become fully invisible
+   * @brief Sets the duration in seconds for the scroll indicator to become fully invisible.
    *
    * @SINCE_1_0.0
    * @param[in] durationSeconds The duration for the scroll indicator to become fully invisible
@@ -351,20 +345,20 @@ public:
   void SetIndicatorHideDuration( float durationSeconds );
 
   /**
-   * @brief Gets the duration in second for the scroll indicator to become fully invisible
+   * @brief Gets the duration in seconds for the scroll indicator to become fully invisible.
    * @SINCE_1_0.0
    * @return The duration for the scroll indicator to become fully invisible
    */
   float GetIndicatorHideDuration() const;
 
   /**
-   * @brief Shows the scroll indicator
+   * @brief Shows the scroll indicator.
    * @SINCE_1_0.0
    */
   void ShowIndicator();
 
   /**
-   * @brief Hides the scroll indicator
+   * @brief Hides the scroll indicator.
    * @SINCE_1_0.0
    */
   void HideIndicator();
@@ -381,7 +375,7 @@ public: // Signals
    *   void YourCallbackName();
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   ScrollBar::PanFinishedSignalType& PanFinishedSignal();
@@ -397,7 +391,7 @@ public: // Signals
    *   void YourCallbackName(float currentScrollPosition);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   ScrollBar::ScrollPositionIntervalReachedSignalType& ScrollPositionIntervalReachedSignal();
@@ -408,14 +402,14 @@ public: // Not intended for application developers
   /**
    * @brief Creates a handle using the Toolkit::Internal implementation.
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL ScrollBar( Internal::ScrollBar& implementation );
 
   /**
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL ScrollBar( Dali::Internal::CustomActor* internal );
   /// @endcond
index f90fd39..8a880ac 100644 (file)
@@ -32,14 +32,14 @@ namespace Toolkit
  */
 
 /**
- * @brief Default item layout mode.
+ * @brief Enumeration for default item layout mode.
  * @SINCE_1_0.0
  */
 namespace DefaultItemLayout
 {
 
 /**
- * @brief The type of DefaultItemLayout
+ * @brief Enumeration for the type of DefaultItemLayout
  * @SINCE_1_0.0
  */
 enum Type
@@ -54,9 +54,8 @@ enum Type
  * @brief Creates a built-in default item-layout.
  *
  * @SINCE_1_0.0
- * @param[in]  type  The type of layout required.
- *
- * @return An ItemLayoutPtr to the newly created layout.
+ * @param[in] type The type of layout required
+ * @return An ItemLayoutPtr to the newly created layout
  */
 DALI_IMPORT_API ItemLayoutPtr New( Type type );
 
index e38579a..db4825a 100644 (file)
@@ -50,34 +50,34 @@ public:
   DALI_EXPORT_API virtual ~ItemFactory() {};
 
   /**
-   * @brief Query the number of items available from the factory.
+   * @brief Queries the number of items available from the factory.
    *
    * The maximum available item has an ID of GetNumberOfItems() - 1.
    * @SINCE_1_0.0
-   * @return the number of items
+   * @return The number of items
    */
   virtual unsigned int GetNumberOfItems() = 0;
 
   /**
-   * @brief Create an Actor to represent a visible item.
+   * @brief Creates an Actor to represent a visible item.
    *
    * @SINCE_1_0.0
-   * @param[in] itemId The ID of the newly visible item.
-   * @return An actor, or an uninitialized pointer if the ID is out of range.
+   * @param[in] itemId The ID of the newly visible item
+   * @return An actor, or an uninitialized pointer if the ID is out of range
    */
   virtual Actor NewItem(unsigned int itemId) = 0;
 
   /**
-   * @brief Notify the factory the actor representing the item is removed from ItemView.
+   * @brief Notifies the factory the actor representing the item is removed from ItemView.
    *
    * @SINCE_1_0.0
-   * @param[in] itemId The ID of the released item.
-   * @param[in] actor The actor that represents the released item.
+   * @param[in] itemId The ID of the released item
+   * @param[in] actor The actor that represents the released item
    */
   virtual void ItemReleased(unsigned int itemId, Actor actor) {};
 
   /**
-   * @brief Retrieve the extension for this control.
+   * @brief Retrieves the extension for this control.
    *
    * @SINCE_1_0.0
    * @return The extension if available, NULL otherwise
index 4d91ef5..a0cee00 100755 (executable)
@@ -48,11 +48,11 @@ typedef IntrusivePtr<ItemLayout> ItemLayoutPtr; ///< Pointer to a Dali::Toolkit:
 struct ItemRange
 {
   /**
-   * @brief Create a range of item identifiers.
+   * @brief Creates a range of item identifiers.
    *
    * @SINCE_1_0.0
-   * @param[in] beginItem The first item within the range.
-   * @param[in] endItem The past-the-end item.
+   * @param[in] beginItem The first item within the range
+   * @param[in] endItem The past-the-end item
    */
   ItemRange(unsigned int beginItem, unsigned int endItem)
   : begin(beginItem),
@@ -64,7 +64,7 @@ struct ItemRange
    * @brief Copy Constructor.
    *
    * @SINCE_1_0.0
-   * @param[in] copy ItemRange we should copy from.
+   * @param[in] copy ItemRange we should copy from
    */
   ItemRange(const ItemRange& copy)
   : begin(copy.begin),
@@ -76,8 +76,8 @@ struct ItemRange
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
-   * @param[in] range The Range to assign from.
-   * @return The updated range.
+   * @param[in] range The Range to assign from
+   * @return The updated range
    */
   ItemRange& operator=(const ItemRange& range)
   {
@@ -90,11 +90,11 @@ struct ItemRange
   }
 
   /**
-   * @brief Test whether an item is within the range.
+   * @brief Tests whether an item is within the range.
    *
    * @SINCE_1_0.0
-   * @param[in] itemId The item identifier.
-   * @return True if the item is within the range.
+   * @param[in] itemId The item identifier
+   * @return true if the item is within the range
    */
   bool Within(unsigned int itemId)
   {
@@ -103,11 +103,11 @@ struct ItemRange
   }
 
   /**
-   * @brief Create the intersection of two ranges.
+   * @brief Creates the intersection of two ranges.
    *
    * @SINCE_1_0.0
-   * @param[in] second The second range.
-   * @return The intersection.
+   * @param[in] second The second range
+   * @return The intersection
    */
   ItemRange Intersection(const ItemRange& second)
   {
index 60dba05..9cdf1e7 100755 (executable)
@@ -48,8 +48,8 @@ typedef IntrusivePtr<ItemLayout> ItemLayoutPtr;
 /**
  * @brief ItemView is a scrollable layout container.
  *
- * Multiple ItemLayouts may be provided, to determine the logical position of each item a layout.
- * Actors are provided from an external ItemFactory, to display the currently visible items.
+ * Multiple ItemLayouts may be provided to determine the logical position of each item layout.
+ * Actors are provided from an external ItemFactory to display the currently visible items.
  *
  * Signals
  * | %Signal Name                    | Method                                     |
@@ -69,7 +69,7 @@ class DALI_IMPORT_API ItemView : public Scrollable
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_1.18
    */
   enum PropertyRange
@@ -117,7 +117,7 @@ public:
 public:
 
   /**
-   * @brief Create an uninitialized ItemView; this can be initialized with ItemView::New().
+   * @brief Creates an uninitialized ItemView; this can be initialized with ItemView::New().
    *
    * Calling member functions with an uninitialized Dali::Object is not allowed.
    * @SINCE_1_0.0
@@ -140,7 +140,7 @@ public:
   ItemView& operator=( const ItemView& itemView );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -148,19 +148,19 @@ public:
   ~ItemView();
 
   /**
-   * @brief Create an initialized ItemView.
+   * @brief Creates an initialized ItemView.
    *
    * @SINCE_1_0.0
-   * @param[in] factory The factory which provides ItemView with items.
-   * @return A handle to a newly allocated Dali resource.
+   * @param[in] factory The factory which provides ItemView with items
+   * @return A handle to a newly allocated Dali resource
    */
   static ItemView New(ItemFactory& factory);
 
   /**
-   * @brief Downcast a handle to ItemView handle.
+   * @brief Downcasts a handle to ItemView handle.
    *
-   * If handle points to a ItemView the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a ItemView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -169,75 +169,75 @@ public:
   static ItemView DownCast( BaseHandle handle );
 
   /**
-   * @brief Query the number of layouts.
+   * @brief Queries the number of layouts.
    *
    * @SINCE_1_0.0
-   * @return The number of layouts.
+   * @return The number of layouts
    */
   unsigned int GetLayoutCount() const;
 
   /**
-   * @brief Add a layout.
+   * @brief Adds a layout.
    *
    * @SINCE_1_0.0
-   * @param[in] layout The layout.
+   * @param[in] layout The layout
    */
   void AddLayout(ItemLayout& layout);
 
   /**
-   * @brief Remove a layout.
+   * @brief Removes a layout.
    *
    * @SINCE_1_0.0
-   * @param[in] layoutIndex The index of one of the ItemView layouts.
+   * @param[in] layoutIndex The index of one of the ItemView layouts
    * @pre layoutIndex is less than GetLayoutCount().
    */
   void RemoveLayout(unsigned int layoutIndex);
 
   /**
-   * @brief Retrieve a layout.
+   * @brief Retrieves a layout.
    *
    * @SINCE_1_0.0
-   * @param[in] layoutIndex The index of the layout to retrieve.
+   * @param[in] layoutIndex The index of the layout to retrieve
    * @return The layout
    * @pre layoutIndex is less than GetLayoutCount().
    */
   ItemLayoutPtr GetLayout(unsigned int layoutIndex) const;
 
   /**
-   * @brief Retrieve the currently active layout, if any.
+   * @brief Retrieves the currently active layout, if any.
    *
    * @SINCE_1_0.0
-   * @return The layout, or an uninitialized pointer if no layout is active.
+   * @return The layout, or an uninitialized pointer if no layout is active
    */
   ItemLayoutPtr GetActiveLayout() const;
 
   /**
-   * @brief Retrieve the current layout-position of an item in the ItemView.
+   * @brief Retrieves the current layout-position of an item in the ItemView.
    *
    * @SINCE_1_0.0
-   * @param[in] itemId The item identifier.
-   * @return The current layout-position.
+   * @param[in] itemId The item identifier
+   * @return The current layout-position
    */
   float GetCurrentLayoutPosition(ItemId itemId) const;
 
   /**
-   * @brief Activate one of the layouts; this will resize the ItemView
+   * @brief Activates one of the layouts; this will resize the ItemView
    * & relayout actors within the ItemView.
    *
    * This is done by applying constraints from the new layout, and
    * removing constraints from the previous layout.
    *
    * @SINCE_1_0.0
-   * @param[in] layoutIndex The index of one of the ItemView layouts.
-   * @param[in] targetSize The target ItemView & layout size.
-   * @param[in] durationSeconds The time taken to relayout in seconds (zero for immediate).
+   * @param[in] layoutIndex The index of one of the ItemView layouts
+   * @param[in] targetSize The target ItemView & layout size
+   * @param[in] durationSeconds The time taken to relayout in seconds (zero for immediate)
    * @pre layoutIndex is less than GetLayoutCount().
    * @pre durationSeconds is greater or equal to zero.
    */
   void ActivateLayout(unsigned int layoutIndex, Vector3 targetSize, float durationSeconds);
 
   /**
-   * @brief Deactivate the current layout, if any.
+   * @brief Deactivates the current layout, if any.
    *
    * The constraints applied by the layout will be removed.
    * @SINCE_1_0.0
@@ -245,8 +245,8 @@ public:
   void DeactivateCurrentLayout();
 
   /**
-   * @brief Set the minimum swipe speed in pixels per second; A pan
-   * gesture must exceed this to trigger a swipe.
+   * @brief Sets the minimum swipe speed in pixels per second;
+   *  A pan gesture must exceed this to trigger a swipe.
    *
    * @SINCE_1_0.0
    * @param[in] speed The minimum swipe speed
@@ -254,7 +254,7 @@ public:
   void SetMinimumSwipeSpeed(float speed);
 
   /**
-   * @brief Get the minimum swipe speed in pixels per second.
+   * @brief Gets the minimum swipe speed in pixels per second.
    *
    * @SINCE_1_0.0
    * @return The minimum swipe speed
@@ -262,16 +262,16 @@ public:
   float GetMinimumSwipeSpeed() const;
 
   /**
-   * @brief Set the minimum swipe distance in actor coordinates; A pan
-   * gesture must exceed this to trigger a swipe.
+   * @brief Sets the minimum swipe distance in actor coordinates;
+   *  A pan gesture must exceed this to trigger a swipe.
    *
    * @SINCE_1_0.0
-   * @param[in] distance The minimum swipe distance.
+   * @param[in] distance The minimum swipe distance
    */
   void SetMinimumSwipeDistance(float distance);
 
   /**
-   * @brief Get the minimum swipe distance in actor coordinates.
+   * @brief Gets the minimum swipe distance in actor coordinates.
    *
    * @SINCE_1_0.0
    * @return The minimum swipe distance
index 3116169..2e2c2b2 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_TOOLKIT_SCROLL_VIEW_CONSTRAINTS_H__
 
 /*
- * Copyright (c) 2015 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.
@@ -43,22 +43,20 @@ namespace Toolkit
  */
 
 /**
- * @brief Move Actor constraint.
+ * @brief Moves an Actor in accordance with the scroll position.
  *
- * Moves an Actor in accordance to scroll position.
+ * @SINCE_1_0.0
  * @param[in] current Current position
  * @param[in] inputs The position input that Actor will move
- * @SINCE_1_0.0
  */
 DALI_IMPORT_API void MoveActorConstraint( Vector3& current, const PropertyInputContainer& inputs );
 
 /**
- * @brief Wrap Actor constraint.
+ * @brief Wraps an Actor's position in accordance with the min/max bounds of domain.
  *
- * Wraps an Actors position in accordance to min/max bounds of domain.
+ * @SINCE_1_0.0
  * @param[in] position Position to be wrapped
  * @param[in] inputs The input that Actor's position will be wrapped
- * @SINCE_1_0.0
  */
 DALI_IMPORT_API void WrapActorConstraint( Vector3& position, const PropertyInputContainer& inputs );
 
index d6bcc30..049e2ab 100644 (file)
@@ -50,7 +50,7 @@ class ScrollViewEffect;
  * ScrollView instance.
  *
  * Such effects are purely logical (i.e. physics), and may produce
- * properties that can be used with visual effects.  Such as creating
+ * properties that can be used with visual effects, such as creating
  * constraints that are applied to ShaderEffects or Actors using these
  * properties as inputs.
  * @SINCE_1_0.0
@@ -61,7 +61,7 @@ class DALI_IMPORT_API ScrollViewEffect : public Dali::BaseHandle
 public:
 
   /**
-   * @brief Create an uninitialized ScrollViewEffect; this can only be initialized with derived classes.
+   * @brief Creates an uninitialized ScrollViewEffect; this can only be initialized with derived classes.
    *
    * Calling member functions with an uninitialized Toolkit::BaseObject is not allowed.
    * @SINCE_1_0.0
@@ -75,7 +75,7 @@ public: // Not intended for application developers
    * @brief This constructor is used by Dali New() methods.
    *
    * @SINCE_1_0.0
-   * @param [in] impl A pointer to a newly allocated Dali resource
+   * @param[in] impl A pointer to a newly allocated Dali resource
    */
   explicit DALI_INTERNAL ScrollViewEffect(Internal::ScrollViewEffect *impl);
   /// @endcond
index 951298d..dc23694 100644 (file)
@@ -44,7 +44,7 @@ class ScrollViewPagePathEffect;
  *
  * This effect causes Actors to follow a given path. The opacity of the actor will be 0.0 at
  * the beginning of the path and will go to 1.0 as it is approximating to half of the path to return
- * to 0.0 at the end of the path
+ * to 0.0 at the end of the path.
  *
  *
  * ScrollView
@@ -68,40 +68,40 @@ class DALI_IMPORT_API ScrollViewPagePathEffect : public ScrollViewEffect
 public:
 
   /**
-   * @brief Create an initialized ScrollViewPagePathEffect.
+   * @brief Creates an initialized ScrollViewPagePathEffect.
    * @SINCE_1_0.0
    * @param[in] path The path that will be used by the scroll effect
    * @param[in] forward Vector in page object space which will be aligned with the tangent of the path
-   * @param[in] inputPropertyIndex Index of a property of the scroll-view which will be used as the input for the path.
+   * @param[in] inputPropertyIndex Index of a property of the scroll-view which will be used as the input for the path
    * @param[in] pageSize Size of a page in the scrollview
    * @param[in] pageCount Total number of pages in the scrollview
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static ScrollViewPagePathEffect New(Path path, const Vector3& forward, Dali::Property::Index inputPropertyIndex, const Vector3& pageSize, unsigned int pageCount);
 
   /**
-   * @brief Create an uninitialized ScrollViewPagePathEffect; this can be initialized with ScrollViewPagePathEffect::New()
+   * @brief Creates an uninitialized ScrollViewPagePathEffect; this can be initialized with ScrollViewPagePathEffect::New().
    * Calling member functions with an uninitialized Toolkit::ScrollViewPagePathEffect is not allowed.
    * @SINCE_1_0.0
    */
   ScrollViewPagePathEffect();
 
   /**
-   * @brief Downcast a handle to ScrollViewPagePathEffect handle.
+   * @brief Downcasts a handle to ScrollViewPagePathEffect handle.
    *
-   * If handle points to a ScrollViewPagePathEffect the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * If handle points to a ScrollViewPagePathEffect, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a ScrollViewPagePathEffect or an uninitialized handle
+   * @return Handle to a ScrollViewPagePathEffect or an uninitialized handle
    */
   static ScrollViewPagePathEffect DownCast( BaseHandle handle );
 
   /**
    * @brief Manually apply effect to a page in the scroll-view.
    * @SINCE_1_0.0
-   * @param[in] page The page to be affected by this effect.
-   * @param[in] pageOrder The order of the page in the scroll-view
+   * @param[in] page The page to be affected by this effect
+   * @param[in] pageOrder The order of the page in the scroll view
    */
   void ApplyToPage( Actor page, unsigned int pageOrder );
 
@@ -111,7 +111,7 @@ protected:
   /**
    * @brief This constructor is used by Dali New() methods.
    * @SINCE_1_0.0
-   * @param [in] impl A pointer to a newly allocated Dali resource
+   * @param[in] impl A pointer to a newly allocated Dali resource
    */
   explicit DALI_INTERNAL ScrollViewPagePathEffect( Internal::ScrollViewPagePathEffect *impl );
   /// @endcond
index cb24960..1a0e3fb 100644 (file)
@@ -40,7 +40,7 @@ class ScrollView;
  */
 
 /**
- * @brief How axes/rotation or scale are clamped
+ * @brief Enumeration for how axes/rotation or scale are clamped.
  * @SINCE_1_0.0
  */
 enum ClampState
@@ -51,7 +51,7 @@ enum ClampState
 };
 
 /**
- * @brief A 2 dimensional clamp
+ * @brief A 2 dimensional clamp.
  * @SINCE_1_0.0
  */
 struct ClampState2D
@@ -61,7 +61,7 @@ struct ClampState2D
 };
 
 /**
- * @brief The snap type
+ * @brief Enumeration for the snap type.
  * @SINCE_1_0.0
  */
 enum SnapType
@@ -71,7 +71,7 @@ enum SnapType
 };
 
 /**
- * @brief DirectionBias types.
+ * @brief Enumeration for DirectionBias types.
  * @SINCE_1_0.0
  */
 enum DirectionBias
@@ -95,7 +95,7 @@ public:
    * @SINCE_1_0.0
    * @param[in] min Minimum extent (point cannot traverse less than this)
    * @param[in] max Maximum extent (point cannot traverse greater than this)
-   * @param[in] enabled Whether domain has been enabled or not.
+   * @param[in] enabled Whether domain has been enabled or not
    */
   explicit RulerDomain(float min, float max, bool enabled = true);
 
@@ -112,10 +112,10 @@ public:
    * subject is not a point but a line to that should be clamped.
    *
    * @SINCE_1_0.0
-   * @param[in] x X point to be clamped between (min) and (max) extents.
-   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @return The clamped value.
+   * @param[in] x X point to be clamped between (min) and (max) extents
+   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @return The clamped value
    */
   float Clamp(float x, float length = 0.0f, float scale = 1.0f) const;
 
@@ -126,11 +126,11 @@ public:
    * subject is not a point but a line to that should be clamped.
    *
    * @SINCE_1_0.0
-   * @param[in] x X point to be clamped between (min) and (max) extents.
-   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @param[out] clamped Whether clamping occured and which size (None, Min or Max)
-   * @return The clamped value.
+   * @param[in] x X point to be clamped between (min) and (max) extents
+   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @param[out] clamped Whether clamping occurred and which size (None, Min or Max)
+   * @return The clamped value
    */
   float Clamp(float x, float length, float scale, ClampState &clamped) const;
 
@@ -138,7 +138,7 @@ public:
    * @brief Returns (max-min) size of ruler.
    *
    * @SINCE_1_0.0
-   * @return The size of the ruler from min to max.
+   * @return The size of the ruler from min to max
    */
   float GetSize() const;
 
@@ -148,10 +148,10 @@ public:
 class RulerExtension;
 
 /**
- * @brief Abstract class to define scroll axes.
+ * @brief Abstracts class to define scroll axes.
  *
- * It can specify whether they are traversable, where their snap
- * points are and their domain.
+ * It can specify whether they are traversable,
+ * where their snap points are and their domain.
  * @SINCE_1_0.0
  */
 class DALI_IMPORT_API Ruler : public RefObject
@@ -166,7 +166,7 @@ public:
 public:
 
   /**
-   * @brief Constructs ruler, default enabled, with limitless domain.
+   * @brief Constructs ruler, enabled by default, with limitless domain.
    * @SINCE_1_0.0
    */
   Ruler();
@@ -175,7 +175,7 @@ public:
    * @brief Snaps (x) in accordance to the ruler settings.
    *
    * @SINCE_1_0.0
-   * @param[in] x The input value on the ruler to be snapped.
+   * @param[in] x The input value on the ruler to be snapped
    * @param[in] bias (optional) The biasing employed for snapping
    * 0 floor input (floor x) "Used for Flick Left"
    * 0.5 round input (floor x + 0.5) "Used for Release"
@@ -197,7 +197,7 @@ public:
    * @param[in] page The page index
    * @param[out] volume The overflow volume when the page exceeds the domain (wrap must be enabled)
    * @param[in] wrap Enable wrap mode
-   * @return The position representing this page point.
+   * @return The position representing this page point
    */
   virtual float GetPositionFromPage(unsigned int page, unsigned int &volume, bool wrap) const = 0;
 
@@ -210,7 +210,7 @@ public:
    * @SINCE_1_0.0
    * @param[in] position The position on the domain
    * @param[in] wrap Enable wrap mode
-   * @return The page where this position resides.
+   * @return The page where this position resides
    */
   virtual unsigned int GetPageFromPosition(float position, bool wrap) const = 0;
 
@@ -218,7 +218,7 @@ public:
    * @brief Returns the total number of pages within this Ruler.
    *
    * @SINCE_1_0.0
-   * @return The number of pages in the Ruler.
+   * @return The number of pages in the Ruler
    */
   virtual unsigned int GetTotalPages() const = 0;
 
@@ -236,7 +236,7 @@ public:
    * @brief Gets the ruler type.
    *
    * @SINCE_1_0.0
-   * @return The ruler type.
+   * @return The ruler type
    */
   Ruler::RulerType GetType() const;
 
@@ -261,15 +261,15 @@ public:
   void Disable();
 
   /**
-   * @brief Sets Domain.
+   * @brief Sets the Domain.
    *
    * @SINCE_1_0.0
-   * @param[in] domain Ruler domain object.
+   * @param[in] domain Ruler domain object
    */
   void SetDomain(RulerDomain domain);
 
   /**
-   * @brief Gets Domain.
+   * @brief Gets the Domain.
    *
    * @SINCE_1_0.0
    * @return The domain
@@ -289,10 +289,10 @@ public:
    * subject is not a point but a line that should be clamped.
    *
    * @SINCE_1_0.0
-   * @param[in] x X point to be clamped between (min) and (max) extents.
-   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @return The clamped value.
+   * @param[in] x X point to be clamped between (min) and (max) extents
+   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @return The clamped value
    */
   float Clamp(float x, float length = 0.0f, float scale = 1.0f) const;
 
@@ -304,11 +304,11 @@ public:
    * subject is not a point but a line to that should be clamped.
    *
    * @SINCE_1_0.0
-   * @param[in] x X point to be clamped between (min) and (max) extents.
-   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @param[out] clamped Whether clamping occured and which size (None, Min or Max)
-   * @return The clamped value.
+   * @param[in] x X point to be clamped between (min) and (max) extents
+   * @param[in] length (optional) The Length of the line from (x) to (x + length) to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @param[out] clamped Whether clamping occurred and which size (None, Min or Max)
+   * @return The clamped value
    */
   float Clamp(float x, float length, float scale, ClampState &clamped) const;
 
@@ -316,16 +316,16 @@ public:
    * @brief Snaps and Clamps (x) in accordance to ruler settings.
    *
    * @SINCE_1_0.0
-   * @param[in] x value to be snapped in accordance to ruler snap value,
-   *            and clamped in accordance to the ruler's domain (if set).
+   * @param[in] x value to be snapped in accordance to ruler snap value,
+   *            and clamped in accordance to the ruler's domain (if set)
    * @param[in] bias (optional) The biasing employed for snapping
    *            0 floor input (floor x) "Used for Flick Left"
    *            0.5 round input (floor x + 0.5) "Used for Release"
    *            1 ceil input (floor x + 1.0) "Used for Flick Right"
    * @param[in] length (optional) The Length of the line from (x) to (x + length)
-   *            to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @return the clamped value after snapping
+   *            to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @return The clamped value after snapping
    */
   float SnapAndClamp(float x, float bias = 0.5f, float length = 0.0f, float scale = 1.0f) const;
 
@@ -333,16 +333,16 @@ public:
    * @brief Snaps and Clamps (x) in accordance to ruler settings.
    *
    * @SINCE_1_0.0
-   * @param[in] x value to be snapped in accordance to ruler snap value,
-   *            and clamped in accordance to the ruler's domain (if set).
+   * @param[in] x value to be snapped in accordance to ruler snap value,
+   *            and clamped in accordance to the ruler's domain (if set)
    * @param[in] bias (optional) The biasing employed for snapping
    * 0 floor input (floor x) "Used for Flick Left"
    * 0.5 round input (floor x + 0.5) "Used for Release"
    * 1 ceil input (floor x + 1.0) "Used for Flick Right"
    * @param[in] length (optional) The Length of the line from (x) to (x + length)
-   * to be clamped.
-   * @param[in] scale Scaling parameter which treats domain as scaled in calculations.
-   * @param[out] clamped Whether clamping occured and which size (None, Min or Max)
+   * to be clamped
+   * @param[in] scale Scaling parameter which treats domain as scaled in calculations
+   * @param[out] clamped Whether clamping occurred and which size (None, Min or Max)
    * @return The clamped value after snapping
    */
   float SnapAndClamp(float x, float bias, float length, float scale, ClampState &clamped) const;
@@ -407,10 +407,10 @@ class DALI_IMPORT_API FixedRuler : public Ruler
 {
 public:
   /**
-   * @brief Constructor
+   * @brief Constructor.
    *
    * @SINCE_1_0.0
-   * @param[in] spacing The spacing between each interval on this ruler.
+   * @param[in] spacing The spacing between each interval on this ruler
    */
   FixedRuler(float spacing = 1.0f);
 
@@ -457,7 +457,7 @@ class DALI_IMPORT_API ScrollView : public Scrollable
 public:
 
   /**
-   * @brief Clamp signal event's data
+   * @brief Clamps signal event's data.
    * @SINCE_1_0.0
    */
   struct ClampEvent
@@ -468,7 +468,7 @@ public:
   };
 
   /**
-   * @brief Snap signal event's data.
+   * @brief Snaps signal event's data.
    * @SINCE_1_0.0
    */
   struct SnapEvent
@@ -479,7 +479,7 @@ public:
   };
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -551,7 +551,7 @@ public:
    * Creates another handle that points to the same real object.
    *
    * @SINCE_1_0.0
-   * @param[in] handle to copy from
+   * @param[in] handle Handle to copy from
    */
   ScrollView( const ScrollView& handle );
 
@@ -566,7 +566,7 @@ public:
   ScrollView& operator=( const ScrollView& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -574,18 +574,18 @@ public:
   ~ScrollView();
 
   /**
-   * @brief Create an initialized ScrollView.
+   * @brief Creates an initialized ScrollView.
    *
    * @SINCE_1_0.0
-   * @return A handle to a newly allocated Dali resource.
+   * @return A handle to a newly allocated Dali resource
    */
   static ScrollView New();
 
   /**
-   * @brief Downcast a handle to ScrollView handle.
+   * @brief Downcasts a handle to ScrollView handle.
    *
-   * If handle points to a ScrollView the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a ScrollView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -596,34 +596,34 @@ public:
 public:
 
   /**
-   * @brief Get snap-animation's AlphaFunction.
+   * @brief Gets snap-animation's AlphaFunction.
    *
    * @SINCE_1_0.0
-   * @return Current easing alpha function of the snap animation.
+   * @return Current easing alpha function of the snap animation
    */
   AlphaFunction GetScrollSnapAlphaFunction() const;
 
   /**
-   * @brief Set snap-animation's AlphaFunction.
+   * @brief Sets snap-animation's AlphaFunction.
    *
    * @SINCE_1_0.0
-   * @param[in] alpha Easing alpha function of the snap animation.
+   * @param[in] alpha Easing alpha function of the snap animation
    */
   void SetScrollSnapAlphaFunction(AlphaFunction alpha);
 
   /**
-   * @brief Get flick-animation's AlphaFunction.
+   * @brief Gets flick-animation's AlphaFunction.
    *
    * @SINCE_1_0.0
-   * @return Current easing alpha function of the flick animation.
+   * @return Current easing alpha function of the flick animation
    */
   AlphaFunction GetScrollFlickAlphaFunction() const;
 
   /**
-   * @brief Set flick-animation's AlphaFunction.
+   * @brief Sets flick-animation's AlphaFunction.
    *
    * @SINCE_1_0.0
-   * @param[in] alpha Easing alpha function of the flick animation.
+   * @param[in] alpha Easing alpha function of the flick animation
    */
   void SetScrollFlickAlphaFunction(AlphaFunction alpha);
 
@@ -633,7 +633,7 @@ public:
    * This animation occurs when the user drags, and releases.
    *
    * @SINCE_1_0.0
-   * @return The time in seconds for the animation to take.
+   * @return The time in seconds for the animation to take
    */
   float GetScrollSnapDuration() const;
 
@@ -643,7 +643,7 @@ public:
    * This animation occurs when the user drags, and releases.
    *
    * @SINCE_1_0.0
-   * @param[in] time The time in seconds for the animation to take.
+   * @param[in] time The time in seconds for the animation to take
    */
   void SetScrollSnapDuration(float time);
 
@@ -653,7 +653,7 @@ public:
    * This animation occurs when the user flicks scroll view.
    *
    * @SINCE_1_0.0
-   * @return The time in seconds for the animation to take.
+   * @return The time in seconds for the animation to take
    */
   float GetScrollFlickDuration() const;
 
@@ -663,12 +663,12 @@ public:
    * This animation occurs when the user flicks scroll view.
    *
    * @SINCE_1_0.0
-   * @param[in] time The time in seconds for the animation to take.
+   * @param[in] time The time in seconds for the animation to take
    */
   void SetScrollFlickDuration(float time);
 
   /**
-   * @brief Set X axis ruler.
+   * @brief Sets X axis ruler.
    *
    * Defines how scrolling horizontally is snapped, and
    * the boundary (domain) in which the ScrollView can pan.
@@ -679,7 +679,7 @@ public:
   void SetRulerX(RulerPtr ruler);
 
   /**
-   * @brief Set Y axis ruler.
+   * @brief Sets Y axis ruler.
    *
    * Defines how scrolling vertically is snapped, and the boundary
    * (domain) in which the ScrollView can pan.
@@ -690,18 +690,18 @@ public:
   void SetRulerY(RulerPtr ruler);
 
   /**
-   * @brief Set scroll sensibility of pan gesture.
+   * @brief Sets scroll sensibility of pan gesture.
    *
    * @SINCE_1_0.0
-   * @param[in] sensitive true to enable scroll, false to disable scrolling
+   * @param[in] sensitive @c true to enable scroll, @c false to disable scrolling
    * @note Unlike Actor::SetSensitive(), this determines whether this ScrollView
-   * should react (e.g. pan), without disrupting the sensitivity of it's children.
+   * should react (e.g. pan), without disrupting the sensitivity of its children.
    *
    */
   void SetScrollSensitive(bool sensitive);
 
   /**
-   * @brief Set maximum overshoot amount.
+   * @brief Sets maximum overshoot amount.
    *
    * The final overshoot value is within 0.0f to 1.0f, but the maximum
    * overshoot is in pixels (e.g. if you scroll 75 pixels beyond the
@@ -715,19 +715,19 @@ public:
   void SetMaxOvershoot(float overshootX, float overshootY);
 
   /**
-   * @brief Set Snap Overshoot animation's AlphaFunction.
+   * @brief Sets Snap Overshoot animation's AlphaFunction.
    *
    * @SINCE_1_0.0
-   * @param[in] alpha Easing alpha function of the overshoot snap animation.
+   * @param[in] alpha Easing alpha function of the overshoot snap animation
    */
   void SetSnapOvershootAlphaFunction(AlphaFunction alpha);
 
   /**
-   * @brief Set Snap Overshoot animation's Duration.
+   * @brief Sets Snap Overshoot animation's Duration.
    *
    * @SINCE_1_0.0
-   * @param[in] duration The duration of the overshoot snap animation.
-   * @note Set duration to 0 seconds, to disable Animation.
+   * @param[in] duration The duration of the overshoot snap animation
+   * @note Set duration to 0 seconds to disable Animation.
    *
    */
   void SetSnapOvershootDuration(float duration);
@@ -750,7 +750,7 @@ public:
    * When enabled, the ScrollView contents are wrapped over the X/Y Domain.
    *
    * @SINCE_1_0.0
-   * @param[in] enable Enables (true), or disables (false) Wrap Mode.
+   * @param[in] enable Enables (true), or disables (false) Wrap Mode
    * @note You must apply a position constraint that causes Wrapping
    * to all children.
    *
@@ -780,7 +780,7 @@ public:
    * @brief Returns state of Axis Auto Lock mode.
    *
    * @SINCE_1_0.0
-   * @return Whether Axis Auto Lock mode has been enabled or not.
+   * @return Whether Axis Auto Lock mode has been enabled or not
    */
   bool GetAxisAutoLock() const;
 
@@ -792,7 +792,7 @@ public:
    * only panning, until the pan gesture has completed.
    *
    * @SINCE_1_0.0
-   * @param[in] enable Enables (true), or disables (false) AxisAutoLock mode.
+   * @param[in] enable Enables (true), or disables (false) AxisAutoLock mode
    */
   void SetAxisAutoLock(bool enable);
 
@@ -801,7 +801,7 @@ public:
    * should be locked to the Horizontal or Vertical axis.
    *
    * @SINCE_1_0.0
-   * @return The gradient, a value between 0.0 and 1.0f.
+   * @return The gradient, a value between 0.0 and 1.0f
    */
   float GetAxisAutoLockGradient() const;
 
@@ -809,13 +809,13 @@ public:
    * @brief Sets the gradient threshold at which a panning gesture should be locked to the
    * Horizontal or Vertical axis.
    *
-   * By default this is 0.36 (0.36:1) which means angles less than 20
+   * By default, this is 0.36 (0.36:1) which means angles less than 20
    * degrees to an axis will lock to that axis.
    *
    * @SINCE_1_0.0
    * @param[in] gradient A value between 0.0 and 1.0 (auto-lock for all angles)
    * @note Specifying a value of 1.0 (the maximum value accepted) indicates that
-   * all panning gestures will auto-lock. Either to the horizontal or vertical axis.
+   * all panning gestures will auto-lock either to the horizontal or vertical axis.
    *
    */
   void SetAxisAutoLockGradient(float gradient);
@@ -827,7 +827,7 @@ public:
    * This is a value in stage-diagonals per second^2.
    * stage-diagonal = Length( stage.width, stage.height )
    * @SINCE_1_0.0
-   * @return Friction coefficient is returned.
+   * @return Friction coefficient is returned
    */
   float GetFrictionCoefficient() const;
 
@@ -842,7 +842,7 @@ public:
    * Friction coefficient of 1.0 means the swipe velocity will
    * reduce by 1.0 * 933 pixels/sec^2.
    * @SINCE_1_0.0
-   * @param[in] friction Friction coefficient, must be greater than 0.0 (default = 1.0)
+   * @param[in] friction Friction coefficient must be greater than 0.0 (default = 1.0)
    */
   void SetFrictionCoefficient(float friction);
 
@@ -854,7 +854,7 @@ public:
    * flick velocity to determine the actual velocity at
    * which to move the scrolling area.
    * @SINCE_1_0.0
-   * @return The flick speed coefficient is returned.
+   * @return The flick speed coefficient is returned
    */
   float GetFlickSpeedCoefficient() const;
 
@@ -866,7 +866,7 @@ public:
    * flick velocity to determine the actual velocity at
    * which to move the scrolling area.
    * @SINCE_1_0.0
-   * @param[in] speed The flick speed coefficient (default = 1.0).
+   * @param[in] speed The flick speed coefficient (default = 1.0)
    */
   void SetFlickSpeedCoefficient(float speed);
 
@@ -881,7 +881,7 @@ public:
   /**
    * @brief Sets the minimum pan distance required for a flick in pixels.
    *
-   * Takes a Vector2 containing separate x and y values. As long as the pan distance exceeds one of these axes a flick will be allowed.
+   * Takes a Vector2 containing separate x and y values. As long as the pan distance exceeds one of these axes, a flick will be allowed.
    *
    * @SINCE_1_0.0
    * @param[in] distance The minimum pan distance for a flick
@@ -935,7 +935,7 @@ public:
    * each wheel event received in free panning mode.
    *
    * @SINCE_1_0.0
-   * @return The step of scroll distance(pixel) in X and Y axes.
+   * @return The step of scroll distance(pixel) in X and Y axes
    */
   Vector2 GetWheelScrollDistanceStep() const;
 
@@ -944,7 +944,7 @@ public:
    * each wheel event received in free panning mode.
    *
    * @SINCE_1_0.0
-   * @param[in] step The step of scroll distance(pixel) in X and Y axes.
+   * @param[in] step The step of scroll distance(pixel) in X and Y axes
    *
    * @note If snap points are defined in the rulers, it will always
    * scroll to the next snap point towards the scroll direction while
@@ -956,8 +956,8 @@ public:
   /**
    * @brief Retrieves current scroll position.
    *
-   * @returns The current scroll position.
    * @SINCE_1_0.0
+   * @return The current scroll position
    */
   Vector2 GetCurrentScrollPosition() const;
 
@@ -970,7 +970,7 @@ public:
    * @SINCE_1_0.0
    * @note Pages start from 0 as the first page, not 1.
    *
-   * @returns The Current page.
+   * @return The Current page
    */
   unsigned int GetCurrentPage() const;
 
@@ -982,7 +982,7 @@ public:
    * - If Rulers have been applied to the axes, then the contents will scroll until
    * reaching the domain boundary.
    * @SINCE_1_0.0
-   * @param[in] position The position to scroll to.
+   * @param[in] position The position to scroll to
    * @note Contents will not snap to ruler snap points.
    *
    */
@@ -996,7 +996,7 @@ public:
    * - If Rulers have been applied to the axes, then the contents will scroll until
    * reaching the domain boundary.
    * @SINCE_1_0.0
-   * @param[in] position The position to scroll to.
+   * @param[in] position The position to scroll to
    * @param[in] duration The duration of the animation in seconds
    * @note Contents will not snap to ruler snap points.
    *
@@ -1011,7 +1011,7 @@ public:
    * - If Rulers have been applied to the axes, then the contents will scroll until
    * reaching the domain boundary.
    * @SINCE_1_0.0
-   * @param[in] position The position to scroll to.
+   * @param[in] position The position to scroll to
    * @param[in] duration The duration of the animation in seconds
    * @param[in] alpha The alpha function to use
    * @note Contents will not snap to ruler snap points.
@@ -1027,10 +1027,10 @@ public:
    * - If Rulers have been applied to the axes, then the contents will scroll until
    * reaching the domain boundary.
    * @SINCE_1_0.0
-   * @param[in] position The position to scroll to.
+   * @param[in] position The position to scroll to
    * @param[in] duration The duration of the animation in seconds
-   * @param[in] horizontalBias Whether to bias scrolling to left or right.
-   * @param[in] verticalBias Whether to bias scrolling to top or bottom.
+   * @param[in] horizontalBias Whether to bias scrolling to left or right
+   * @param[in] verticalBias Whether to bias scrolling to top or bottom
    * @note Contents will not snap to ruler snap points.
    * Biasing parameters are provided such that in scenarios with 2 or 2x2 pages in
    * wrap mode, the application developer can decide whether to scroll left or right
@@ -1048,10 +1048,10 @@ public:
    * - If Rulers have been applied to the axes, then the contents will scroll until
    * reaching the domain boundary.
    * @SINCE_1_0.0
-   * @param[in] position The position to scroll to.
+   * @param[in] position The position to scroll to
    * @param[in] duration The duration of the animation in seconds
-   * @param[in] horizontalBias Whether to bias scrolling to left or right.
-   * @param[in] verticalBias Whether to bias scrolling to top or bottom.
+   * @param[in] horizontalBias Whether to bias scrolling to left or right
+   * @param[in] verticalBias Whether to bias scrolling to top or bottom
    * @param[in] alpha Alpha function to use
    * @note Contents will not snap to ruler snap points.
    * Biasing parameters are provided such that in scenarios with 2 or 2x2 pages in
@@ -1067,7 +1067,7 @@ public:
    * "(page) * ScrollViewSize.width, 0".
    *
    * @SINCE_1_0.0
-   * @param[in] page to scroll to
+   * @param[in] page The page to scroll to
    * @note Should probably be upgraded so that page is an abstract class, that can be
    * a function of ScrollViewSize, ruler domain, ruler snap points etc. as pages may be
    * orchestrated in a 2D grid fashion, or variable width.
@@ -1080,7 +1080,7 @@ public:
    * "(page) * ScrollViewSize.width, 0".
    *
    * @SINCE_1_0.0
-   * @param[in] page to scroll to
+   * @param[in] page The page to scroll to
    * @param[in] duration The duration of the animation in seconds
    * @note Should probably be upgraded so that page is an abstract class, that can be
    * a function of ScrollViewSize, ruler domain, ruler snap points etc. as pages may be
@@ -1094,9 +1094,9 @@ public:
    * "(page) * ScrollViewSize.width, 0".
    *
    * @SINCE_1_0.0
-   * @param[in] page to scroll to
+   * @param[in] page The page to scroll to
    * @param[in] duration The duration of the animation in seconds
-   * @param[in] bias Whether to bias scrolling to left or right.
+   * @param[in] bias Whether to bias scrolling to left or right
    * @note Should probably be upgraded so that page is an abstract class, that can be
    * a function of ScrollViewSize, ruler domain, ruler snap points etc. as pages may be
    * orchestrated in a 2D grid fashion, or variable width.
@@ -1111,7 +1111,7 @@ public:
    * @brief Scrolls View such that actor appears in the center of the ScrollView.
    *
    * @SINCE_1_0.0
-   * @param[in] actor The actor to center in on (via Scrolling).
+   * @param[in] actor The actor to center in on (via Scrolling)
    * @note Actor must be a direct child of ScrollView, otherwise will
    * cause an assertion failure.
    */
@@ -1121,7 +1121,7 @@ public:
    * @brief Scrolls View such that actor appears in the center of the ScrollView.
    *
    * @SINCE_1_0.0
-   * @param[in] actor The actor to center in on (via Scrolling).
+   * @param[in] actor The actor to center in on (via Scrolling)
    * @param[in] duration The duration of the animation in seconds
    * @note Actor must be a direct child of ScrollView, otherwise will
    * cause an assertion failure.
@@ -1134,7 +1134,7 @@ public:
    * If already at snap points, then will return false, and not scroll.
    *
    * @SINCE_1_0.0
-   * @return True if Snapping necessary.
+   * @return True if Snapping necessary
    */
   bool ScrollToSnapPoint();
 
@@ -1157,7 +1157,7 @@ public:
   void RemoveConstraintsFromChildren();
 
   /**
-   * @brief Apply Effect to ScrollView.
+   * @brief Applies Effect to ScrollView.
    *
    * @SINCE_1_0.0
    * @param[in] effect The effect to apply to scroll view
@@ -1165,10 +1165,10 @@ public:
   void ApplyEffect(ScrollViewEffect effect);
 
   /**
-   * @brief Remove Effect from ScrollView.
+   * @brief Removes Effect from ScrollView.
    *
    * @SINCE_1_0.0
-   * @param[in] effect The effect to remove.
+   * @param[in] effect The effect to remove
    */
   void RemoveEffect(ScrollViewEffect effect);
 
@@ -1185,16 +1185,16 @@ public:
    * that ScrollView's properties.
    *
    * @SINCE_1_0.0
-   * @param[in] child The actor to add to this ScrollView.
+   * @param[in] child The actor to add to this ScrollView
    */
   void BindActor(Actor child);
 
   /**
-   * @brief Unbind Actor from this ScrollView.
+   * @brief Unbinds Actor from this ScrollView.
    *
    * Once Unbound, this ScrollView will not affect the actor.
    * @SINCE_1_0.0
-   * @param[in] child The actor to be unbound.
+   * @param[in] child The actor to be unbound
    * @note This does not remove the child from the ScrollView container
    *
    */
@@ -1206,13 +1206,13 @@ public:
    * @SINCE_1_0.0
    * @param[in] direction The axis to constrain the scroll-view to.
    *                      Usually set to PanGestureDetector::DIRECTION_VERTICAL or PanGestureDetector::DIRECTION_HORIZONTAL (but can be any other angle if desired).
-   * @param[in] threshold The threshold to apply around the axis.
+   * @param[in] threshold The threshold to apply around the axis
    * @note If no threshold is specified, then the default threshold of PI * 0.25 radians (or 45 degrees) is used.
    */
   void SetScrollingDirection( Radian direction, Radian threshold = PanGestureDetector::DEFAULT_THRESHOLD );
 
   /**
-   * @brief Remove a direction constraint from the scroll view.
+   * @brief Removes a direction constraint from the scroll view.
    *
    * @SINCE_1_0.0
    * @param[in] direction The axis to stop constraining to.
@@ -1231,7 +1231,7 @@ public: // Signals
    *   void YourCallbackName(const SnapEvent& event);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   SnapStartedSignalType& SnapStartedSignal();
@@ -1243,7 +1243,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL ScrollView(Internal::ScrollView& implementation);
 
@@ -1251,7 +1251,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL ScrollView( Dali::Internal::CustomActor* internal );
   /// @endcond
index df051bd..44f1b26 100644 (file)
@@ -55,7 +55,7 @@ class DALI_IMPORT_API Scrollable : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -68,13 +68,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the Scrollable class.
+   * @brief Enumeration for the instance of properties belonging to the Scrollable class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the Scrollable class.
+     * @brief Enumeration for the instance of properties belonging to the Scrollable class.
      * @SINCE_1_0.0
      */
     enum
@@ -128,13 +128,13 @@ public:
    *
    * Changes this handle to point to another real object.
    * @SINCE_1_0.0
-   * @param[in] handle to copy from
+   * @param[in] handle Handle to copy from
    * @return A reference to this
    */
   Scrollable& operator=( const Scrollable& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -142,10 +142,10 @@ public:
   ~Scrollable();
 
   /**
-   * @brief Downcast a handle to Scrollable handle.
+   * @brief Downcasts a handle to Scrollable handle.
    *
-   * If handle points to a Scrollable the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a Scrollable, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
@@ -170,33 +170,33 @@ public:
   void SetOvershootEnabled(bool enable);
 
   /**
-   * @brief Set the color of the overshoot effect.
+   * @brief Sets the color of the overshoot effect.
    *
    * @SINCE_1_0.0
-   * @param[in] color The color of the overshoot effect.
+   * @param[in] color The color of the overshoot effect
    */
   void SetOvershootEffectColor( const Vector4& color );
 
   /**
-   * @brief Get the color of the overshoot effect.
+   * @brief Gets the color of the overshoot effect.
    * @SINCE_1_0.0
-   * @return The color of the overshoot effect.
+   * @return The color of the overshoot effect
    */
   Vector4 GetOvershootEffectColor() const;
 
   /**
-   * @brief Set the speed of overshoot animation in pixels per second.
+   * @brief Sets the speed of overshoot animation in pixels per second.
    *
    * When the speed is not greater than 0, the overshoot is set instantly with no animation.
    * @SINCE_1_0.0
-   * @param[in] pixelsPerSecond The speed of the overshoot animation.
+   * @param[in] pixelsPerSecond The speed of the overshoot animation
    */
   void SetOvershootAnimationSpeed( float pixelsPerSecond );
 
   /**
-   * @brief Get the speed of overshoot animation in pixels per second.
+   * @brief Gets the speed of overshoot animation in pixels per second.
    * @SINCE_1_0.0
-   * @return The speed of the overshoot animation.
+   * @return The speed of the overshoot animation
    */
   float GetOvershootAnimationSpeed() const;
 
@@ -210,7 +210,7 @@ public: // Signals
    *   void YourCallbackName(const Vector2& currentScrollPosition);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   ScrollStartedSignalType& ScrollStartedSignal();
@@ -223,7 +223,7 @@ public: // Signals
    *   void YourCallbackName(const Vector2& currentScrollPosition);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   ScrollUpdatedSignalType& ScrollUpdatedSignal();
@@ -236,7 +236,7 @@ public: // Signals
    *   void YourCallbackName(const Vector2& currentScrollPosition);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   ScrollCompletedSignalType& ScrollCompletedSignal();
@@ -248,7 +248,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Scrollable(Internal::Scrollable& implementation);
 
@@ -256,7 +256,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL Scrollable( Dali::Internal::CustomActor* internal );
   /// @endcond
index 851efe8..83e2b5c 100644 (file)
@@ -37,7 +37,7 @@ class Slider;
  */
 
 /**
- * @brief Slider is a control to enable sliding an indicator between two values
+ * @brief Slider is a control to enable sliding an indicator between two values.
  *
  * Signals
  * | %Signal Name      | Method                        |
@@ -54,7 +54,7 @@ public:
   // Properties
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_1.39
    */
   enum PropertyRange
@@ -64,104 +64,104 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the Slider class.
+   * @brief Enumeration for the instance of properties belonging to the Slider class.
    * @SINCE_1_1.39
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the Slider class.
+     * @brief Enumeration for the instance of properties belonging to the Slider class.
      * @SINCE_1_1.39
      */
     enum
     {
 
       /**
-       * @brief name "lowerBound", type float
+       * @brief name "lowerBound", type float.
        * @SINCE_1_1.39
        */
       LOWER_BOUND = PROPERTY_START_INDEX,
 
       /**
-       * @brief name "upperBound", type float
+       * @brief name "upperBound", type float.
        * @SINCE_1_1.39
        */
       UPPER_BOUND,
 
       /**
-       * @brief name "value", type float
+       * @brief name "value", type float.
        * @SINCE_1_1.39
        */
       VALUE,
 
       /**
-       * @brief name "trackVisual", type string if it is a url, map otherwise
+       * @brief name "trackVisual", type string if it is a url, map otherwise.
        * @SINCE_1_1.39
        */
       TRACK_VISUAL,
 
       /**
-       * @brief name "handleVisual", type string if it is a url, map otherwise
+       * @brief name "handleVisual", type string if it is a url, map otherwise.
        * @SINCE_1_1.39
        */
       HANDLE_VISUAL,
 
       /**
-       * @brief name "progressVisual", type string if it is a url, map otherwise
+       * @brief name "progressVisual", type string if it is a url, map otherwise.
        * @SINCE_1_1.39
        */
       PROGRESS_VISUAL,
 
       /**
-       * @brief name "popupVisual", type string if it is a url, map otherwise
+       * @brief name "popupVisual", type string if it is a url, map otherwise.
        * @SINCE_1_1.39
        */
       POPUP_VISUAL,
 
       /**
-       * @brief name "popupArrowVisual", type string if it is a url, map otherwise
+       * @brief name "popupArrowVisual", type string if it is a url, map otherwise.
        * @SINCE_1_1.39
        */
       POPUP_ARROW_VISUAL,
 
       /**
-       * @brief name "disabledColor", type Vector4
+       * @brief name "disabledColor", type Vector4.
        * @SINCE_1_1.39
        */
       DISABLED_COLOR,
 
       /**
-       * @brief name "valuePrecision", type int
+       * @brief name "valuePrecision", type int.
        * @SINCE_1_1.39
        */
       VALUE_PRECISION,
 
       /**
-       * @brief name "showPopup", type bool
+       * @brief name "showPopup", type bool.
        * @SINCE_1_1.39
        */
       SHOW_POPUP,
 
       /**
-       * @brief name "showValue", type bool
+       * @brief name "showValue", type bool.
        * @SINCE_1_1.39
        */
       SHOW_VALUE,
 
       /**
-       * @brief name "marks", type Property::Array<float>
+       * @brief name "marks", type Property::Array<float>.
        * @SINCE_1_1.39
        */
       MARKS,
 
       /**
-       * @brief name "snapToMarks", type bool
+       * @brief name "snapToMarks", type bool.
        * @SINCE_1_1.39
        */
       SNAP_TO_MARKS,
 
       /**
-       * @brief name "markTolerance", type float
+       * @brief name "markTolerance", type float.
        * @SINCE_1_1.39
        */
       MARK_TOLERANCE,
@@ -211,10 +211,10 @@ public:
   ~Slider();
 
   /**
-   * @brief Downcast an Object handle to Slider.
+   * @brief Downcasts an Object handle to Slider.
    *
-   * If handle points to a Slider the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * If handle points to a Slider, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    * @SINCE_1_1.39
    * @param[in] handle Handle to an object
    * @return handle to a Slider or an uninitialized handle
@@ -278,7 +278,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_1.39
-   * @param[in]  implementation  The Control implementation
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL Slider(Internal::Slider& implementation);
 
@@ -286,7 +286,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_1.39
-   * @param[in]  internal  A pointer to the internal CustomActor
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL Slider( Dali::Internal::CustomActor* internal );
   /// @endcond
index fb7dd53..9674dc9 100644 (file)
@@ -74,11 +74,11 @@ class TableView;
  *    "url": "{DALI_IMAGE_DIR}gallery-small-1.jpg"
  *  },
  *  "properties": {
- *     "cellIndex":[1,1],  // property to specify the top-left cell this child occupies, if not set, the first available cell is used
- *     "rowSpan":3,        // property to specify how many rows this child occupies, if not set, default value is 1
- *     "columnSpan": 2,    // property to specify how many columns this child occupies, if nor set, default value is 1
- *     "cellHorizontalAlignment": "left", // property to specify how to align horizontally inside the cells, if not set, default value is 'left'
- *     "cellVerticalAlignment": "center"  // property to specify how to align vertically inside the cells, if not set, default value is 'top'
+ *     "cellIndex":[1,1],  // Property to specify the top-left cell this child occupies, if not set, the first available cell is used
+ *     "rowSpan":3,        // Property to specify how many rows this child occupies, if not set, default value is 1
+ *     "columnSpan": 2,    // Property to specify how many columns this child occupies, if nor set, default value is 1
+ *     "cellHorizontalAlignment": "left", // Property to specify how to align horizontally inside the cells, if not set, default value is 'left'
+ *     "cellVerticalAlignment": "center"  // Property to specify how to align vertically inside the cells, if not set, default value is 'top'
  *   }
  * @endcode
  * @SINCE_1_0.0
@@ -88,7 +88,7 @@ class DALI_IMPORT_API TableView : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -101,7 +101,7 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the TableView class.
+   * @brief Enumeration for the instance of properties belonging to the TableView class.
    *
    * LayoutRows: set the height of the rows.
    * It has the format as follows in script:
@@ -129,7 +129,7 @@ public:
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the TableView class.
+     * @brief Enumeration for the instance of properties belonging to the TableView class.
      *
      * @SINCE_1_0.0
      */
@@ -144,13 +144,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of child properties belonging to the TableView class.
+   * @brief Enumeration for the instance of child properties belonging to the TableView class.
    * @SINCE_1_1.36
    */
   struct ChildProperty
   {
     /**
-     * @brief An enumeration of child properties belonging to the TableView class.
+     * @brief Enumeration for the instance of child properties belonging to the TableView class.
      * @SINCE_1_1.36
      */
     enum
@@ -164,7 +164,7 @@ public:
   };
 
   /**
-   * @brief Describes how the size of a row / column been set
+   * @brief Enumeration for describing how the size of a row / column has been set.
    * @SINCE_1_0.0
    */
   enum LayoutPolicy
@@ -176,13 +176,13 @@ public:
   };
 
   /**
-   * @brief Structure to specify layout position for child actor
+   * @brief Structure to specify layout position for child actor.
    * @SINCE_1_0.0
    */
   struct CellPosition
   {
     /**
-     * @brief Constructor to initialise values to defaults for convenience
+     * @brief Constructor to initialise values to defaults for convenience.
      * @SINCE_1_0.0
      * @param[in] rowIndex The row index initialized
      * @param[in] columnIndex The column index initialized
@@ -202,21 +202,21 @@ public:
   };
 
   /**
-   * @brief Create a TableView handle; this can be initialised with TableView::New()
-   * Calling member functions with an uninitialised handle is not allowed.
+   * @brief Creates a TableView handle; this can be initialized with TableView::New().
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_0.0
    */
   TableView();
 
   /**
-   * @brief Copy constructor. Creates another handle that points to the same real object
+   * @brief Copy constructor. Creates another handle that points to the same real object.
    * @SINCE_1_0.0
-   * @param[in] handle to copy from
+   * @param[in] handle Handle to copy from
    */
   TableView( const TableView& handle );
 
   /**
-   * @brief Assignment operator. Changes this handle to point to another real object
+   * @brief Assignment operator. Changes this handle to point to another real object.
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
    * @return A reference to this
@@ -224,7 +224,7 @@ public:
   TableView& operator=( const TableView& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -232,150 +232,149 @@ public:
   ~TableView();
 
   /**
-   * @brief Create the TableView control.
+   * @brief Creates the TableView control.
    * @SINCE_1_0.0
    * @param[in] initialRows for the table
    * @param[in] initialColumns for the table
-   * @return A handle to the TableView control.
+   * @return A handle to the TableView control
    */
   static TableView New( unsigned int initialRows, unsigned int initialColumns );
 
   /**
-   * @brief Downcast a handle to TableView handle.
+   * @brief Downcasts a handle to TableView handle.
    *
-   * If handle points to a TableView the
-   * downcast produces valid handle. If not the returned handle is left uninitialized.
+   * If handle points to a TableView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a TableView or an uninitialized handle
+   * @return Handle to a TableView or an uninitialized handle
    */
   static TableView DownCast( BaseHandle handle );
 
   /**
-   * @brief Adds a child to the table
-   * If the row or column index is outside the table, the table gets resized bigger
+   * @brief Adds a child to the table.
+   * If the row or column index is outside the table, the table gets resized bigger.
    * @SINCE_1_0.0
-   * @param[in] child to add
-   * @param[in] position for the child
-   * @return true if the addition succeeded, false if the cell is already occupied
+   * @param[in] child The child to add
+   * @param[in] position The position for the child
+   * @return @c true if the addition succeeded, @c false if the cell is already occupied
    * @pre The child actor has been initialized.
    */
   bool AddChild( Actor child, CellPosition position );
 
   /**
-   * @brief Returns a child from the given layout position
+   * @brief Returns a child from the given layout position.
    * @SINCE_1_0.0
-   * @param[in] position in the table
-   * @return child that was in the cell or an uninitialized handle
+   * @param[in] position The position in the table
+   * @return Child that was in the cell or an uninitialized handle
    * @note If there is no child in this position this method returns an uninitialized.
    * Actor handle
    */
   Actor GetChildAt( CellPosition position );
 
   /**
-   * @brief Removes a child from the given layout position
+   * @brief Removes a child from the given layout position.
    * @SINCE_1_0.0
-   * @param[in] position for the child to remove
-   * @return child that was removed or an uninitialized handle
-   * @note If there is no child in this position this method does nothing.
+   * @param[in] position The position for the child to remove
+   * @return Child that was removed or an uninitialized handle
+   * @note If there is no child in this position, this method does nothing.
    */
   Actor RemoveChildAt( CellPosition position );
 
   /**
-   * @brief Finds the childs layout position
+   * @brief Finds the child's layout position.
    * @SINCE_1_0.0
-   * @param[in] child to search for
-   * @param[out] position for the child
+   * @param[in] child The child to search for
+   * @param[out] position The position for the child
    * @return true if the child was included in this TableView
    */
   bool FindChildPosition( Actor child, CellPosition& position );
 
   /**
-   * @brief Insert a new row to given index
+   * @brief Inserts a new row to given index.
    * @SINCE_1_0.0
-   * @param [in] rowIndex of the new row
+   * @param[in] rowIndex The rowIndex of the new row
    */
   void InsertRow( unsigned int rowIndex );
 
   /**
-   * @brief Delete a row from given index
-   * Removed elements are deleted
+   * @brief Deletes a row from the given index.
+   * Removed elements are deleted.
    * @SINCE_1_0.0
-   * @param [in] rowIndex of the row to delete
+   * @param[in] rowIndex The rowIndex of the row to delete
    */
   void DeleteRow( unsigned int rowIndex );
 
   /**
-   * @brief Delete a row from given index
+   * @brief Deletes a row from the given index.
    * @SINCE_1_0.0
-   * @param [in] rowIndex of the row to delete
-   * @param [out] removed elements
+   * @param[in] rowIndex The rowIndex of the row to delete
+   * @param[out] removed The removed elements
    */
   void DeleteRow( unsigned int rowIndex, std::vector<Actor>& removed );
 
   /**
-   * @brief Insert a new column to given index
+   * @brief Inserts a new column to the given index.
    * @SINCE_1_0.0
-   * @param [in] columnIndex of the new column
+   * @param[in] columnIndex The columnIndex of the new column
    */
   void InsertColumn( unsigned int columnIndex );
 
   /**
-   * @brief Delete a column from given index.
-   * Removed elements are deleted
+   * @brief Deletes a column from the given index.
+   * Removed elements are deleted.
    * @SINCE_1_0.0
-   * @param [in] columnIndex of the column to delete
+   * @param[in] columnIndex The columnIndex of the column to delete
    */
   void DeleteColumn( unsigned int columnIndex );
 
   /**
-   * @brief Delete a column from given index
+   * @brief Deletes a column from the given index.
    * @SINCE_1_0.0
-   * @param [in] columnIndex of the column to delete
-   * @param [out] removed elements
+   * @param[in] columnIndex The columnIndex of the column to delete
+   * @param[out] removed The removed elements
    */
   void DeleteColumn( unsigned int columnIndex, std::vector<Actor>& removed );
 
   /**
-   * @brief Resize the TableView.
+   * @brief Resizes the TableView.
    * @SINCE_1_0.0
-   * @param[in] rows for the table
-   * @param[in] columns for the table
+   * @param[in] rows The rows for the table
+   * @param[in] columns The columns for the table
    * @note If the new size is smaller than old,
    * superfluous actors get removed. If you want to relayout removed children,
    * use the variant that returns the removed Actors and reinsert them into the table.
-   * If an actor spans to a removed row or column it gets removed from the table.
+   * If an actor spans to a removed row or column, it gets removed from the table.
    */
   void Resize( unsigned int rows, unsigned int columns );
 
   /**
-   * @brief Resize the TableView.
+   * @brief Resizes the TableView.
    * @SINCE_1_0.0
-   * @param[in] rows for the table
-   * @param[in] columns for the table
-   * @param[out] removed actor handles
-   * @note If the new size is smaller than old,
-   * superfluous actors get removed.
+   * @param[in] rows The rows for the table
+   * @param[in] columns The columns for the table
+   * @param[out] removed The removed actor handles
+   * @note If the new size is smaller than old, superfluous actors get removed.
    * If an actor spans to a removed row or column it gets removed from the table.
    */
   void Resize( unsigned int rows, unsigned int columns, std::vector<Actor>& removed );
 
   /**
-   * @brief Set horizontal and vertical padding between cells
+   * @brief Sets horizontal and vertical padding between cells.
    * @SINCE_1_0.0
-   * @param[in] padding width and height
+   * @param[in] padding Width and height
    */
   void SetCellPadding( Size padding );
 
   /**
-   * @brief Get the current padding as width and height.
+   * @brief Gets the current padding as width and height.
    * @SINCE_1_0.0
-   * @return the current padding as width and height
+   * @return The current padding as width and height
    */
   Size GetCellPadding();
 
   /**
-   * @brief Specify this row as fitting its height to its children
+   * @brief Specifies this row as fitting its height to its children.
    *
    * @SINCE_1_0.0
    * @param[in] rowIndex The row to set
@@ -383,7 +382,7 @@ public:
   void SetFitHeight( unsigned int rowIndex );
 
   /**
-   * @brief Check if the row is a fit row.
+   * @brief Checks if the row is a fit row.
    *
    * @SINCE_1_0.0
    * @param[in] rowIndex The row to check
@@ -392,7 +391,7 @@ public:
   bool IsFitHeight( unsigned int rowIndex ) const;
 
   /**
-   * @brief Specify this column as fitting its width to its children
+   * @brief Specifies this column as fitting its width to its children.
    *
    * @SINCE_1_0.0
    * @param[in] columnIndex The column to set
@@ -400,7 +399,7 @@ public:
   void SetFitWidth( unsigned int columnIndex );
 
   /**
-   * @brief Check if the column is a fit column.
+   * @brief Checks if the column is a fit column.
    *
    * @SINCE_1_0.0
    * @param[in] columnIndex The column to check
@@ -409,11 +408,11 @@ public:
   bool IsFitWidth( unsigned int columnIndex ) const;
 
   /**
-   * @brief Sets a row to have fixed height
-   * Setting a fixed height of 0 has no effect
+   * @brief Sets a row to have fixed height.
+   * Setting a fixed height of 0 has no effect.
    * @SINCE_1_0.0
-   * @param rowIndex for row with fixed height
-   * @param height in world coordinate units
+   * @param rowIndex The rowIndex for row with fixed height
+   * @param height The height in world coordinate units
    * @pre The row rowIndex must exist.
    */
   void SetFixedHeight( unsigned int rowIndex, float height );
@@ -422,7 +421,7 @@ public:
    * @brief Gets a row's fixed height.
    * @SINCE_1_0.0
    * @param[in] rowIndex The row index with fixed height
-   * @return height in world coordinate units.
+   * @return height The height in world coordinate units
    * @pre The row rowIndex must exist.
    * @note The returned value is valid if it has been set before.
    */
@@ -430,10 +429,10 @@ public:
 
   /**
    * @brief Sets a row to have relative height. Relative height means percentage of
-   * the remainder of the table height after subtracting Padding and Fixed height rows
-   * Setting a relative height of 0 has no effect
+   * the remainder of the table height after subtracting Padding and Fixed height rows.
+   * Setting a relative height of 0 has no effect.
    * @SINCE_1_0.0
-   * @param rowIndex for row with relative height
+   * @param rowIndex The rowIndex for row with relative height
    * @param heightPercentage between 0.0f and 1.0f
    * @pre The row rowIndex must exist.
    */
@@ -443,18 +442,18 @@ public:
    * @brief Gets a row's relative height.
    * @SINCE_1_0.0
    * @param[in] rowIndex The row index with relative height
-   * @return height in percentage units, between 0.0f and 1.0f.
+   * @return Height in percentage units, between 0.0f and 1.0f
    * @pre The row rowIndex must exist.
    * @note The returned value is valid if it has been set before.
    */
   float GetRelativeHeight( unsigned int rowIndex ) const;
 
   /**
-   * @brief Sets a column to have fixed width
-   * Setting a fixed width of 0 has no effect
+   * @brief Sets a column to have fixed width.
+   * Setting a fixed width of 0 has no effect.
    * @SINCE_1_0.0
-   * @param columnIndex for column with fixed width
-   * @param width in world coordinate units
+   * @param columnIndex The columnIndex for column with fixed width
+   * @param width The width in world coordinate units
    * @pre The column columnIndex must exist.
    */
   void SetFixedWidth( unsigned int columnIndex, float width );
@@ -463,7 +462,7 @@ public:
    * @brief Gets a column's fixed width.
    * @SINCE_1_0.0
    * @param[in] columnIndex The column index with fixed width
-   * @return width in world coordinate units.
+   * @return Width in world coordinate units
    * @pre The column columnIndex must exist.
    * @note The returned value is valid if it has been set before.
    */
@@ -471,11 +470,11 @@ public:
 
   /**
    * @brief Sets a column to have relative width. Relative width means percentage of
-   * the remainder of table width after subtracting Padding and Fixed width columns
-   * Setting a relative width of 0 has no effect
+   * the remainder of table width after subtracting Padding and Fixed width columns.
+   * Setting a relative width of 0 has no effect.
    * @SINCE_1_0.0
-   * @param columnIndex for column with fixed width
-   * @param widthPercentage between 0.0f and 1.0f
+   * @param columnIndex The columnIndex for column with fixed width
+   * @param widthPercentage The widthPercentage between 0.0f and 1.0f
    * @pre The column columnIndex must exist.
    */
   void SetRelativeWidth( unsigned int columnIndex, float widthPercentage );
@@ -484,7 +483,7 @@ public:
    * @brief Gets a column's relative width.
    * @SINCE_1_0.0
    * @param[in] columnIndex The column index with relative width
-   * @return width in percentage units, between 0.0f and 1.0f.
+   * @return Width in percentage units, between 0.0f and 1.0f
    * @pre The column columnIndex must exist.
    * @note The returned value is valid if it has been set before.
    */
@@ -493,26 +492,26 @@ public:
   /**
    * @brief Gets the amount of rows in the table.
    * @SINCE_1_0.0
-   * @return the amount of rows in the table
+   * @return The amount of rows in the table
    */
   unsigned int GetRows();
 
   /**
    * @brief Gets the amount of columns in the table.
    * @SINCE_1_0.0
-   * @return the amount of columns in the table
+   * @return The amount of columns in the table
    */
   unsigned int GetColumns();
 
   /**
-   * @brief Set the alignment on a cell.
+   * @brief Sets the alignment on a cell.
    *
    * Cells without calling this function have the default values of LEFT and TOP respectively.
    *
    * @SINCE_1_0.0
-   * @param[in] position The cell to set alignment on.
-   * @param[in] horizontal The horizontal alignment.
-   * @param[in] vertical The vertical alignment.
+   * @param[in] position The cell to set alignment on
+   * @param[in] horizontal The horizontal alignment
+   * @param[in] vertical The vertical alignment
    */
   void SetCellAlignment( CellPosition position, HorizontalAlignment::Type horizontal, VerticalAlignment::Type vertical );
 
@@ -522,14 +521,14 @@ public: // Not intended for application developers
   /**
    * @brief Creates a handle using the Toolkit::Internal implementation.
    * @SINCE_1_0.0
-   * @param[in]  implementation  The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL TableView(Internal::TableView& implementation);
 
   /**
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL TableView( Dali::Internal::CustomActor* internal );
   /// @endcond
index 8108e58..19b58d6 100644 (file)
@@ -39,7 +39,7 @@ class TextEditor;
 /**
  * @brief A control which provides a multi-line editable text editor.
  *
- *  * Signals
+ * Signals
  * | %Signal Name         | Method                         |                    |
  * |----------------------|--------------------------------|--------------------|
  * | textChanged          | @ref TextChangedSignal()       | @SINCE_1_1.37      |
@@ -51,7 +51,7 @@ class DALI_IMPORT_API TextEditor : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_1.37
    */
   enum PropertyRange
@@ -61,13 +61,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the TextEditor class.
+   * @brief Enumeration for the instance of properties belonging to the TextEditor class.
    * @SINCE_1_1.37
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the TextEditor class.
+     * @brief Enumeration for the instance of properties belonging to the TextEditor class.
      * @SINCE_1_1.37
      */
     enum
@@ -123,8 +123,7 @@ public:
   struct InputStyle
   {
   /**
-   * @brief Mask used by the signal InputStyleChangedSignal().
-   *
+   * @brief Enumeration for mask used by the signal InputStyleChangedSignal().
    * @SINCE_1_2_2
    */
     enum Mask
@@ -157,10 +156,10 @@ public:
   typedef Signal<void ( TextEditor, InputStyle::Mask ) > InputStyleChangedSignalType;
 
   /**
-   * @brief Create the TextEditor control.
+   * @brief Creates the TextEditor control.
    *
    * @SINCE_1_1.37
-   * @return A handle to the TextEditor control.
+   * @return A handle to the TextEditor control
    */
   static TextEditor New();
 
@@ -175,7 +174,7 @@ public:
    * @brief Copy constructor.
    *
    * @SINCE_1_1.37
-   * @param[in] handle The handle to copy from.
+   * @param[in] handle The handle to copy from
    */
   TextEditor( const TextEditor& handle );
 
@@ -183,8 +182,8 @@ public:
    * @brief Assignment operator.
    *
    * @SINCE_1_1.37
-   * @param[in] handle The handle to copy from.
-   * @return A reference to this.
+   * @param[in] handle The handle to copy from
+   * @return A reference to this
    */
   TextEditor& operator=( const TextEditor& handle );
 
@@ -197,14 +196,14 @@ public:
   ~TextEditor();
 
   /**
-   * @brief Downcast a handle to TextEditor.
+   * @brief Downcasts a handle to TextEditor.
    *
-   * If the BaseHandle points is a TextEditor the downcast returns a valid handle.
-   * If not the returned handle is left empty.
+   * If the BaseHandle points is a TextEditor, the downcast returns a valid handle.
+   * If not, the returned handle is left empty.
    *
    * @SINCE_1_1.37
-   * @param[in] handle Handle to an object.
-   * @return handle to a TextEditor or an empty handle.
+   * @param[in] handle Handle to an object
+   * @return Handle to a TextEditor or an empty handle
    */
   static TextEditor DownCast( BaseHandle handle );
 
@@ -219,7 +218,7 @@ public:
    * @endcode
    *
    * @SINCE_1_1.37
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   TextChangedSignalType& TextChangedSignal();
 
@@ -233,7 +232,7 @@ public:
    * @endcode
    *
    * @SINCE_1_2_2
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   InputStyleChangedSignalType& InputStyleChangedSignal();
 
@@ -244,7 +243,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_1.37
-   * @param[in] implementation The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL TextEditor( Internal::TextEditor& implementation );
 
@@ -252,7 +251,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_1.37
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL TextEditor( Dali::Internal::CustomActor* internal );
   /// @endcond
index 57828f2..1dd97cf 100644 (file)
@@ -39,7 +39,7 @@ class TextField;
 /**
  * @brief A control which provides a single-line editable text field.
  *
- *  * Signals
+ * Signals
  * | %Signal Name         | Method                         |                    |
  * |----------------------|--------------------------------|--------------------|
  * | textChanged          | @ref TextChangedSignal()       | @SINCE_1_0.0       |
@@ -61,13 +61,13 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the TextField class.
+   * @brief Enumeration for the instance of properties belonging to the TextField class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the TextField class.
+     * @brief Enumeration for the instance of properties belonging to the TextField class.
      * @SINCE_1_0.0
      */
     enum
@@ -123,7 +123,7 @@ public:
   };
 
   /**
-   * @brief Specifies how the text is truncated when it does not fit
+   * @brief Enumeration for specifying how the text is truncated when it does not fit.
    *
    * The default value is \e EXCEED_POLICY_CLIP.
    * @SINCE_1_0.0
@@ -181,9 +181,9 @@ public:
   typedef Signal<void ( TextField, InputStyle::Mask ) > InputStyleChangedSignalType;
 
   /**
-   * @brief Create the TextField control.
+   * @brief Creates the TextField control.
    * @SINCE_1_0.0
-   * @return A handle to the TextField control.
+   * @return A handle to the TextField control
    */
   static TextField New();
 
@@ -197,7 +197,7 @@ public:
    * @brief Copy constructor.
    *
    * @SINCE_1_0.0
-   * @param[in] handle The handle to copy from.
+   * @param[in] handle The handle to copy from
    */
   TextField( const TextField& handle );
 
@@ -205,8 +205,8 @@ public:
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
-   * @param[in] handle The handle to copy from.
-   * @return A reference to this.
+   * @param[in] handle The handle to copy from
+   * @return A reference to this
    */
   TextField& operator=( const TextField& handle );
 
@@ -219,14 +219,14 @@ public:
   ~TextField();
 
   /**
-   * @brief Downcast a handle to TextField.
+   * @brief Downcasts a handle to TextField.
    *
-   * If the BaseHandle points is a TextField the downcast returns a valid handle.
-   * If not the returned handle is left empty.
+   * If the BaseHandle points is a TextField, the downcast returns a valid handle.
+   * If not, the returned handle is left empty.
    *
    * @SINCE_1_0.0
-   * @param[in] handle Handle to an object.
-   * @return handle to a TextField or an empty handle.
+   * @param[in] handle Handle to an object
+   * @return Handle to a TextField or an empty handle
    */
   static TextField DownCast( BaseHandle handle );
 
@@ -252,7 +252,7 @@ public:
    *   void YourCallbackName( TextField textField );
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   MaxLengthReachedSignalType& MaxLengthReachedSignal();
 
@@ -266,7 +266,7 @@ public:
    * @endcode
    *
    * @SINCE_1_2_2
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   InputStyleChangedSignalType& InputStyleChangedSignal();
 
@@ -276,7 +276,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in] implementation The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL TextField( Internal::TextField& implementation );
 
@@ -284,7 +284,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL TextField( Dali::Internal::CustomActor* internal );
 };
index 2ac2e4f..bd28fce 100644 (file)
@@ -68,7 +68,7 @@ class DALI_IMPORT_API TextLabel : public Control
 public:
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -78,146 +78,146 @@ public:
   };
 
   /**
-   * @brief An enumeration of properties belonging to the TextLabel class.
+   * @brief Enumeration for the instance of properties belonging to the TextLabel class.
    * @SINCE_1_0.0
    */
   struct Property
   {
     /**
-     * @brief An enumeration of properties belonging to the TextLabel class.
+     * @brief Enumeration for the instance of properties belonging to the TextLabel class.
      * @SINCE_1_0.0
      */
     enum
     {
       /**
-       * @brief The type of rendering e.g. bitmap-based
-       * @details name "renderingBackend", type INT, default RENDERING_SHARED_ATLAS
+       * @brief The type of rendering e.g. bitmap-based.
+       * @details name "renderingBackend", type INT, default RENDERING_SHARED_ATLAS.
        * @SINCE_1_0.0
        */
       RENDERING_BACKEND = PROPERTY_START_INDEX,
 
       /**
-       * @brief The text to display in UTF-8 format,
-       * @details name "text", type STRING
+       * @brief The text to display in UTF-8 format.
+       * @details name "text", type STRING.
        * @SINCE_1_0.0
        */
       TEXT,
 
       /**
-       * @brief The requested font family to use,
-       * @details name "fontFamily", type STRING
+       * @brief The requested font family to use.
+       * @details name "fontFamily", type STRING.
        * @SINCE_1_0.0
        */
       FONT_FAMILY,
 
       /**
-       * @brief The requested font style to use,
-       * @details name "fontStyle", type STRING or MAP
+       * @brief The requested font style to use.
+       * @details name "fontStyle", type STRING or MAP.
        * @SINCE_1_2.13
        */
       FONT_STYLE,
 
       /**
-       * @brief The size of font in points
-       * @details name "pointSize", type FLOAT
+       * @brief The size of font in points.
+       * @details name "pointSize", type FLOAT.
        * @SINCE_1_0.0
        */
       POINT_SIZE,
 
       /**
-       * @brief The single-line or multi-line layout option
-       * @details name "multiLine", type BOOLEAN, default false
+       * @brief The single-line or multi-line layout option.
+       * @details name "multiLine", type BOOLEAN, default false.
        * @SINCE_1_0.0
        */
       MULTI_LINE,
 
       /**
-       * @brief The line horizontal alignment
-       * @details name "horizontalAlignment", type STRING,  values "BEGIN", "CENTER", "END", default BEGIN
+       * @brief The line horizontal alignment.
+       * @details name "horizontalAlignment", type STRING, values "BEGIN", "CENTER", "END", default BEGIN.
        * @SINCE_1_0.0
        */
       HORIZONTAL_ALIGNMENT,
 
       /**
-       * @brief The line vertical alignment
-       * @details name "verticalAlignment", type STRING,  values "TOP",   "CENTER", "BOTTOM" @SINCE_1_0.0, default TOP
+       * @brief The line vertical alignment.
+       * @details name "verticalAlignment", type STRING,  values "TOP",   "CENTER", "BOTTOM" @SINCE_1_0.0, default TOP.
        * @SINCE_1_0.0
        */
       VERTICAL_ALIGNMENT,
 
       /**
-       * @brief The color of the text
-       * @details name "textColor", type VECTOR4
+       * @brief The color of the text.
+       * @details name "textColor", type VECTOR4.
        * @SINCE_1_0.0
        */
       TEXT_COLOR,
 
       /**
-       * @brief The drop shadow offset 0 indicates no shadow
-       * @details name "shadowOffset", type VECTOR2
        * @DEPRECATED_1_1.37 Use SHADOW instead
+       * @brief The drop shadow offset 0 indicates no shadow.
+       * @details name "shadowOffset", type VECTOR2.
        */
       SHADOW_OFFSET,
 
       /**
-       * @brief The color of a drop shadow
-       * @details name "shadowColor", type VECTOR4
        * @DEPRECATED_1_1.37 Use SHADOW instead
+       * @brief The color of a drop shadow.
+       * @details name "shadowColor", type VECTOR4
        */
       SHADOW_COLOR,
 
       /**
-       * @brief The underline enabled flag
-       * @details name "underlineEnabled", type BOOLEAN
        * @DEPRECATED_1_1.37 Use UNDERLINE instead
+       * @brief The underline enabled flag.
+       * @details name "underlineEnabled", type BOOLEAN.
        */
       UNDERLINE_ENABLED,
 
       /**
-       * @brief The color of the underline
-       * @details name "underlineColor", type VECTOR4
        * @DEPRECATED_1_1.37 Use UNDERLINE instead
+       * @brief The color of the underline.
+       * @details name "underlineColor", type VECTOR4.
        */
       UNDERLINE_COLOR,
 
       /**
-       * @brief Overrides the underline height from font metrics
-       * @details name "underlineHeight", type FLOAT
        * @DEPRECATED_1_1.37 Use UNDERLINE instead
+       * @brief Overrides the underline height from font metrics.
+       * @details name "underlineHeight", type FLOAT.
        */
       UNDERLINE_HEIGHT,
 
       /**
-       * @brief  Whether the mark-up processing is enabled
-       * @details name "enableMarkup", type BOOLEAN
+       * @brief Whether the mark-up processing is enabled.
+       * @details name "enableMarkup", type BOOLEAN.
        * @SINCE_1_0.0
        */
       ENABLE_MARKUP,
 
       /**
-       * @brief  Start or stop auto scrolling,
-       * @details name "enableAutoScroll", type BOOLEAN, default is false
+       * @brief Starts or stops auto scrolling.
+       * @details name "enableAutoScroll", type BOOLEAN, default is false.
        * @SINCE_1_1.35
        */
       ENABLE_AUTO_SCROLL,
 
       /**
-       * @brief Sets the speed of scrolling in pixels per second,
-       * @details name "autoScrollSpeed", type INT, default in style sheet
+       * @brief Sets the speed of scrolling in pixels per second.
+       * @details name "autoScrollSpeed", type INT, default in style sheet.
        * @SINCE_1_1.35
        */
       AUTO_SCROLL_SPEED,
 
       /**
-       * @brief  Number of complete loops when scrolling enabled
-       * @details name "autoScrollLoopCount", type INT, default in style sheet
+       * @brief Number of complete loops when scrolling enabled.
+       * @details name "autoScrollLoopCount", type INT, default in style sheet.
        * @SINCE_1_1.35
        */
       AUTO_SCROLL_LOOP_COUNT,
 
       /**
-       * @brief  Gap before before scrolling wraps
-       * @details name "autoScrollGap", type INT, default in style sheet but can be overridden to prevent same text being show at start and end.
+       * @brief Gap before scrolling wraps.
+       * @details name "autoScrollGap", type INT, default in style sheet but can be overridden to prevent same text being shown at start and end.
        * @SINCE_1_1.35
        */
       AUTO_SCROLL_GAP,
@@ -260,19 +260,19 @@ public:
   };
 
   /**
-   * @brief Create the TextLabel control.
+   * @brief Creates the TextLabel control.
    *
    * @SINCE_1_0.0
-   * @return A handle to the TextLabel control.
+   * @return A handle to the TextLabel control
    */
   static TextLabel New();
 
   /**
-   * @brief Create the TextLabel control.
+   * @brief Creates the TextLabel control.
    *
    * @SINCE_1_0.0
-   * @param[in] text The text to display.
-   * @return A handle to the TextLabel control.
+   * @param[in] text The text to display
+   * @return A handle to the TextLabel control
    */
   static TextLabel New( const std::string& text );
 
@@ -286,7 +286,7 @@ public:
    * @brief Copy constructor.
    *
    * @SINCE_1_0.0
-   * @param[in] handle The handle to copy from.
+   * @param[in] handle The handle to copy from
    */
   TextLabel( const TextLabel& handle );
 
@@ -294,13 +294,13 @@ public:
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
-   * @param[in] handle The handle to copy from.
-   * @return A reference to this.
+   * @param[in] handle The handle to copy from
+   * @return A reference to this
    */
   TextLabel& operator=( const TextLabel& handle );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -308,14 +308,14 @@ public:
   ~TextLabel();
 
   /**
-   * @brief Downcast a handle to TextLabel.
+   * @brief Downcasts a handle to TextLabel.
    *
-   * If the BaseHandle points is a TextLabel the downcast returns a valid handle.
-   * If not the returned handle is left empty.
+   * If the BaseHandle points is a TextLabel, the downcast returns a valid handle.
+   * If not, the returned handle is left empty.
    *
    * @SINCE_1_0.0
    * @param[in] handle Handle to an object
-   * @return handle to a TextLabel or an empty handle
+   * @return Handle to a TextLabel or an empty handle
    */
   static TextLabel DownCast( BaseHandle handle );
 
@@ -326,7 +326,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_0.0
-   * @param[in] implementation The Control implementation.
+   * @param[in] implementation The Control implementation
    */
   DALI_INTERNAL TextLabel( Internal::TextLabel& implementation );
 
@@ -334,7 +334,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this Control from an Internal::CustomActor pointer.
    *
    * @SINCE_1_0.0
-   * @param[in]  internal  A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   explicit DALI_INTERNAL TextLabel( Dali::Internal::CustomActor* internal );
   /// @endcond
index 8fa6fcc..d6a9bdf 100644 (file)
@@ -67,7 +67,7 @@ public:
   typedef Signal< void (VideoView&) > VideoViewSignalType; ///< Video playback finished signal type @ SINCE_1_1.38
 
   /**
-   * @brief The start and end property ranges for this control.
+   * @brief Enumeration for the start and end property ranges for this control.
    * @SINCE_1_0.0
    */
   enum PropertyRange
@@ -80,25 +80,25 @@ public:
     enum
     {
       /**
-       * @brief name "video", video file url as string type or Property::Map
+       * @brief name "video", video file url as string type or Property::Map.
        * @SINCE_1_1.38
        */
       VIDEO = PROPERTY_START_INDEX,
 
      /**
-       * @brief name "looping", looping status, true or false
+       * @brief name "looping", looping status, true or false.
        * @SINCE_1_1.38
        */
       LOOPING,
 
      /**
-       * @brief name "muted", mute status, true or false
+       * @brief name "muted", mute status, true or false.
        * @SINCE_1_1.38
        */
       MUTED,
 
      /**
-       * @brief name "volume", left and right volume scalar as float type, Property::Map with two values ( "left" and "right" )
+       * @brief name "volume", left and right volume scalar as float type, Property::Map with two values ( "left" and "right" ).
        * @SINCE_1_1.38
        */
       VOLUME
@@ -118,7 +118,7 @@ public:
 
   /**
    * @brief Creates an initialized VideoView.
-   * If the string is empty, VideoView will not display anything
+   * If the string is empty, VideoView will not display anything.
    *
    * @SINCE_1_1.38
    * @REMARK_INTERNET
@@ -129,21 +129,21 @@ public:
   static VideoView New( const std::string& url );
 
   /**
-   * @brief Create an uninitialized VideoView
+   * @brief Creates an uninitialized VideoView.
    * @SINCE_1_1.38
    */
   VideoView();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
-   * This is non-virtual since derived Handel types must not contain data or virtual methods
+   * This is non-virtual since derived Handel types must not contain data or virtual methods.
    * @SINCE_1_1.38
    */
   ~VideoView();
 
   /*
-   * @brief Copy constructor
+   * @brief Copy constructor.
    *
    * @SINCE_1_1.38
    * @param[in] videoView VideoView to copy. The copied VideoView will point at the same implementation
@@ -154,20 +154,20 @@ public:
    * @brief Assignment operator.
    *
    * @SINCE_1_1.38
-   * @param[in] videoView The VideoView to assign from.
-   * @return The updated VideoView.
+   * @param[in] videoView The VideoView to assign from
+   * @return The updated VideoView
    */
   VideoView& operator=( const VideoView& videoView );
 
   /**
-   * @brief Downcast a handle to VideoView handle.
+   * @brief Downcasts a handle to VideoView handle.
    *
-   * If handle points to a VideoView the downcast produces valid
-   * handle. If not the returned handle is left uninitialized.
+   * If handle points to a VideoView, the downcast produces valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_1.38
    * @param[in] handle Handle to an object
-   * @return handle to a VideoView or an uninitialized handle
+   * @return Handle to a VideoView or an uninitialized handle
    */
   static VideoView DownCast( BaseHandle handle );
 
@@ -206,10 +206,10 @@ public:
   void Backward( int millisecond );
 
   /**
-   * @brief Connect to this signal to be notified when a video playback have finished.
+   * @brief Connects to this signal to be notified when a video playback is finished.
    *
    * @SINCE_1_1.38
-   * @return A signal object to connect with.
+   * @return A signal object to connect with
    */
   VideoViewSignalType& FinishedSignal();
 
@@ -220,7 +220,7 @@ public: // Not intended for application developers
    * @brief Creates a handle using the Toolkit::Internal implementation.
    *
    * @SINCE_1_1.38
-   * @param[in] implementation The VideoView implementation.
+   * @param[in] implementation The VideoView implementation
    */
   DALI_INTERNAL VideoView( Internal::VideoView& implementation );
 
@@ -228,7 +228,7 @@ public: // Not intended for application developers
    * @brief Allows the creation of this VideoView from an Internal::CustomActor pointer.
    *
    * @SINCE_1_1.38
-   * @param[in] internal A pointer to the internal CustomActor.
+   * @param[in] internal A pointer to the internal CustomActor
    */
   DALI_INTERNAL VideoView( Dali::Internal::CustomActor* internal );
   /// @endcond
index 91895c0..6ff9c12 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 2;
-const unsigned int TOOLKIT_MICRO_VERSION = 25;
+const unsigned int TOOLKIT_MICRO_VERSION = 26;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index dd8da9b..84b1176 100644 (file)
@@ -56,19 +56,19 @@ enum Type
 } // namespace ControlOrientation
 
 /**
- * @brief Query whether an orientation is vertical.
+ * @brief Queries whether an orientation is vertical.
  *
- * @param[in] orientation The orientation.
- * @return true if the orientation is vertical.
+ * @param[in] orientation The orientation
+ * @return true if the orientation is vertical
  */
 DALI_IMPORT_API bool IsVertical(ControlOrientation::Type orientation);
 
 /**
- * @brief Query whether an orientation is horizontal.
+ * @brief Queries whether an orientation is horizontal.
  *
  * @SINCE_1_0.0
- * @param[in] orientation The orientation.
- * @return true if the orientation is horizontal.
+ * @param[in] orientation The orientation
+ * @return true if the orientation is horizontal
  */
 DALI_IMPORT_API bool IsHorizontal(ControlOrientation::Type orientation);
 
index d4b7bfd..e5a6409 100644 (file)
@@ -72,15 +72,15 @@ public:
   typedef Signal< void ( Actor ) > FocusedActorEnterKeySignalType;
 
   /**
-   * @brief Create a KeyboardFocusManager handle; this can be initialised with KeyboardFocusManager::New().
+   * @brief Creates a KeyboardFocusManager handle; this can be initialized with KeyboardFocusManager::New().
    *
-   * Calling member functions with an uninitialised handle is not allowed.
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_0.0
    */
   KeyboardFocusManager();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -88,15 +88,15 @@ public:
   ~KeyboardFocusManager();
 
   /**
-   * @brief Get the singleton of KeyboardFocusManager object.
+   * @brief Gets the singleton of KeyboardFocusManager object.
    *
    * @SINCE_1_0.0
-   * @return A handle to the KeyboardFocusManager control.
+   * @return A handle to the KeyboardFocusManager control
    */
   static KeyboardFocusManager Get();
 
   /**
-   * @brief Move the keyboard focus to the given actor.
+   * @brief Moves the keyboard focus to the given actor.
    *
    * Only one actor can be focused at the same time.  The actor must
    * be in the stage already and keyboard focusable.
@@ -110,16 +110,16 @@ public:
   bool SetCurrentFocusActor(Actor actor);
 
   /**
-   * @brief Get the current focused actor.
+   * @brief Gets the current focused actor.
    *
    * @SINCE_1_0.0
-   * @return A handle to the current focused actor or an empty handle if no actor is focused.
+   * @return A handle to the current focused actor or an empty handle if no actor is focused
    * @pre The KeyboardFocusManager has been initialized.
    */
   Actor GetCurrentFocusActor();
 
   /**
-   * @brief Move the focus to the next focusable actor in the focus
+   * @brief Moves the focus to the next focusable actor in the focus
    * chain in the given direction (according to the focus traversal
    * order).
    *
@@ -131,7 +131,7 @@ public:
   bool MoveFocus(Control::KeyboardFocus::Direction direction);
 
   /**
-   * @brief Clear the focus from the current focused actor if any, so
+   * @brief Clears the focus from the current focused actor if any, so
    * that no actor is focused in the focus chain.
    *
    * It will emit focus changed signal without current focused actor.
@@ -141,7 +141,7 @@ public:
   void ClearFocus();
 
   /**
-   * @brief Set whether the focus movement should be looped within the same focus group.
+   * @brief Sets whether the focus movement should be looped within the same focus group.
    *
    * The focus movement is not looped by default.
    * @SINCE_1_0.0
@@ -151,7 +151,7 @@ public:
   void SetFocusGroupLoop(bool enabled);
 
   /**
-   * @brief Get whether the focus movement should be looped within the same focus group.
+   * @brief Gets whether the focus movement should be looped within the same focus group.
    *
    * @SINCE_1_0.0
    * @return Whether the focus movement should be looped
@@ -160,25 +160,25 @@ public:
   bool GetFocusGroupLoop() const;
 
   /**
-   * @brief Set whether an actor is a focus group that can limit the
+   * @brief Sets whether an actor is a focus group that can limit the
    * scope of focus movement to its child actors in the focus chain.
    *
    * Layout controls set themselves as focus groups by default.
    *
    * @SINCE_1_0.0
-   * @param actor The actor to be set as a focus group.
-   * @param isFocusGroup Whether to set the actor as a focus group or not.
+   * @param actor The actor to be set as a focus group
+   * @param isFocusGroup Whether to set the actor as a focus group or not
    * @pre The KeyboardFocusManager has been initialized.
    * @pre The Actor has been initialized.
    */
   void SetAsFocusGroup(Actor actor, bool isFocusGroup);
 
   /**
-   * @brief Check whether the actor is set as a focus group or not.
+   * @brief Checks whether the actor is set as a focus group or not.
    *
    * @SINCE_1_0.0
-   * @param actor The actor to be checked.
-   * @return Whether the actor is set as a focus group.
+   * @param actor The actor to be checked
+   * @return Whether the actor is set as a focus group
    * @pre The KeyboardFocusManager has been initialized.
    * @pre The Actor has been initialized.
    */
@@ -195,7 +195,7 @@ public:
   Actor GetFocusGroup(Actor actor);
 
   /**
-   * @brief Set the focus indicator actor.
+   * @brief Sets the focus indicator actor.
    *
    * This will replace the default focus indicator actor in
    * KeyboardFocusManager and will be added to the focused actor as a
@@ -209,7 +209,7 @@ public:
   void SetFocusIndicatorActor(Actor indicator);
 
   /**
-   * @brief Get the focus indicator actor.
+   * @brief Gets the focus indicator actor.
    *
    * @SINCE_1_0.0
    * @return A handle to the focus indicator actor
@@ -233,7 +233,7 @@ public: // Signals
    * focus towards the given direction, but applications might want to
    * change that. By connecting with this signal, they can check the
    * proposed actor to focus and return a different actor if they
-   * wish.  This signal is only emitted when the navigation key is
+   * wish. This signal is only emitted when the navigation key is
    * pressed and KeyboardFocusManager tries to move the focus
    * automatically. It won't be emitted for focus movement by calling
    * SetCurrentFocusActor directly.
@@ -243,7 +243,7 @@ public: // Signals
    *   Actor YourCallbackName(Actor currentFocusedActor, Actor proposedActorToFocus, Control::KeyboardFocus::Direction direction);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   PreFocusChangeSignalType& PreFocusChangeSignal();
@@ -256,7 +256,7 @@ public: // Signals
    *   void YourCallbackName(Actor originalFocusedActor, Actor currentFocusedActor);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusChangedSignalType& FocusChangedSignal();
@@ -274,7 +274,7 @@ public: // Signals
    *   void YourCallbackName(Actor currentFocusedActor, bool forward);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusGroupChangedSignalType& FocusGroupChangedSignal();
@@ -287,7 +287,7 @@ public: // Signals
    *   void YourCallbackName(Actor enterPressedActor);
    * @endcode
    * @SINCE_1_0.0
-   * @return The signal to connect to.
+   * @return The signal to connect to
    * @pre The Object has been initialized.
    */
   FocusedActorEnterKeySignalType& FocusedActorEnterKeySignal();
@@ -299,7 +299,7 @@ public: // Signals
    * @brief Creates a new handle from the implementation.
    *
    * @SINCE_1_0.0
-   * @param[in] impl A pointer to the object.
+   * @param[in] impl A pointer to the object
    */
   explicit DALI_INTERNAL KeyboardFocusManager(Internal::KeyboardFocusManager *impl);
   /// @endcond
index 3472fc0..9c021b5 100644 (file)
@@ -104,7 +104,7 @@ public:
   AsyncImageLoader();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    * @SINCE_1_2_14
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
@@ -129,18 +129,18 @@ public:
   AsyncImageLoader& operator=( const AsyncImageLoader& handle );
 
   /**
-   * @brief Create a new loader to load the image asynchronously in a worker thread.
+   * @brief Creates a new loader to load the image asynchronously in a worker thread.
    * @SINCE_1_2_14
    *
-   * @return The image loader.
+   * @return The image loader
    */
   static AsyncImageLoader New();
 
   /**
-   * @brief Downcast a handle to AsyncImageLoader handle.
+   * @brief Downcasts a handle to AsyncImageLoader handle.
    *
-   * If the handle points to an AsyncImageLoader object the downcast produces
-   * a valid handle. If not, the returned handle is left uninitialized.
+   * If the handle points to an AsyncImageLoader object, the downcast produces a valid handle.
+   * If not, the returned handle is left uninitialized.
    *
    * @SINCE_1_2_14
    * @param[in] handle A handle to an object
@@ -149,7 +149,7 @@ public:
   static AsyncImageLoader DownCast( BaseHandle handle );
 
   /**
-   * @brief Start an image loading task.
+   * @brief Starts an image loading task.
    * Note: When using this method, the following defaults will be used:
    * fittingMode = FittingMode::DEFAULT
    * samplingMode = SamplingMode::BOX_THEN_LINEAR
@@ -158,14 +158,13 @@ public:
    * @SINCE_1_2_14
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   *
-   * @param[in] url The URL of the image file to load.
-   * @return The loading task id.
+   * @param[in] url The URL of the image file to load
+   * @return The loading task id
    */
   uint32_t Load( const std::string& url );
 
   /**
-   * @brief Start an image loading task.
+   * @brief Starts an image loading task.
    * Note: When using this method, the following defaults will be used:
    * fittingMode = FittingMode::DEFAULT
    * samplingMode = SamplingMode::BOX_THEN_LINEAR
@@ -174,25 +173,23 @@ public:
    * @SINCE_1_2_14
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   *
-   * @param[in] url The URL of the image file to load.
-   * @param[in] dimensions The width and height to fit the loaded image to.
-   * @return The loading task id.
+   * @param[in] url The URL of the image file to load
+   * @param[in] dimensions The width and height to fit the loaded image to
+   * @return The loading task id
    */
   uint32_t Load( const std::string& url, ImageDimensions dimensions );
 
   /**
-   * @brief Start an image loading task.
+   * @brief Starts an image loading task.
    * @SINCE_1_2_14
    * @REMARK_INTERNET
    * @REMARK_STORAGE
-   *
-   * @param[in] url The URL of the image file to load.
-   * @param[in] dimensions The width and height to fit the loaded image to.
-   * @param[in] fittingMode The method used to fit the shape of the image before loading to the shape defined by the size parameter.
-   * @param[in] samplingMode The filtering method used when sampling pixels from the input image while fitting it to desired size.
-   * @param[in] orientationCorrection Reorient the image to respect any orientation metadata in its header.
-   * @return The loading task id.
+   * @param[in] url The URL of the image file to load
+   * @param[in] dimensions The width and height to fit the loaded image to
+   * @param[in] fittingMode The method used to fit the shape of the image before loading to the shape defined by the size parameter
+   * @param[in] samplingMode The filtering method used when sampling pixels from the input image while fitting it to desired size
+   * @param[in] orientationCorrection Reorient the image to respect any orientation metadata in its header
+   * @return The loading task id
    */
   uint32_t Load( const std::string& url,
                  ImageDimensions dimensions,
@@ -201,7 +198,7 @@ public:
                  bool orientationCorrection );
 
   /**
-   * @brief Cancel a image loading task if it is still queueing in the work thread.
+   * @brief Cancels an image loading task if it is still queueing in the work thread.
    * @SINCE_1_2_14
    *
    * @param[in] loadingTaskId The task id returned when invoking the load call.
@@ -210,21 +207,20 @@ public:
   bool Cancel( uint32_t loadingTaskId );
 
   /**
-   * @brief Cancel all the loading tasks in the queue
+   * @brief Cancels all the loading tasks in the queue.
    * @SINCE_1_2_14
    */
   void CancelAll();
 
   /**
-   * @brief Signal emit for connected callback functions to get access to the loaded pixel data.
+   * @brief Signal emitted for connected callback functions to get access to the loaded pixel data.
    *
    * A callback of the following type may be connected:
    * @code
    *   void YourCallbackName( uint32_t id, PixelData pixelData );
    * @endcode
    * @SINCE_1_2_14
-   *
-   * @return A reference to a signal object to Connect() with.
+   * @return A reference to a signal object to Connect() with
    */
   ImageLoadedSignalType& ImageLoadedSignal();
 
@@ -236,8 +232,7 @@ public: // Not intended for developer use
    *
    * @note Not intended for application developers
    * @SINCE_1_2_14
-   *
-   * @param[in] impl A pointer to the object.
+   * @param[in] impl A pointer to the object
    */
   explicit DALI_INTERNAL AsyncImageLoader( Internal::AsyncImageLoader* impl );
   /// @endcond
index c065664..9d0a820 100644 (file)
@@ -49,7 +49,7 @@ namespace SyncImageLoader
  */
 
 /**
- * @brief Load an image synchronously.
+ * @brief Loads an image synchronously.
  * Note: When using this method, the following defaults will be used:
  * fittingMode = FittingMode::DEFAULT
  * samplingMode = SamplingMode::BOX_THEN_LINEAR
@@ -58,14 +58,13 @@ namespace SyncImageLoader
  * @SINCE_1_2_14
  * @REMARK_INTERNET
  * @REMARK_STORAGE
- *
- * @param[in] url The URL of the image file to load.
- * @return A PixelData object containing the image, or an invalid object on failure.
+ * @param[in] url The URL of the image file to load
+ * @return A PixelData object containing the image, or an invalid object on failure
  */
 DALI_IMPORT_API PixelData Load( const std::string& url );
 
 /**
- * @brief Load an image synchronously by specifying the target dimensions.
+ * @brief Loads an image synchronously by specifying the target dimensions.
  * Note: When using this method, the following defaults will be used:
  * fittingMode = FittingMode::DEFAULT
  * samplingMode = SamplingMode::BOX_THEN_LINEAR
@@ -74,25 +73,23 @@ DALI_IMPORT_API PixelData Load( const std::string& url );
  * @SINCE_1_2_14
  * @REMARK_INTERNET
  * @REMARK_STORAGE
- *
- * @param[in] url The URL of the image file to load.
- * @param[in] dimensions The width and height to fit the loaded image to.
- * @return A PixelData object containing the image, or an invalid object on failure.
+ * @param[in] url The URL of the image file to load
+ * @param[in] dimensions The width and height to fit the loaded image to
+ * @return A PixelData object containing the image, or an invalid object on failure
  */
 DALI_IMPORT_API PixelData Load( const std::string& url, ImageDimensions dimensions );
 
 /**
- * @brief Load an image synchronously by specifying the target dimensions and options.
+ * @brief Loads an image synchronously by specifying the target dimensions and options.
  * @SINCE_1_2_14
  * @REMARK_INTERNET
  * @REMARK_STORAGE
- *
- * @param[in] url The URL of the image file to load.
- * @param[in] dimensions The width and height to fit the loaded image to.
- * @param[in] fittingMode The method used to fit the shape of the image before loading to the shape defined by the size parameter.
- * @param[in] samplingMode The filtering method used when sampling pixels from the input image while fitting it to desired size.
- * @param[in] orientationCorrection Reorient the image to respect any orientation metadata in its header.
- * @return A PixelData object containing the image, or an invalid object on failure.
+ * @param[in] url The URL of the image file to load
+ * @param[in] dimensions The width and height to fit the loaded image to
+ * @param[in] fittingMode The method used to fit the shape of the image before loading to the shape defined by the size parameter
+ * @param[in] samplingMode The filtering method used when sampling pixels from the input image while fitting it to desired size
+ * @param[in] orientationCorrection Reorient the image to respect any orientation metadata in its header
+ * @return A PixelData object containing the image, or an invalid object on failure
  */
 DALI_IMPORT_API PixelData Load( const std::string& url,
                 ImageDimensions dimensions,
index bb84ea5..7f52d85 100644 (file)
@@ -69,19 +69,19 @@ class DALI_IMPORT_API StyleManager : public BaseHandle
 {
 public:
 
-  /// @brief Style Changed signal. Emitted after controls have been updated
+  /// @brief Style Changed signal. Emitted after controls have been updated.
   typedef Signal< void ( StyleManager, StyleChange::Type ) >  StyleChangedSignalType;
 
   /**
-   * @brief Create a StyleManager handle; this can be initialised with StyleManager::Get()
+   * @brief Creates a StyleManager handle; this can be initialized with StyleManager::Get().
    *
-   * Calling member functions with an uninitialised handle is not allowed.
+   * Calling member functions with an uninitialized handle is not allowed.
    * @SINCE_1_1.32
    */
   StyleManager();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_1.32
@@ -89,15 +89,15 @@ public:
   ~StyleManager();
 
   /**
-   * @brief Get the singleton of StyleManager object.
+   * @brief Gets the singleton of StyleManager object.
    *
    * @SINCE_1_1.32
-   * @return A handle to the StyleManager control.
+   * @return A handle to the StyleManager control
    */
   static StyleManager Get();
 
   /**
-   * @brief Apply a new theme to the application. This will be merged
+   * @brief Applies a new theme to the application. This will be merged
    * on top of the default Toolkit theme.
    *
    * If the application theme file doesn't style all controls that the
@@ -107,16 +107,16 @@ public:
    * On application startup, it is suggested that the theme file name is
    * passed to Application::New instead of using this API to prevent
    * controls being styled more than once.
-   * @sa Application::New()
+   * @sa Application::New().
    *
    * @SINCE_1_1.32
    * @param[in] themeFile If a relative path is specified, then this is relative
-   * to the directory returned by Application::GetResourcePath().
+   * to the directory returned by Application::GetResourcePath()
    */
   void ApplyTheme( const std::string& themeFile );
 
   /**
-   * @brief Apply the default Toolkit theme.
+   * @brief Applies the default Toolkit theme.
    *
    * Request that any application specific styling is removed
    * and that the default Toolkit theme is re-applied.
@@ -126,7 +126,7 @@ public:
   void ApplyDefaultTheme();
 
   /**
-   * @brief Set a constant for use when building styles
+   * @brief Sets a constant for use when building styles.
    *
    * A constant is used in JSON files e.g. "myImage":"{RELATIVE_PATH}/image.jpg"
    * where the string "{RELATIVE_PATH}" is substituted with the value.
@@ -138,25 +138,25 @@ public:
   void SetStyleConstant( const std::string& key, const Property::Value& value );
 
   /**
-   * @brief Return the style constant set for a specific key
+   * @brief Returns the style constant set for a specific key.
    *
    * @SINCE_1_1.32
    * @param[in] key The key of the constant
    * @param[out] valueOut The value of the constant if it exists
    *
-   * @return If the constant for key exists then return the constant in valueOut and return true
+   * @return If the constant for key exists, then return the constant in valueOut and return true
    */
   bool GetStyleConstant( const std::string& key, Property::Value& valueOut );
 
   /**
-   * @brief Apply the specified style to the control.
+   * @brief Applies the specified style to the control.
    *
    * @SINCE_1_1.32
-   * @param[in] control The control to which to apply the style.
+   * @param[in] control The control to which to apply the style
    * @param[in] jsonFileName The name of the JSON style file to apply. If a
    * relative path is specified, then this is relative to the directory
-   * returned by Application::GetResourcePath().
-   * @param[in] styleName The name of the style within the JSON file to apply.
+   * returned by Application::GetResourcePath()
+   * @param[in] styleName The name of the style within the JSON file to apply
    */
   void ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName );
 
@@ -171,7 +171,7 @@ public: // Signals
    * @code
    *   void YourCallbackName( StyleManager styleManager, StyleChange change );
    * @endcode
-   * @return The signal to connect to.
+   * @return The signal to connect to
    */
   StyleChangedSignalType& StyleChangedSignal();
 
@@ -183,7 +183,7 @@ public:
    *
    * @note Not intended for application developers
    * @SINCE_1_1.32
-   * @param[in] impl A pointer to the object.
+   * @param[in] impl A pointer to the object
    */
   explicit DALI_INTERNAL StyleManager( Internal::StyleManager *impl );
   /// @endcond
index 30ba495..f77d859 100644 (file)
@@ -28,7 +28,7 @@ namespace Toolkit
 {
 
 /**
- * @brief The start and end property ranges.
+ * @brief Enumeration for the start and end property ranges.
  * @SINCE_1_1.45
  */
 enum PropertyRanges
index e5f7431..65d452a 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_VISUAL_PROPERTIES_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.
@@ -87,7 +87,8 @@ enum
 {
   /**
    * @brief The vertex shader.
-   * @details Name "vertexShader", type Property::STRING.
+   * @details Name "vertexShader", type Property::STRING or Property::ARRAY of Property::STRING.
+   *          A Property::ARRAY of Property::STRING values can be used to split the shader string over multiple lines.
    * @SINCE_1_1.45
    * @note Optional
    * @note If not supplied, the visual's already set vertex shader is used.
@@ -96,7 +97,8 @@ enum
 
   /**
    * @brief The fragment shader.
-   * @details Name "fragmentShader", type Property::STRING.
+   * @details Name "fragmentShader", type Property::STRING or Property::ARRAY of Property::STRING.
+   *          A Property::ARRAY of Property::STRING values can be used to split the shader string over multiple lines.
    * @SINCE_1_1.45
    * @note Optional
    * @note If not supplied, the visual's already set fragment shader is used.
index 1809436..88c1483 100644 (file)
     },
     "ProgressBar":
     {
-      "progressValue": 0,
       "trackVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin.9.png",
-        "size":[24,24]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-track.9.png"
       },
       "progressVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin-progress.9.png",
-        "size":[24,24]
-      }
-    },
-    "ProgressBarValueTextLabel":
-    {
-      "textColor":[0.8,0.8,1,1]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-progress.9.png"
+      },
+      "secondaryProgressVisual":{
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-secondary-progress.9.png"
+      },
+      "indeterminateVisual":{
+        "visualType":"IMAGE",
+        "pixelArea":[0.0, 0.0, 10.0, 1.0],
+        "wrapModeU":"REPEAT",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-indeterminate.png"
+      },
+      "indeterminateVisualAnimation":
+      [
+        {
+          "target":"indeterminateVisual",
+          "property":"pixelArea",
+          "initialValue":[0.0, 0.0, 10.0, 1.0],
+          "targetValue":[-1.0, 0.0, 10.0, 1.0],
+          "animator":
+          {
+            "alphaFunction":"DEFAULT",
+            "timePeriod":
+            {
+              "duration":0.8,
+              "delay":0
+            }
+          }
+        }
+      ],
+      "labelVisual":{
+        "visualType": "TEXT",
+        "textColor": [ 1.0, 1.0, 1.0, 1.0 ],
+        "pointSize" : 12.0, // Point size must always be provided to Text Visual
+        "horizontalAlignment": "CENTER",
+        "verticalAlignment": "CENTER"
+      },
+      "progressValue": 0.0,
+      "secondaryProgressValue":0.0,
+      "indeterminate": false
     },
     "Button":
     {
          "url": "{DALI_IMAGE_DIR}button-disabled.9.png"
        }
     },
+    "ToggleButton":
+    {
+      "styles":["Button"]
+    },
     "CheckBoxButton":
     {
       "styles":["Button"],
index 0684889..9c5f800 100644 (file)
     },
     "ProgressBar":
     {
-      "progressValue": 0,
       "trackVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin.9.png",
-        "size":[24,24]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-track.9.png"
       },
       "progressVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin-progress.9.png",
-        "size":[24,24]
-      }
-    },
-    "ProgressBarValueTextLabel":
-    {
-      "textColor":[0.8,0.8,1,1]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-progress.9.png"
+      },
+      "secondaryProgressVisual":{
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-secondary-progress.9.png"
+      },
+      "indeterminateVisual":{
+        "visualType":"IMAGE",
+        "pixelArea":[0.0, 0.0, 10.0, 1.0],
+        "wrapModeU":"REPEAT",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-indeterminate.png"
+      },
+      "indeterminateVisualAnimation":
+      [
+        {
+          "target":"indeterminateVisual",
+          "property":"pixelArea",
+          "initialValue":[0.0, 0.0, 10.0, 1.0],
+          "targetValue":[-1.0, 0.0, 10.0, 1.0],
+          "animator":
+          {
+            "alphaFunction":"DEFAULT",
+            "timePeriod":
+            {
+              "duration":0.8,
+              "delay":0
+            }
+          }
+        }
+      ],
+      "labelVisual":{
+        "visualType": "TEXT",
+        "textColor": [ 1.0, 1.0, 1.0, 1.0 ],
+        "pointSize" : 12.0, // Point size must always be provided to Text Visual
+        "horizontalAlignment": "CENTER",
+        "verticalAlignment": "CENTER"
+      },
+      "progressValue": 0.0,
+      "secondaryProgressValue":0.0,
+      "indeterminate": false
     },
     "Button":
     {
          "url": "{DALI_IMAGE_DIR}button-disabled.9.png"
        }
     },
+    "ToggleButton":
+    {
+      "styles":["Button"]
+    },
     "CheckBoxButton":
     {
       "styles":["Button"],
index 85d168f..6b3a131 100644 (file)
     },
     "ProgressBar":
     {
-      "progressValue": 0,
       "trackVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin.9.png",
-        "size":[24,24]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-track.9.png"
       },
       "progressVisual":{
-        "url":"{DALI_IMAGE_DIR}progress-skin-progress.9.png",
-        "size":[24,24]
-      }
-    },
-    "ProgressBarValueTextLabel":
-    {
-      "textColor":[0.8,0.8,1,1]
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-progress.9.png"
+      },
+      "secondaryProgressVisual":{
+        "visualType":"IMAGE",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-secondary-progress.9.png"
+      },
+      "indeterminateVisual":{
+        "visualType":"IMAGE",
+        "pixelArea":[0.0, 0.0, 10.0, 1.0],
+        "wrapModeU":"REPEAT",
+        "url":"{DALI_IMAGE_DIR}progress-bar-skin-indeterminate.png"
+      },
+      "indeterminateVisualAnimation":
+      [
+        {
+          "target":"indeterminateVisual",
+          "property":"pixelArea",
+          "initialValue":[0.0, 0.0, 10.0, 1.0],
+          "targetValue":[-1.0, 0.0, 10.0, 1.0],
+          "animator":
+          {
+            "alphaFunction":"DEFAULT",
+            "timePeriod":
+            {
+              "duration":0.8,
+              "delay":0
+            }
+          }
+        }
+      ],
+      "labelVisual":{
+        "visualType": "TEXT",
+        "textColor": [ 1.0, 1.0, 1.0, 1.0 ],
+        "pointSize" : 12.0, // Point size must always be provided to Text Visual
+        "horizontalAlignment": "CENTER",
+        "verticalAlignment": "CENTER"
+      },
+      "progressValue": 0.0,
+      "secondaryProgressValue":0.0,
+      "indeterminate": false
     },
     "Button":
     {
diff --git a/dali-toolkit/styles/images-common/progress-bar-skin-indeterminate.png b/dali-toolkit/styles/images-common/progress-bar-skin-indeterminate.png
new file mode 100644 (file)
index 0000000..df99c15
Binary files /dev/null and b/dali-toolkit/styles/images-common/progress-bar-skin-indeterminate.png differ
diff --git a/dali-toolkit/styles/images-common/progress-bar-skin-progress.9.png b/dali-toolkit/styles/images-common/progress-bar-skin-progress.9.png
new file mode 100644 (file)
index 0000000..b77b29d
Binary files /dev/null and b/dali-toolkit/styles/images-common/progress-bar-skin-progress.9.png differ
diff --git a/dali-toolkit/styles/images-common/progress-bar-skin-secondary-progress.9.png b/dali-toolkit/styles/images-common/progress-bar-skin-secondary-progress.9.png
new file mode 100644 (file)
index 0000000..54184e5
Binary files /dev/null and b/dali-toolkit/styles/images-common/progress-bar-skin-secondary-progress.9.png differ
diff --git a/dali-toolkit/styles/images-common/progress-bar-skin-track.9.png b/dali-toolkit/styles/images-common/progress-bar-skin-track.9.png
new file mode 100644 (file)
index 0000000..92a1dee
Binary files /dev/null and b/dali-toolkit/styles/images-common/progress-bar-skin-track.9.png differ
diff --git a/dali-toolkit/styles/images-common/progress-skin-progress.9.png b/dali-toolkit/styles/images-common/progress-skin-progress.9.png
deleted file mode 100644 (file)
index f02cd0d..0000000
Binary files a/dali-toolkit/styles/images-common/progress-skin-progress.9.png and /dev/null differ
diff --git a/dali-toolkit/styles/images-common/progress-skin.9.png b/dali-toolkit/styles/images-common/progress-skin.9.png
deleted file mode 100644 (file)
index e1c2ca0..0000000
Binary files a/dali-toolkit/styles/images-common/progress-skin.9.png and /dev/null differ
diff --git a/docs/content/images/visuals/HelloWorld.png b/docs/content/images/visuals/HelloWorld.png
new file mode 100644 (file)
index 0000000..aa40f20
Binary files /dev/null and b/docs/content/images/visuals/HelloWorld.png differ
index 53acaa1..71c45ef 100644 (file)
@@ -16,6 +16,7 @@ DALi provides the following visuals:
  + [Border](@ref border-visual)
  + [Mesh](@ref mesh-visual)
  + [Primitive](@ref primitive-visual)
+ + [Text](@ref text-visual)
  + [Wireframe](@ref wireframe-visual)
  
 Controls can provide properties that allow users to specify the visual type ( visualType ).
@@ -59,13 +60,13 @@ For example, an offsetSizeMode of [0, 0, 1, 1], an offset of (0, 0.25) and a siz
 Visuals also have a custom **shader** property. Whilst it's possible to change the shader, please note that some visuals rely on the vertex shader to perform certain functions. For example, the NPatch visual uses the vertex shader to perform the stretching. The **shader** property is a Property::Map with the following keys:
 
 
-| Property                                        | String   | Type    | Required | Description               |
-|-------------------------------------------------|----------|:-------:|:--------:|---------------------------|
-| Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER | vertexShader | STRING | No      | The vertex shader code. |
-| Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER | fragmentShader | STRING | No      | The fragment shader code. |
-| Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X | subdivideGridX | INTEGER | No      | How to subdivide the grid along the X-Axis. Defaults to 1 |
-| Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y | subdivideGridY | INTEGER | No      | How to subdivide the grid along the Y-Axis. Defaults to 1 |
-| Dali::Toolkit::Visual::Shader::Property::HINTS | hints | INTEGER or ARRAY of STRING | No      | Shader hints bitmask [More info](@ref shader-hints) |
+| Property                                                  | String         | Type                       | Required | Description                                                                                |
+|-----------------------------------------------------------|----------------|:--------------------------:|:--------:|--------------------------------------------------------------------------------------------|
+| Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER    | vertexShader   | STRING or ARRAY of STRING  | No       | The vertex shader code. Can use an array of strings to split shader over multiple lines.   |
+| Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER  | fragmentShader | STRING or ARRAY of STRING  | No       | The fragment shader code. Can use an array of strings to split shader over multiple lines. |
+| Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X | subdivideGridX | INTEGER                    | No       | How to subdivide the grid along the X-Axis. Defaults to 1.                                 |
+| Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y | subdivideGridY | INTEGER                    | No       | How to subdivide the grid along the Y-Axis. Defaults to 1.                                 |
+| Dali::Toolkit::Visual::Shader::Property::HINTS            | hints          | INTEGER or ARRAY of STRING | No       | Shader hints bitmask [More info](@ref shader-hints)                                        |
 
 ## Shader hints {#shader-hints}
 
@@ -715,6 +716,53 @@ control.SetProperty( Control::Property::BACKGROUND, map );
 ~~~
 ___________________________________________________________________________________________________
 
+## Text Visual {#text-visual}
+
+Renders text within a control.
+
+![ ](../assets/img/visuals/HelloWorld.png)
+![ ](visuals/HelloWorld.png)
+
+### Properties
+
+**VisualType:** Dali::Toolkit::Visual::TEXT, "TEXT"
+
+| Property                                                    | String              | Type          | Required | Description                                                                   | Default                |
+|-------------------------------------------------------------|---------------------|:-------------:|:--------:|-------------------------------------------------------------------------------|------------------------|
+| Dali::Toolkit::TextVisual::Property::TEXT                   | text                | STRING        | Yes      | The text to display in UTF-8 format                                           |                        |
+| Dali::Toolkit::TextVisual::Property::FONT_FAMILY            | fontFamily          | STRING        | No       | The requested font family to use                                              |                        |
+| Dali::Toolkit::TextVisual::Property::FONT_STYLE             | fontStyle           | MAP           | No       | The requested font style to use                                               |                        |
+| Dali::Toolkit::TextVisual::Property::POINT_SIZE             | pointSize           | FLOAT         | Yes      | The size of font in points                                                    |                        |
+| Dali::Toolkit::TextVisual::Property::MULTI_LINE             | multiLine           | BOOLEAN       | No       | The single-line or multi-line layout option                                   | false                  |
+| Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT   | horizontalAlignment | STRING        | No       | The line horizontal alignment: "BEGIN", "CENTER", "END"                       | "BEGIN"                |
+| Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT     | verticalAlignment   | STRING        | No       | The line vertical alignment: "TOP",   "CENTER", "BOTTOM"                      | "TOP"                  |
+| Dali::Toolkit::TextVisual::Property::TEXT_COLOR             | textColor           | VECTOR4       | No       | The color of the text                                                         | Color::BLACK           |
+| Dali::Toolkit::TextVisual::Property::ENABLE_MARKUP         | enableMarkup           | BOOL       | No       | If mark up should be enabled |                                                        |
+
+### Usage
+
+~~~{.cpp}
+    // C++
+    Dali::Stage stage = Dali::Stage::GetCurrent();
+    stage.SetBackgroundColor( Dali::Color::WHITE );
+
+    Dali::Toolkit::Control control = Dali::Toolkit::Control::New();
+    control.SetParentOrigin( ParentOrigin::CENTER );
+
+    Dali::Property::Map map;
+    map[ Dali::Toolkit::Visual::Property::TYPE ] = Dali::Toolkit::Visual::TEXT;
+    map[ Dali::Toolkit::TextVisual::Property::TEXT ] = "Hello world";
+    map[ Dali::Toolkit::TextVisual::Property::TEXT_COLOR ] = Dali::Color::BLACK;
+    map[ Dali::Toolkit::TextVisual::Property::FONT_FAMILY ] = "Sans";
+    map[ Dali::Toolkit::TextVisual::Property::POINT_SIZE ] = 30.f;
+    map[ Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT ] = "CENTER";
+    map[ Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT ] = "CENTER";
+
+    control.SetProperty( Dali::Toolkit::Control::Property::BACKGROUND, map );
+
+    stage.Add( control );
+~~~
+
 ## Wireframe Visual {#wireframe-visual}
 
 Renders a wireframe around a quad geometry.
index 94e7756..d8137c7 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-addon
 Summary:    DALi module for Node.JS
-Version:    1.2.25
+Version:    1.2.26
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index 4183bd4..f301af8 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.2.25
+Version:    1.2.26
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-2-Clause and MIT