X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftoolkit-style-monitor.cpp;h=c17872b87ee2255be3d072507909e7ff3df7b5df;hp=dc2d39fbf37c81205b11caf4ad1103b39d29437b;hb=d07dc4c4a6067ba3080184d862bca40a90d1789c;hpb=7e315a440bad7033d19fefa8f9952d625ee6f076 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp index dc2d39f..c17872b 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp @@ -15,16 +15,48 @@ * */ +// HEADER #include "toolkit-style-monitor.h" +// EXTERNAL INCLUDES #include +#include #include #include -namespace Dali +namespace +{ +const char* DEFAULT_THEME= + "{\"styles\":{\n" + " \"textlabel\":\n" + " {\n" + " \"fontStyle\":{\"weight\":\"normal\"},\n" + " \"pointSize\":18\n" + " }\n" + " }\n" + "}\n"; + +struct NamedTheme { + NamedTheme( const std::string& name, const std::string& theme ) + : name(name), theme(theme) + { + } + + std::string name; + std::string theme; +}; +typedef std::vector< NamedTheme > NamedThemes; +NamedThemes gThemes; +std::string gTheme; +std::string gFontFamily("LucidaSans"); +std::string gFontStyle("Regular"); +int gFontSize(1); +} +namespace Dali +{ namespace Internal { namespace Adaptor @@ -41,14 +73,16 @@ public: // Creation & Destruction public: // Style Information std::string GetDefaultFontFamily() const; + std::string GetDefaultFontStyle() const; float GetDefaultFontSize() const; const std::string& GetTheme() const; void SetTheme(std::string theme); + bool LoadThemeFile( const std::string& filename, std::string& output ); public: // Signals Dali::StyleMonitor::StyleChangeSignalType& StyleChangeSignal(); - void EmitStyleChangeSignal(StyleChange styleChange) + void EmitStyleChangeSignal(StyleChange::Type styleChange) { mStyleChangeSignal.Emit(Dali::StyleMonitor(this), styleChange); } @@ -56,7 +90,8 @@ public: // Signals private: Dali::StyleMonitor::StyleChangeSignalType mStyleChangeSignal; static Dali::StyleMonitor mToolkitStyleMonitor; - std::string mTheme; + + std::string mTheme; ///<< Current theme name }; Dali::StyleMonitor StyleMonitor::mToolkitStyleMonitor; @@ -81,12 +116,17 @@ StyleMonitor::~StyleMonitor() std::string StyleMonitor::GetDefaultFontFamily() const { - return Dali::StyleMonitor::DEFAULT_FONT_FAMILY; + return gFontFamily; +} + +std::string StyleMonitor::GetDefaultFontStyle() const +{ + return gFontStyle; } float StyleMonitor::GetDefaultFontSize() const { - return Dali::StyleMonitor::DEFAULT_FONT_SIZE; + return gFontSize; } const std::string& StyleMonitor::GetTheme() const @@ -96,11 +136,31 @@ const std::string& StyleMonitor::GetTheme() const void StyleMonitor::SetTheme(std::string path) { - StyleChange styleChange; - styleChange.themeChange = true; - styleChange.themeFilePath = path; mTheme = path; - EmitStyleChangeSignal(styleChange); + EmitStyleChangeSignal( StyleChange::THEME_CHANGE ); +} + +bool StyleMonitor::LoadThemeFile( const std::string& filename, std::string& output ) +{ + for( NamedThemes::iterator iter = gThemes.begin(); iter != gThemes.end(); ++iter ) + { + NamedTheme& theme = *iter; + if( theme.name == filename ) + { + output = theme.theme; + return true; + } + } + + if( !gTheme.empty() ) + { + output = gTheme; + } + else + { + output = DEFAULT_THEME; + } + return true; } Dali::StyleMonitor::StyleChangeSignalType& StyleMonitor::StyleChangeSignal() @@ -124,9 +184,6 @@ const Internal::Adaptor::StyleMonitor& GetImplementation(const Dali::StyleMonito return static_cast(object); } -const std::string Dali::StyleMonitor::DEFAULT_FONT_FAMILY("DefaultFont"); -const float Dali::StyleMonitor::DEFAULT_FONT_SIZE(1.0f); - StyleMonitor::StyleMonitor() { } @@ -150,7 +207,12 @@ std::string StyleMonitor::GetDefaultFontFamily() const return GetImplementation(*this).GetDefaultFontFamily(); } -float StyleMonitor::GetDefaultFontSize() const +std::string StyleMonitor::GetDefaultFontStyle() const +{ + return GetImplementation(*this).GetDefaultFontStyle(); +} + +int StyleMonitor::GetDefaultFontSize() const { return GetImplementation(*this).GetDefaultFontSize(); } @@ -160,7 +222,7 @@ const std::string& StyleMonitor::GetTheme() const return GetImplementation(*this).GetTheme(); } -void StyleMonitor::SetTheme(std::string themeFilePath) +void StyleMonitor::SetTheme(const std::string& themeFilePath) { GetImplementation(*this).SetTheme(themeFilePath); } @@ -170,9 +232,9 @@ StyleMonitor::StyleChangeSignalType& StyleMonitor::StyleChangeSignal() return GetImplementation(*this).StyleChangeSignal(); } -void StyleMonitor::EmitStyleChangeSignal(StyleChange styleChange) +bool StyleMonitor::LoadThemeFile( const std::string& filename, std::string& output ) { - GetImplementation(*this).EmitStyleChangeSignal(styleChange); + return GetImplementation(*this).LoadThemeFile(filename, output); } StyleMonitor& StyleMonitor::operator=(const StyleMonitor& monitor) @@ -190,3 +252,41 @@ StyleMonitor::StyleMonitor(Internal::Adaptor::StyleMonitor* internal) } } // namespace Dali + +namespace Test +{ +namespace StyleMonitor +{ + +void SetThemeFileOutput( const std::string& name, const std::string& output ) +{ + for( NamedThemes::iterator iter = gThemes.begin(); iter != gThemes.end(); ++iter ) + { + NamedTheme& theme = *iter; + if( theme.name == name ) + { + theme.theme = output; + return; + } + } + + gThemes.push_back( NamedTheme( name, output ) ); +} + +void SetDefaultFontFamily(const std::string& family) +{ + gFontFamily = family; +} + +void SetDefaultFontStyle(const std::string& style) +{ + gFontStyle = style; +} + +void SetDefaultFontSize( float size ) +{ + gFontSize = size; +} + +} // StyleMonitor +} // Test