projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
System font family change to update font in TextField
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
styling
/
style-manager-impl.cpp
diff --git
a/dali-toolkit/internal/styling/style-manager-impl.cpp
b/dali-toolkit/internal/styling/style-manager-impl.cpp
index
bc249b3
..
41f20e3
100644
(file)
--- a/
dali-toolkit/internal/styling/style-manager-impl.cpp
+++ b/
dali-toolkit/internal/styling/style-manager-impl.cpp
@@
-18,9
+18,6
@@
#include "style-manager-impl.h"
// EXTERNAL INCLUDES
#include "style-manager-impl.h"
// EXTERNAL INCLUDES
-#include <fstream>
-#include <iostream>
-#include <sstream>
#include <dali/devel-api/adaptor-framework/singleton-service.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/object/type-registry-helper.h>
#include <dali/devel-api/adaptor-framework/singleton-service.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/object/type-registry-helper.h>
@@
-30,6
+27,7
@@
#include <dali-toolkit/public-api/controls/control.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
#include <dali-toolkit/devel-api/styling/style-manager.h>
#include <dali-toolkit/public-api/controls/control.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
#include <dali-toolkit/devel-api/styling/style-manager.h>
+#include <dali-toolkit/internal/feedback/feedback-style.h>
namespace
{
namespace
{
@@
-38,7
+36,7
@@
const char* LANDSCAPE_QUALIFIER = "landscape";
const char* PORTRAIT_QUALIFIER = "portrait";
const char* FONT_SIZE_QUALIFIER = "font-size-";
const char* PORTRAIT_QUALIFIER = "portrait";
const char* FONT_SIZE_QUALIFIER = "font-size-";
-const char* DEFAULT_THEME = DALI_STYLE_DIR "
tizen
-default-theme.json";
+const char* DEFAULT_THEME = DALI_STYLE_DIR "
dali-toolkit
-default-theme.json";
const char* PACKAGE_PATH_KEY = "PACKAGE_PATH";
const char* DEFAULT_PACKAGE_PATH = DALI_DATA_READ_ONLY_DIR "/toolkit/";
const char* PACKAGE_PATH_KEY = "PACKAGE_PATH";
const char* DEFAULT_PACKAGE_PATH = DALI_DATA_READ_ONLY_DIR "/toolkit/";
@@
-102,22
+100,29
@@
Toolkit::StyleManager StyleManager::Get()
StyleManager::StyleManager()
: mOrientationDegrees( 0 ), // Portrait
mDefaultFontSize( -1 ),
StyleManager::StyleManager()
: mOrientationDegrees( 0 ), // Portrait
mDefaultFontSize( -1 ),
- mThemeFile( DEFAULT_THEME )
+ mDefaultFontFamily(""),
+ mThemeFile( DEFAULT_THEME ),
+ mFeedbackStyle( NULL )
{
// Add theme builder constants
mThemeBuilderConstants[ PACKAGE_PATH_KEY ] = DEFAULT_PACKAGE_PATH;
{
// Add theme builder constants
mThemeBuilderConstants[ PACKAGE_PATH_KEY ] = DEFAULT_PACKAGE_PATH;
-
StyleMonitor styleMonitor( StyleMonitor::Get()
);
- if(
s
tyleMonitor )
+
mStyleMonitor = StyleMonitor::Get(
);
+ if(
mS
tyleMonitor )
{
{
-
s
tyleMonitor.StyleChangeSignal().Connect( this, &StyleManager::StyleMonitorChange );
+
mS
tyleMonitor.StyleChangeSignal().Connect( this, &StyleManager::StyleMonitorChange );
- mDefaultFontSize =
s
tyleMonitor.GetDefaultFontSize();
+ mDefaultFontSize =
mS
tyleMonitor.GetDefaultFontSize();
}
}
+
+ // Sound & haptic style
+ mFeedbackStyle = new FeedbackStyle();
+
}
StyleManager::~StyleManager()
{
}
StyleManager::~StyleManager()
{
+ delete mFeedbackStyle;
}
void StyleManager::SetOrientationValue( int orientation )
}
void StyleManager::SetOrientationValue( int orientation )
@@
-151,6
+156,11
@@
void StyleManager::SetOrientation( Orientation orientation )
}
}
}
}
+std::string StyleManager::GetDefaultFontFamily() const
+{
+ return mDefaultFontFamily;
+}
+
Orientation StyleManager::GetOrientation()
{
return mOrientation;
Orientation StyleManager::GetOrientation()
{
return mOrientation;
@@
-248,6
+258,7
@@
void StyleManager::BuildQualifiedStyleName( const std::string& styleName, const
void StyleManager::ApplyStyle( Toolkit::Builder builder, Toolkit::Control control )
{
std::string styleName = control.GetStyleName();
void StyleManager::ApplyStyle( Toolkit::Builder builder, Toolkit::Control control )
{
std::string styleName = control.GetStyleName();
+
if( styleName.empty() )
{
// Convert control name to lower case
if( styleName.empty() )
{
// Convert control name to lower case
@@
-285,12
+296,27
@@
void StyleManager::ApplyStyle( Toolkit::Builder builder, Toolkit::Control contro
void StyleManager::ApplyThemeStyle( Toolkit::Control control )
{
void StyleManager::ApplyThemeStyle( Toolkit::Control control )
{
+ if( !mThemeBuilder )
+ {
+ RequestDefaultTheme();
+ }
+
if( mThemeBuilder )
{
ApplyStyle( mThemeBuilder, control );
}
}
if( mThemeBuilder )
{
ApplyStyle( mThemeBuilder, control );
}
}
+void StyleManager::ApplyThemeStyleAtInit( Toolkit::Control control )
+{
+ ApplyThemeStyle( control );
+
+ if(mFeedbackStyle)
+ {
+ mFeedbackStyle->ObjectCreated( control );
+ }
+}
+
void StyleManager::ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName )
{
bool builderReady = false;
void StyleManager::ApplyStyle( Toolkit::Control control, const std::string& jsonFileName, const std::string& styleName )
{
bool builderReady = false;
@@
-328,17
+354,11
@@
bool StyleManager::LoadFile( const std::string& filename, std::string& stringOut
{
DALI_ASSERT_DEBUG( 0 != filename.length());
{
DALI_ASSERT_DEBUG( 0 != filename.length());
- std::ifstream in( filename.c_str(), std::ios::in );
- if( in )
+ // as toolkit is platform agnostic, it cannot load files from filesystem
+ // ask style monitor to load the style sheet
+ if( mStyleMonitor )
{
{
- std::stringstream buffer;
- buffer << in.rdbuf();
-
- stringOut = buffer.str();
-
- in.close();
-
- return true;
+ return mStyleMonitor.LoadThemeFile( filename, stringOut );
}
return false;
}
return false;
@@
-365,11
+385,15
@@
void StyleManager::RequestDefaultTheme()
void StyleManager::SetTheme()
{
mThemeBuilder = CreateBuilder( mThemeBuilderConstants );
void StyleManager::SetTheme()
{
mThemeBuilder = CreateBuilder( mThemeBuilderConstants );
- if ( LoadJSON( mThemeBuilder, mThemeFile ) )
+
+ if( LoadJSON( mThemeBuilder, mThemeFile ) )
{
{
- StyleChange change;
- change.themeChange = true;
- mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), change );
+ if(mFeedbackStyle)
+ {
+ mFeedbackStyle->StyleChanged( mThemeFile, StyleChange::THEME_CHANGE );
+ }
+
+ mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), StyleChange::THEME_CHANGE );
}
else
{
}
else
{
@@
-393,25
+417,37
@@
void StyleManager::CacheBuilder( Toolkit::Builder builder, const std::string& ke
mBuilderCache[ key ] = builder;
}
mBuilderCache[ key ] = builder;
}
-void StyleManager::StyleMonitorChange( StyleMonitor styleMonitor, StyleChange styleChange )
+void StyleManager::StyleMonitorChange( StyleMonitor styleMonitor, StyleChange
::Type
styleChange )
{
{
- if( styleChange.defaultFontSizeChange )
- {
- mDefaultFontSize = styleMonitor.GetDefaultFontSize();
- }
-
- if( styleChange.themeChange )
+ switch ( styleChange )
{
{
- if( ! styleChange.themeFilePath.empty() )
+ case StyleChange::DEFAULT_FONT_CHANGE:
{
{
- mThemeFile = styleChange.themeFilePath;
+ mDefaultFontFamily = styleMonitor.GetDefaultFontFamily();
+ break;
}
}
- else
+
+ case StyleChange::DEFAULT_FONT_SIZE_CHANGE:
{
{
- mThemeFile = DEFAULT_THEME;
+ mDefaultFontSize = styleMonitor.GetDefaultFontSize();
+ break;
}
}
- SetTheme();
+ case StyleChange::THEME_CHANGE:
+ {
+ const std::string& newTheme = styleMonitor.GetTheme();
+ if( ! newTheme.empty() )
+ {
+ mThemeFile = newTheme;
+ }
+ else
+ {
+ mThemeFile = DEFAULT_THEME;
+ }
+
+ SetTheme();
+ break;
+ }
}
mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), styleChange );
}
mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), styleChange );