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=a7e0b4637c16078bc2bbeee8077d04b010e1b056;hp=65750c1e1e78c87917dd26088b212bc48a2c187e;hb=fd9780b06023ca21988b0913c6539b733491c6e1;hpb=1c5674a11a51310ee689d6daf4e6b7d94dec607e 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 65750c1..a7e0b46 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,55 @@ * */ +// HEADER #include "toolkit-style-monitor.h" +// EXTERNAL INCLUDES #include +#include #include #include namespace Dali { +const std::string Dali::StyleMonitor::DEFAULT_FONT_FAMILY("DefaultFont"); +const std::string Dali::StyleMonitor::DEFAULT_FONT_STYLE("Regular"); +const float Dali::StyleMonitor::DEFAULT_FONT_SIZE(1.0f); +} + +namespace +{ +const char* DEFAULT_THEME= + "{\"styles\":{\n" + " \"textlabel\":\n" + " {\n" + " \"fontStyle\":\"Regular\",\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 = Dali::StyleMonitor::DEFAULT_FONT_FAMILY; +std::string gFontStyle = Dali::StyleMonitor::DEFAULT_FONT_STYLE; +float gFontSize = Dali::StyleMonitor::DEFAULT_FONT_SIZE; +} +namespace Dali +{ namespace Internal { namespace Adaptor @@ -41,9 +80,11 @@ 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(); @@ -56,7 +97,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 +123,18 @@ 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 @@ -100,6 +148,29 @@ void StyleMonitor::SetTheme(std::string path) 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() { return mStyleChangeSignal; @@ -121,9 +192,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() { } @@ -147,6 +215,11 @@ std::string StyleMonitor::GetDefaultFontFamily() const return GetImplementation(*this).GetDefaultFontFamily(); } +std::string StyleMonitor::GetDefaultFontStyle() const +{ + return GetImplementation(*this).GetDefaultFontStyle(); +} + float StyleMonitor::GetDefaultFontSize() const { return GetImplementation(*this).GetDefaultFontSize(); @@ -172,6 +245,11 @@ void StyleMonitor::EmitStyleChangeSignal(StyleChange::Type styleChange) GetImplementation(*this).EmitStyleChangeSignal(styleChange); } +bool StyleMonitor::LoadThemeFile( const std::string& filename, std::string& output ) +{ + return GetImplementation(*this).LoadThemeFile(filename, output); +} + StyleMonitor& StyleMonitor::operator=(const StyleMonitor& monitor) { if( *this != monitor ) @@ -187,3 +265,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