X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fstyling%2Fstyle-manager-impl.cpp;h=57be231c242189fac6f7fdf3cafd7541ec868eba;hb=9950e5ec78fa88379dbfa3fdf952a0c6b578adbd;hp=56b97f87eb474922435f2a1207bc44ac1555422b;hpb=022b76df6f53c2860f2684ef1ffee81af1805e2e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/styling/style-manager-impl.cpp b/base/dali-toolkit/internal/styling/style-manager-impl.cpp index 56b97f8..57be231 100644 --- a/base/dali-toolkit/internal/styling/style-manager-impl.cpp +++ b/base/dali-toolkit/internal/styling/style-manager-impl.cpp @@ -1,18 +1,18 @@ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.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://floralicense.org/license/ -// -// 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. -// +/* + * Copyright (c) 2014 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 "style-manager-impl.h" @@ -59,11 +59,15 @@ BaseHandle Create() { BaseHandle handle = StyleManager::Get(); - if ( !handle && Adaptor::IsAvailable() ) + if ( !handle ) { - Toolkit::StyleManager manager = Toolkit::StyleManager( new Internal::StyleManager() ); - Adaptor::Get().RegisterSingleton( typeid( manager ), manager ); - handle = manager; + SingletonService singletonService( SingletonService::Get() ); + if ( singletonService ) + { + Toolkit::StyleManager manager = Toolkit::StyleManager( new Internal::StyleManager() ); + singletonService.Register( typeid( manager ), manager ); + handle = manager; + } } return handle; @@ -88,10 +92,11 @@ Toolkit::StyleManager StyleManager::Get() { Toolkit::StyleManager manager; - if ( Adaptor::IsAvailable() ) + SingletonService singletonService( SingletonService::Get() ); + if ( singletonService ) { // Check whether the style manager is already created - Dali::BaseHandle handle = Dali::Adaptor::Get().GetSingleton( typeid( Toolkit::StyleManager ) ); + Dali::BaseHandle handle = singletonService.GetSingleton( typeid( Toolkit::StyleManager ) ); if( handle ) { // If so, downcast the handle of singleton @@ -110,6 +115,11 @@ StyleManager::StyleManager() mThemeBuilderConstants[ PACKAGE_PATH_KEY ] = DEFAULT_PACKAGE_PATH; RequestDefaultTheme(); + + if( Adaptor::IsAvailable() ) + { + StyleMonitor::Get().StyleChangeSignal().Connect( this, &StyleManager::StyleMonitorChange ); + } } StyleManager::~StyleManager() @@ -330,17 +340,9 @@ bool StyleManager::LoadFile( const std::string& filename, std::string& stringOut return false; } -Toolkit::StyleManager::ThemeChangeSignalType& StyleManager::ThemeChangeSignal() -{ - return mThemeChangeSignal; -} - -void StyleManager::EmitThemeChangeSignal() +Toolkit::StyleManager::StyleChangeSignalType& StyleManager::StyleChangeSignal() { - if( !mThemeChangeSignal.Empty() ) - { - mThemeChangeSignal.Emit( Toolkit::StyleManager::Get() ); - } + return mStyleChangeSignal; } void StyleManager::RequestThemeChange( const std::string& themeFile ) @@ -368,7 +370,9 @@ void StyleManager::SetTheme() mSetThemeConnection = false; - EmitThemeChangeSignal(); + StyleChange change; + change.themeChange = true; + mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change ); } Toolkit::Builder StyleManager::FindCachedBuilder( const std::string& key ) @@ -387,6 +391,11 @@ void StyleManager::CacheBuilder( Toolkit::Builder builder, const std::string& ke mBuilderCache[ key ] = builder; } +void StyleManager::StyleMonitorChange( StyleMonitor styleMonitor, StyleChange styleChange ) +{ + mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), styleChange ); +} + } // namespace Internal } // namespace Toolkit