X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fstyling%2Fstyle-manager-impl.cpp;h=1ee0e9ed315bcb01133cf3989383aa667c8aea36;hp=0e43c192ce4a182111a3ef6b2cc91c4926b8937a;hb=efc7867951058f01bbbf9694a24726e1dfaf5c16;hpb=467273430b68ef02ca30677af8dbb64277e5a668 diff --git a/base/dali-toolkit/internal/styling/style-manager-impl.cpp b/base/dali-toolkit/internal/styling/style-manager-impl.cpp index 0e43c19..1ee0e9e 100644 --- a/base/dali-toolkit/internal/styling/style-manager-impl.cpp +++ b/base/dali-toolkit/internal/styling/style-manager-impl.cpp @@ -17,17 +17,18 @@ // CLASS HEADER #include "style-manager-impl.h" -// INTERNAL INCLUDES -#include -#include -#include -#include - // EXTERNAL INCLUDES #include #include #include +#include +#include +#include +// INTERNAL INCLUDES +#include +#include +#include namespace { @@ -73,18 +74,6 @@ BaseHandle Create() } TypeRegistration STYLE_MANAGER_TYPE( typeid(Dali::Toolkit::StyleManager), typeid(Dali::BaseHandle), Create, true /* Create instance at startup */ ); -/** - * Merge two maps into one - */ -void MergeMaps( const PropertyValueMap& a, const PropertyValueMap& b, PropertyValueMap& out ) -{ - out = a; - for( PropertyValueMap::const_iterator it = b.begin(), itEnd = b.end(); it != itEnd; ++it ) - { - out[ it->first ] = it->second; - } -} - } // namespace Toolkit::StyleManager StyleManager::Get() @@ -168,10 +157,10 @@ void StyleManager::SetStyleConstant( const std::string& key, const Property::Val bool StyleManager::GetStyleConstant( const std::string& key, Property::Value& valueOut ) { - Toolkit::PropertyValueMap::iterator valueIt = mStyleBuilderConstants.find( key ); - if( valueIt != mStyleBuilderConstants.end() ) + Property::Value* value = mStyleBuilderConstants.Find( key ); + if( value ) { - valueOut = valueIt->second; + valueOut = *value; return true; } @@ -186,7 +175,7 @@ void StyleManager::OnOrientationChanged( Orientation orientation ) SetTheme(); } -Toolkit::Builder StyleManager::CreateBuilder( const PropertyValueMap& constants ) +Toolkit::Builder StyleManager::CreateBuilder( const Property::Map& constants ) { Toolkit::Builder builder = Toolkit::Builder::New(); builder.AddConstants( constants ); @@ -297,8 +286,8 @@ void StyleManager::ApplyStyle( Toolkit::Control control, const std::string& json else { // Merge theme and style constants - PropertyValueMap constants; - MergeMaps( mThemeBuilderConstants, mStyleBuilderConstants, constants ); + Property::Map constants( mThemeBuilderConstants ); + constants.Merge( mStyleBuilderConstants ); // Create it builder = CreateBuilder( constants ); @@ -358,11 +347,16 @@ void StyleManager::RequestDefaultTheme() void StyleManager::SetTheme() { mThemeBuilder = CreateBuilder( mThemeBuilderConstants ); - LoadJSON( mThemeBuilder, mThemeFile ); - - StyleChange change; - change.themeChange = true; - mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change ); + if ( LoadJSON( mThemeBuilder, mThemeFile ) ) + { + StyleChange change; + change.themeChange = true; + mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change ); + } + else + { + mThemeBuilder.Reset(); + } } Toolkit::Builder StyleManager::FindCachedBuilder( const std::string& key )