Const correctness improvements for Property::Value. 75/244975/2
authorGyörgy Straub <g.straub@partner.samsung.com>
Mon, 28 Sep 2020 12:28:53 +0000 (13:28 +0100)
committerGyörgy Straub <g.straub@partner.samsung.com>
Mon, 28 Sep 2020 12:54:01 +0000 (13:54 +0100)
- instead of using its parameter as in-out (and perhaps erroneously
  modifying the original), TextVisual returns the new map, which is then
  merged with the existing properties in ButtonImpl::SetProperty();

Change-Id: I974535fd017416dc60225a1f511e71d81a2a86de
Signed-off-by: György Straub <g.straub@partner.samsung.com>
24 files changed:
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-animation-data.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-button.cpp
automated-tests/src/dali-toolkit/utc-Dali-Tooltip.cpp
dali-toolkit/devel-api/builder/base64-encoding.cpp
dali-toolkit/internal/controls/buttons/button-impl.cpp
dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.cpp
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp
dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp
dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp
dali-toolkit/internal/controls/table-view/table-view-impl.cpp
dali-toolkit/internal/controls/tooltip/tooltip.cpp
dali-toolkit/internal/helpers/property-helper.cpp
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp
dali-toolkit/internal/visuals/arc/arc-visual.cpp
dali-toolkit/internal/visuals/color/color-visual.cpp
dali-toolkit/internal/visuals/gradient/gradient-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.h
dali-toolkit/internal/visuals/transition-data-impl.cpp
dali-toolkit/internal/visuals/visual-base-data-impl.cpp

index a7ccfbaa37a7ac439aea057615b71ab5c00c52ce..7d0c6614694712d3b9099d1ddf3df2b30ef9d34d 100644 (file)
@@ -174,7 +174,7 @@ void DummyControlImpl::SetProperty( BaseObject* object, Dali::Property::Index in
     case Toolkit::DummyControl::Property::FOCUS_VISUAL:
     case Toolkit::DummyControl::Property::LABEL_VISUAL:
     {
-      Property::Map* map = value.GetMap();
+      const Property::Map* map = value.GetMap();
       if( map != NULL )
       {
         VisualFactory visualFactory = VisualFactory::Get();
index 57c1e41683230c0fdb70e73ce657112f2647ec11..670279821a2b9276b71bc90661bd13977696d8d5 100644 (file)
@@ -156,7 +156,7 @@ void NewAnimator( const Property::Map& map, TestAnimationData::AnimationDataElem
     {
       if( value.GetType() == Property::MAP )
       {
-        Property::Map* map = value.GetMap();
+        const Property::Map* map = value.GetMap();
         const Property::Map& mapref = *map;
         NewAnimator( mapref, element ); // Merge the map into element
       }
@@ -180,7 +180,7 @@ void NewAnimation( const Property::Array& array, TestAnimationData& outputAnimat
     const Property::Value& value = array.GetElementAt(i);
     if( value.GetType() == Property::MAP )
     {
-      Property::Map* map = value.GetMap();
+      const Property::Map* map = value.GetMap();
       NewAnimator( *map, *element );
       outputAnimationData.Add( element );
     }
index 3b5f451d0ea82ed0a017caa4c0c1e0807e925ad0..ff5e1dc97bf4abe21b66d8bac1306ef406cee68c 100644 (file)
@@ -78,13 +78,13 @@ void TestButton::SetProperty( BaseObject* object, Property::Index index, const P
       {
         if( value.GetType() == Property::MAP )
         {
-          Property::Map* valueMap = value.GetMap();
+          const Property::Map* valueMap = value.GetMap();
           buttonImpl.mPressTransitionData.Clear();
           NewAnimation( *valueMap, buttonImpl.mPressTransitionData );
         }
         else if( value.GetType() == Property::ARRAY )
         {
-          Property::Array* valueArray = value.GetArray();
+          const Property::Array* valueArray = value.GetArray();
           buttonImpl.mPressTransitionData.Clear();
           NewAnimation( *valueArray, buttonImpl.mPressTransitionData );
         }
index b1cf51038b1a9f06d795d7617bbe352814bbe164..3d68d5a0a0043d7e8f1d56515a15172f295a6ece 100644 (file)
@@ -272,7 +272,7 @@ int UtcDaliTooltipCreateWithArray(void)
 
   tet_infoline( "Ensure first value is a map and contains the right item" );
   const Property::Value mapValue1 = contentArray->GetElementAt( 0 );
-  Property::Map* map1 = mapValue1.GetMap();
+  const Property::Map* map1 = mapValue1.GetMap();
   DALI_TEST_CHECK( map1 );
   Property::Value* urlValue = map1->Find( ImageVisual::Property::URL );
   DALI_TEST_CHECK( urlValue );
@@ -280,7 +280,7 @@ int UtcDaliTooltipCreateWithArray(void)
 
   tet_infoline( "Ensure second value is a map and contains the right item" );
   const Property::Value mapValue2 = contentArray->GetElementAt( 1 );
-  Property::Map* map2 = mapValue2.GetMap();
+  const Property::Map* map2 = mapValue2.GetMap();
   DALI_TEST_CHECK( map2 );
   Property::Value* textValue = map2->Find( TextVisual::Property::TEXT );
   DALI_TEST_CHECK( textValue );
index f95dde8aa212f2d2bb03482b7221f16364eaf048..024c1b5e357e6ebe31ff74ea283166e68ae63eb5 100644 (file)
@@ -41,7 +41,7 @@ bool GetStringFromProperty(const Property::Value& value, std::string& output)
   }
   else
   {
-    Property::Array* array = value.GetArray();
+    const Property::Array* array = value.GetArray();
     if(array)
     {
       const unsigned int arraySize = array->Size();
index 6d45eedd00c20c694ca04bc9fb49d10a6df6f4e9..d840e96b98b0ea2e8238c5ef9f22d3b26550cc11 100644 (file)
@@ -379,7 +379,7 @@ void Button::CreateVisualsForComponent( Property::Index index, const Property::V
   else
   {
     // if its not a string then get a Property::Map from the property if possible.
-    Property::Map *map = value.GetMap();
+    const Property::Map *map = value.GetMap();
     if( map && !map->Empty()  ) // Empty map results in current visual removal.
     {
       DALI_LOG_INFO( gLogButtonFilter, Debug::Verbose, "CreateVisualsForComponent Using Map(%d)\n", index );
@@ -1151,11 +1151,11 @@ void Button::SetProperty( BaseObject* object, Property::Index index, const Prope
         else
         {
           // Get a Property::Map from the property if possible.
-          Property::Map* setPropertyMap = value.GetMap();
+          const Property::Map* setPropertyMap = value.GetMap();
           if( setPropertyMap )
           {
-            TextVisual::ConvertStringKeysToIndexKeys( *setPropertyMap );
-            GetImplementation( button ).MergeWithExistingLabelProperties( *setPropertyMap, outTextVisualProperties );
+            Property::Map indexKeys = TextVisual::ConvertStringKeysToIndexKeys( *setPropertyMap );
+            GetImplementation( button ).MergeWithExistingLabelProperties( indexKeys, outTextVisualProperties );
           }
         }
 
index e6c0ab7dfea1fbe5720dd9a8000c18a58fdad325..b1808f5c516e46097c61b76b3ab0de4802cc0101 100755 (executable)
@@ -136,7 +136,7 @@ void ToggleButton::SetProperty( BaseObject* object, Property::Index propertyInde
       }
       case Toolkit::ToggleButton::Property::TOOLTIPS:
       {
-        Property::Array* tipArray = value.GetArray();
+        const Property::Array* tipArray = value.GetArray();
         if( tipArray )
         {
           std::vector<std::string> tips;
index 46a1972d8c6ee808d1f16418cb7ec9688e0115aa..8a2dfd7fa4452ecd8c2def24e67c753e0d6354f0 100755 (executable)
@@ -835,7 +835,7 @@ void Control::Impl::SetProperty( BaseObject* object, Property::Index index, cons
       {
         bool withTransitions=true;
         const Property::Value* valuePtr=&value;
-        Property::Map* map = value.GetMap();
+        const Property::Map* map = value.GetMap();
         if(map)
         {
           Property::Value* value2 = map->Find("withTransitions");
index 7f92138eead81b7871e58d0431948dfb5dd8a0a8..36702a89b302cc933e4bf741c12d0a6a8e2d0e02 100755 (executable)
@@ -432,7 +432,7 @@ void ImageView::SetProperty( BaseObject* object, Property::Index index, const Pr
       case Toolkit::ImageView::Property::IMAGE:
       {
         std::string imageUrl;
-        Property::Map* map;
+        const Property::Map* map;
         if( value.Get( imageUrl ) )
         {
           impl.SetImage( imageUrl, ImageDimensions() );
index 3d18ddb3a0cf77e8a2300288a4ffbbad021c61cc..0a4a7e5eb4b2155bd0de8c02f205be93afe6c25f 100755 (executable)
@@ -404,7 +404,7 @@ void ProgressBar::CreateVisualsForComponent( Property::Index index, const Proper
   else // Does this code make text-visual can be accepted as visual?
   {
     // if its not a string then get a Property::Map from the property if possible.
-    Property::Map *map = value.GetMap();
+    const Property::Map *map = value.GetMap();
     if( map && !map->Empty()  ) // Empty map results in current visual removal.
     {
       progressVisual = visualFactory.CreateVisual( *map );
index f00276417dc1f3da72fc216c86d722e18b00cc9a..54dc43174e86fc784f457b7575be30bec6150d2a 100644 (file)
@@ -689,7 +689,7 @@ void ScrollBar::SetProperty( BaseObject* object, Property::Index index, const Pr
       }
       case Toolkit::ScrollBar::Property::SCROLL_POSITION_INTERVALS:
       {
-        Property::Array* array = value.GetArray();
+        const Property::Array* array = value.GetArray();
         if( array )
         {
           Dali::Vector<float> positions;
index c442fb88e9e019b5b82a26e06106353357d2279d..12bd0c35ae1bf2cbd43ed6b7f5912f5ff7237c0e 100644 (file)
@@ -1819,7 +1819,7 @@ void ItemView::SetLayoutArray( const Property::Array& layouts )
   {
     const Property::Value& element = layouts.GetElementAt( arrayIdx );
 
-    Property::Map* layout = element.GetMap();
+    const Property::Map* layout = element.GetMap();
     if( layout != NULL )
     {
       for( unsigned int mapIdx = 0, mapCount = (*layout).Count(); mapIdx < mapCount; ++mapIdx )
index 1273cd13a696c7af7e2b6a1b7e76f8f1c31809b6..01c57314035d80181c78d8bf3bfb86b060916fdb 100644 (file)
@@ -2915,7 +2915,7 @@ void ScrollView::SetProperty( BaseObject* object, Property::Index index, const P
       }
       case Toolkit::ScrollView::Property::SCROLL_MODE:
       {
-        Property::Map* map = value.GetMap();
+        const Property::Map* map = value.GetMap();
         if( map )
         {
           scrollViewImpl.SetScrollMode( *map );
index a0c18498661d8e47c707abd7f62eab17831506ee..92cdd01ae9a458a9cf7a85c53d78165feb4e7596 100755 (executable)
@@ -1212,7 +1212,7 @@ void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl,
                                          void(TableView::*funcFit)(unsigned int),
                                          const Property::Value& value )
 {
-  Property::Map* map = value.GetMap();
+  const Property::Map* map = value.GetMap();
   if( map )
   {
     unsigned int index(0);
index 80a558ed5073919819a4ca585ea1b5c1651983a6..e7f8b9f1a4de42c43b8d84ab6232eee80c1caba1 100644 (file)
@@ -85,7 +85,7 @@ void Tooltip::SetProperties( const Property::Value& value )
   Toolkit::Control control = mControl.GetHandle();
   if( control )
   {
-    Property::Map* properties = value.GetMap();
+    const Property::Map* properties = value.GetMap();
     if( properties )
     {
       const Property::Map::SizeType count = properties->Count();
@@ -229,7 +229,7 @@ void Tooltip::SetContent( Toolkit::Control& control, const Property::Value& valu
   Property::Type type = value.GetType();
   if( type == Property::MAP )
   {
-    Property::Map* map = value.GetMap();
+    const Property::Map* map = value.GetMap();
     if( map )
     {
       mContentTextVisual.Merge( *map );
@@ -302,7 +302,7 @@ void Tooltip::SetBackground( const Property::Value& value )
   }
   else if( type == Property::MAP )
   {
-    Property::Map* map = value.GetMap();
+    const Property::Map* map = value.GetMap();
     if( map )
     {
       const Property::Map::SizeType count = map->Count();
index 94be0237c035c5a53b5bd87a5b98be40a0a1791d..db8597b56e5e436d7facad9d47be7841b29f213b 100644 (file)
@@ -39,7 +39,7 @@ bool GetStringFromProperty( const Property::Value& value, std::string& output )
   }
   else
   {
-    Property::Array* array = value.GetArray();
+    const Property::Array* array = value.GetArray();
     if( array )
     {
       const unsigned int arraySize = array->Size();
index 453f14e9566d8398f7bc18f95ac073bf6aead14f..ea097e180f12940a898c7fb85195ab0cb693e110 100644 (file)
@@ -217,7 +217,7 @@ void AnimatedVectorImageVisual::DoSetProperty( Property::Index index, const Prop
     }
     case Toolkit::DevelImageVisual::Property::PLAY_RANGE:
     {
-      Property::Array* array = value.GetArray();
+      const Property::Array* array = value.GetArray();
       if( array )
       {
         mAnimationData.playRange = *array;
@@ -406,7 +406,7 @@ void AnimatedVectorImageVisual::OnDoAction( const Property::Index actionId, cons
     }
     case DevelAnimatedVectorImageVisual::Action::UPDATE_PROPERTY:
     {
-      Property::Map* map = attributes.GetMap();
+      const Property::Map* map = attributes.GetMap();
       if( map )
       {
         DoSetProperties( *map );
index a16d72cfc155b66163a512b5c0e00c14268b4bb7..babfc945ae6ebb803e9d4c1720e0263ae2ce621b 100644 (file)
@@ -276,7 +276,7 @@ void ArcVisual::OnDoAction( const Property::Index actionId, const Property::Valu
   {
     case DevelArcVisual::Action::UPDATE_PROPERTY:
     {
-      Property::Map* map = attributes.GetMap();
+      const Property::Map* map = attributes.GetMap();
       if( map )
       {
         DoSetProperties( *map );
index 63d02ece969fcbedb89fb027258fc77b679fa730..4fae26879d17e55681283e8650717a4bb4c4abfb 100644 (file)
@@ -289,7 +289,7 @@ void ColorVisual::OnDoAction( const Property::Index actionId, const Property::Va
   {
     case DevelColorVisual::Action::UPDATE_PROPERTY:
     {
-      Property::Map* map = attributes.GetMap();
+      const Property::Map* map = attributes.GetMap();
       if( map )
       {
         DoSetProperties( *map );
index 7a3af39b67109f2e21beb81f6b95595b6abf2eb4..462a6c07cb22f845333ad1d370d1f61b41e0e0fd 100644 (file)
@@ -589,7 +589,7 @@ void GradientVisual::GetStopOffsets(const Property::Value* value, Vector<float>&
       }
       case Property::ARRAY:
       {
-        Property::Array* offsetArray = value->GetArray();
+        const Property::Array* offsetArray = value->GetArray();
         if( offsetArray )
         {
           unsigned int numStop = offsetArray->Count();
index e9a32f62f68ed2b68310b56ef56e1a8705158c10..f8d5f53c51ae18dc203c4ff1844d2edec84246fe 100755 (executable)
@@ -301,7 +301,7 @@ TextVisualPtr TextVisual::New( VisualFactoryCache& factoryCache, const Property:
   return TextVisualPtr;
 }
 
-void TextVisual::ConvertStringKeysToIndexKeys( Property::Map& propertyMap )
+Property::Map TextVisual::ConvertStringKeysToIndexKeys( const Property::Map& propertyMap )
 {
   Property::Map outMap;
 
@@ -319,7 +319,7 @@ void TextVisual::ConvertStringKeysToIndexKeys( Property::Map& propertyMap )
     outMap.Insert( indexKey, keyValue.second );
   }
 
-  propertyMap = outMap;
+  return outMap;
 }
 
 float TextVisual::GetHeightForWidth( float width )
index e6c0ab88da1f22f43294a528ab068181f9d0038c..136a23f23e894bfaf24a2df8ee6197eafc78cdcc 100755 (executable)
@@ -81,9 +81,10 @@ public:
 
   /**
    * @brief Converts all strings keys in property map to index keys.  Property Map can then be merged correctly.
-   * @param[in,out] propertyMap containing string keys or a mix of strings and indexes. Will be changed to index keys.
+   * @param[in] propertyMap containing string keys or a mix of strings and indexes.
+   * @return Property::Map containing index keys.
    */
-  static void ConvertStringKeysToIndexKeys( Property::Map& propertyMap );
+  static Property::Map ConvertStringKeysToIndexKeys( const Property::Map& propertyMap );
 
   /**
    * @brief Retrieve the text's controller.
index a91b8ab6fef81d03e96200ccee3294bec2546475..78dab181dfea61ccf20b40761dde33f264f4b553 100644 (file)
@@ -101,7 +101,7 @@ void TransitionData::Initialize( const Property::Array& array )
     const Property::Value& element = array.GetElementAt( arrayIdx );
     // Expect each child to be an object representing an animator:
 
-    Property::Map* map = element.GetMap();
+    const Property::Map* map = element.GetMap();
     if( map != NULL )
     {
       TransitionData::Animator* animator = ConvertMap( *map );
@@ -173,12 +173,12 @@ TransitionData::Animator* TransitionData::ConvertMap( const Property::Map& map)
           {
             bool valid = true;
             Vector4 controlPoints;
-            Property::Array *array = value.GetArray();
+            const Property::Array* array = value.GetArray();
             if( array && array->Count() >= 4 )
             {
               for( size_t vecIdx = 0; vecIdx < 4; ++vecIdx )
               {
-                Property::Value& v = array->GetElementAt(vecIdx);
+                const Property::Value& v = array->GetElementAt(vecIdx);
                 if( v.GetType() == Property::FLOAT )
                 {
                   controlPoints[vecIdx] = v.Get<float>();
index ba9f925945e95bcf6c037502b7e4da9bea2d8a44..631f61b2ac78eabc05e2c15269dacc8e84ad08aa 100644 (file)
@@ -95,7 +95,7 @@ bool GetPolicyFromValue( const Property::Value& value, Vector2& policy )
   }
   else
   {
-    Property::Array* array = value.GetArray();
+    const Property::Array* array = value.GetArray();
     if( array && array->Size() == 2 )
     {
       Toolkit::Visual::Transform::Policy::Type xPolicy = static_cast< Toolkit::Visual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes