From: Agnelo Vaz Date: Mon, 9 Jun 2014 15:14:41 +0000 (+0100) Subject: Builder support for unsigned int property conversion X-Git-Tag: dali_1.0.0~66 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=b75c60347086e889152194b1c64ee54a739835ae Builder support for unsigned int property conversion [problem] Builder was unable to convert property values to unsigned int [cause] Used integer comparison [solution] Added a property to unsigned int conversion Change-Id: I6ccfac3561d016c197e18e518df35ccf9783c505 --- diff --git a/base/dali-toolkit/internal/builder/builder-set-property.cpp b/base/dali-toolkit/internal/builder/builder-set-property.cpp index ac3c564..71ae7a0 100644 --- a/base/dali-toolkit/internal/builder/builder-set-property.cpp +++ b/base/dali-toolkit/internal/builder/builder-set-property.cpp @@ -206,7 +206,7 @@ bool SetPropertyFromNode( const TreeNode& node, Property::Type type, Property::V } case Property::UNSIGNED_INTEGER: { - if( OptionalInteger v = replacer.IsInteger(node) ) + if( OptionalUnsignedInt v = replacer.IsUnsignedInteger( node) ) { if( *v >= 0 ) // with a loss of resolution.... { diff --git a/base/dali-toolkit/internal/builder/replacement.cpp b/base/dali-toolkit/internal/builder/replacement.cpp index f5b6709..259cb87 100644 --- a/base/dali-toolkit/internal/builder/replacement.cpp +++ b/base/dali-toolkit/internal/builder/replacement.cpp @@ -378,6 +378,27 @@ OptionalInteger Replacement::IsInteger( const TreeNode & node ) const return ret; } +OptionalUnsignedInt Replacement::IsUnsignedInteger( const TreeNode & node ) const +{ + OptionalUnsignedInt ret; + if( OptionalString replace = HasFullReplacement( node ) ) + { + Property::Value value = GetFullReplacement( *replace ); + if( Property::UNSIGNED_INTEGER == value.GetType() ) + { + ret = value.Get(); + } + } + else + { + if ( OptionalInteger i = ::IsInteger( node ) ) + { + ret = OptionalUnsignedInt(static_cast(*i) ); + } + } + return ret; +} + OptionalVector2 Replacement::IsVector2( const TreeNode & node ) const { OptionalVector2 ret; diff --git a/base/dali-toolkit/internal/builder/replacement.h b/base/dali-toolkit/internal/builder/replacement.h index 1cd5b88..71e55d0 100644 --- a/base/dali-toolkit/internal/builder/replacement.h +++ b/base/dali-toolkit/internal/builder/replacement.h @@ -99,6 +99,13 @@ public: * @param node The TreeNode to check * @return Optional value */ + OptionalUnsignedInt IsUnsignedInteger( const TreeNode & node ) const; + + /* @brief Check node for a type + * + * @param node The TreeNode to check + * @return Optional value + */ OptionalVector2 IsVector2( const TreeNode & node ) const; /* @brief Check node for a type