From a97820c064ff542c5c5e5151e976c1495af1235e Mon Sep 17 00:00:00 2001 From: Agnelo Vaz Date: Fri, 4 Sep 2015 15:14:40 +0100 Subject: [PATCH] Initialise Controller's DefaultFont description to that of the Platform default font * Creating a TextControl after the System font has changed meant it did not use the new system font. * This effected TextLabel and TextField, now creating a Text Control with no user defined font will make it use the current system font. * Changing the current system font family will reflect in the Text Control * Logging added - Font Style and Point Size still has no impact currently Change-Id: I8f92d0310b49a5fed1f6cf94218e9da7b6e4fca3 Signed-off-by: Agnelo Vaz --- .../internal/controls/text-controls/text-label-impl.cpp | 3 ++- .../controls/text-controls/text-selection-popup-impl.cpp | 16 +++++++++++++++- .../internal/text/multi-language-support-impl.cpp | 8 ++++---- dali-toolkit/internal/text/text-controller-impl.cpp | 5 ++++- dali-toolkit/internal/text/text-controller-impl.h | 3 +++ 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp index f946cf2..1c31449 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -147,6 +147,7 @@ void TextLabel::SetProperty( BaseObject* object, Property::Index index, const Pr { const std::string fontFamily = value.Get< std::string >(); + DALI_LOG_INFO( gLogFilter, Debug::General, "TextLabel::SetProperty Property::FONT_FAMILY newFont(%s)\n", fontFamily.c_str() ); if( impl.mController->GetDefaultFontFamily() != fontFamily ) { impl.mController->SetDefaultFontFamily( fontFamily, true ); @@ -457,9 +458,9 @@ void TextLabel::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange:: { case StyleChange::DEFAULT_FONT_CHANGE: { - DALI_LOG_INFO( gLogFilter, Debug::General, "TextLabel::OnStyleChange StyleChange::DEFAULT_FONT_CHANGE\n"); // Property system did not set the font so should update it. std::string newFont = styleManager.GetDefaultFontFamily(); + DALI_LOG_INFO( gLogFilter, Debug::General, "TextLabel::OnStyleChange StyleChange::DEFAULT_FONT_CHANGE newFont(%s)\n", newFont.c_str() ); mController->UpdateAfterFontChange( newFont ); break; } diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp index 606e6bd..3a42d6a 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -53,6 +54,10 @@ namespace const std::string TEXT_SELECTION_POPUP_BUTTON_STYLE_NAME( "textselectionpopupbutton" ); const Dali::Vector4 DEFAULT_OPTION_PRESSED_COLOR( Dali::Vector4( 0.24f, 0.72f, 0.8f, 1.0f ) ); +#if defined(DEBUG_ENABLED) + Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, true, "LOG_TEXT_CONTROLS"); +#endif + #ifdef DGETTEXT_ENABLED #define POPUP_CUT_STRING GET_LOCALE_TEXT("IDS_COM_BODY_CUT") @@ -114,6 +119,8 @@ DALI_TYPE_REGISTRATION_END() Dali::Toolkit::TextSelectionPopup TextSelectionPopup::New( TextSelectionPopupCallbackInterface* callbackInterface ) { + DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextSelectionPopup::New\n" ); + // Create the implementation, temporarily owned by this handle on stack IntrusivePtr< TextSelectionPopup > impl = new TextSelectionPopup( callbackInterface ); @@ -376,6 +383,7 @@ void TextSelectionPopup::HidePopup() void TextSelectionPopup::OnInitialize() { + DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::OnInitialize\n" ); Actor self = Self(); self.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); self.SetProperty( Actor::Property::COLOR_ALPHA, 0.0f ); @@ -383,6 +391,7 @@ void TextSelectionPopup::OnInitialize() void TextSelectionPopup::OnStageConnection( int depth ) { + DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::OnStageConnection\n" ); // Call the Control::OnStageConnection() to set the depth of the background. Control::OnStageConnection( depth ); @@ -394,7 +403,8 @@ void TextSelectionPopup::HideAnimationFinished( Animation& animation ) Actor self = Self(); if ( !mPopupShowing ) // During the Hide/Fade animation there could be a call to Show the Popup again, mPopupShowing will be true in this case. { - UnparentAndReset( self ); // Popup needs to be shown so do not unparent + DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::HideAnimationFinished\n" ); + UnparentAndReset( mToolbar ); } } @@ -642,6 +652,8 @@ std::string TextSelectionPopup::GetPressedImage() const void TextSelectionPopup::AddOption( const ButtonRequirement& button, bool showDivider, bool showIcons, bool showCaption ) { // 1. Create a option. + DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::AddOption\n" ); + Toolkit::PushButton option = Toolkit::PushButton::New(); option.SetName( button.name ); option.SetAnimationTime( 0.0f ); @@ -753,6 +765,8 @@ std::string TextSelectionPopup::GetPressedImage() const void TextSelectionPopup::AddPopupOptionsToToolbar( bool showIcons, bool showCaptions ) { + DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::AddPopupOptionsToToolbar\n" ); + CreateOrderedListOfPopupOptions(); mButtonsChanged = false; diff --git a/dali-toolkit/internal/text/multi-language-support-impl.cpp b/dali-toolkit/internal/text/multi-language-support-impl.cpp index bb33981..8e55537 100644 --- a/dali-toolkit/internal/text/multi-language-support-impl.cpp +++ b/dali-toolkit/internal/text/multi-language-support-impl.cpp @@ -32,7 +32,7 @@ namespace Toolkit namespace { #if defined(DEBUG_ENABLED) -Debug::Filter* gLogFilter = Debug::Filter::New(Debug::Concise, true, "LOG_MULTI_LANGUAGE_SUPPORT"); +Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, true, "LOG_MULTI_LANGUAGE_SUPPORT"); #endif const Dali::Toolkit::Text::Character UTF32_A = 0x0041; @@ -351,12 +351,12 @@ void MultilanguageSupport::ValidateFonts( const Vector& text, const Vector& scripts, Vector& fonts ) { - DALI_LOG_INFO( gLogFilter, Debug::Verbose, "-->MultilanguageSupport::ValidateFonts\n" ); + DALI_LOG_INFO( gLogFilter, Debug::General, "-->MultilanguageSupport::ValidateFonts\n" ); const Length numberOfCharacters = text.Count(); if( 0u == numberOfCharacters ) { - DALI_LOG_INFO( gLogFilter, Debug::Verbose, "<--MultilanguageSupport::ValidateFonts\n" ); + DALI_LOG_INFO( gLogFilter, Debug::General, "<--MultilanguageSupport::ValidateFonts\n" ); // Nothing to do if there are no characters. return; } @@ -585,7 +585,7 @@ void MultilanguageSupport::ValidateFonts( const Vector& text, // Store the last run. fonts.PushBack( currentFontRun ); } - DALI_LOG_INFO( gLogFilter, Debug::Verbose, "<--MultilanguageSupport::ValidateFonts\n" ); + DALI_LOG_INFO( gLogFilter, Debug::General, "<--MultilanguageSupport::ValidateFonts\n" ); } } // namespace Internal diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index cff37b1..e533a3f 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -33,7 +33,7 @@ namespace { #if defined(DEBUG_ENABLED) - Debug::Filter* gLogFilter = Debug::Filter::New(Debug::Concise, true, "LOG_TEXT_CONTROLS"); + Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, true, "LOG_TEXT_CONTROLS"); #endif /** @@ -277,6 +277,8 @@ bool Controller::Impl::ProcessInputEvents() void Controller::Impl::UpdateModel( OperationsMask operationsRequired ) { + DALI_LOG_INFO( gLogFilter, Debug::General, "Controller::UpdateModel\n" ); + // Calculate the operations to be done. const OperationsMask operations = static_cast( mOperationsPending & operationsRequired ); @@ -461,6 +463,7 @@ void Controller::Impl::GetDefaultFonts( Vector& fonts, Length numberOfC { if( mFontDefaults ) { + DALI_LOG_INFO( gLogFilter, Debug::Concise, "Controller::GetDefaultFonts font family(%s)\n", mFontDefaults->mFontDescription.family.c_str() ); FontRun fontRun; fontRun.characterRun.characterIndex = 0; fontRun.characterRun.numberOfCharacters = numberOfCharacters; diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index 0efe8c1..351ff82 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -179,6 +179,9 @@ struct FontDefaults mDefaultPointSize(0.0f), mFontId(0u) { + // Initially use the default platform font + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + fontClient.GetDefaultPlatformFontDescription( mFontDescription ); } FontId GetFontId( TextAbstraction::FontClient& fontClient ) -- 2.7.4