#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
{
const char* LANDSCAPE_QUALIFIER = "landscape";
const char* PORTRAIT_QUALIFIER = "portrait";
-const char* FONT_SIZE_QUALIFIER = "font-size-";
+const char* FONT_SIZE_QUALIFIER = "FontSize";
const char* DEFAULT_THEME = DALI_STYLE_DIR "dali-toolkit-default-theme.json";
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;
mDefaultFontSize = mStyleMonitor.GetDefaultFontSize();
}
+
+ // Sound & haptic style
+ mFeedbackStyle = new FeedbackStyle();
+
}
StyleManager::~StyleManager()
{
+ delete mFeedbackStyle;
}
void StyleManager::SetOrientationValue( int orientation )
}
}
+std::string StyleManager::GetDefaultFontFamily() const
+{
+ return mDefaultFontFamily;
+}
+
Orientation StyleManager::GetOrientation()
{
return mOrientation;
void StyleManager::ApplyStyle( Toolkit::Builder builder, Toolkit::Control control )
{
std::string styleName = control.GetStyleName();
+
if( styleName.empty() )
{
// Convert control name to lower case
{
// Apply the style for logical font size
std::stringstream fontSizeQualifier;
- fontSizeQualifier << styleName << "-" << FONT_SIZE_QUALIFIER << mDefaultFontSize;
+ fontSizeQualifier << styleName << FONT_SIZE_QUALIFIER << mDefaultFontSize;
builder.ApplyStyle( fontSizeQualifier.str(), control );
}
}
void StyleManager::ApplyThemeStyle( Toolkit::Control control )
{
+ if( !mThemeBuilder )
+ {
+ RequestDefaultTheme();
+ }
+
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::SetTheme()
{
mThemeBuilder = CreateBuilder( mThemeBuilderConstants );
- if ( LoadJSON( mThemeBuilder, mThemeFile ) )
+
+ if( LoadJSON( mThemeBuilder, mThemeFile ) )
{
+ if(mFeedbackStyle)
+ {
+ mFeedbackStyle->StyleChanged( mThemeFile, StyleChange::THEME_CHANGE );
+ }
+
mStyleChangeSignal.Emit( Toolkit::StyleManager::Get(), StyleChange::THEME_CHANGE );
}
else
{
case StyleChange::DEFAULT_FONT_CHANGE:
{
+ mDefaultFontFamily = styleMonitor.GetDefaultFontFamily();
break;
}