Initialise Controller's DefaultFont description to that of the Platform default font 66/47566/4
authorAgnelo Vaz <agnelo.vaz@samsung.com>
Fri, 4 Sep 2015 14:14:40 +0000 (15:14 +0100)
committerAgnelo Vaz <agnelo.vaz@samsung.com>
Mon, 7 Sep 2015 14:12:21 +0000 (15:12 +0100)
* 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 <agnelo.vaz@samsung.com>
dali-toolkit/internal/controls/text-controls/text-label-impl.cpp
dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp
dali-toolkit/internal/text/multi-language-support-impl.cpp
dali-toolkit/internal/text/text-controller-impl.cpp
dali-toolkit/internal/text/text-controller-impl.h

index f946cf2..1c31449 100644 (file)
@@ -147,6 +147,7 @@ void TextLabel::SetProperty( BaseObject* object, Property::Index index, const Pr
         {
           const std::string fontFamily = value.Get< std::string >();
 
         {
           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 );
           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:
     {
   {
     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();
       // 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;
     }
       mController->UpdateAfterFontChange( newFont );
       break;
     }
index 606e6bd..3a42d6a 100644 (file)
@@ -32,6 +32,7 @@
 #include <dali/public-api/math/vector4.h>
 #include <dali/public-api/object/property-map.h>
 #include <dali/devel-api/object/type-registry-helper.h>
 #include <dali/public-api/math/vector4.h>
 #include <dali/public-api/object/property-map.h>
 #include <dali/devel-api/object/type-registry-helper.h>
+#include <dali/integration-api/debug.h>
 
 #include <libintl.h>
 #include <cfloat>
 
 #include <libintl.h>
 #include <cfloat>
@@ -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 ) );
 
 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")
 #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::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 );
 
    // 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()
 {
 
 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 );
   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 )
 {
 
 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 );
 
   // 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.
   {
   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.
  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 );
    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 )
  {
 
  void TextSelectionPopup::AddPopupOptionsToToolbar( bool showIcons, bool showCaptions )
  {
+   DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::AddPopupOptionsToToolbar\n" );
+
    CreateOrderedListOfPopupOptions();
 
    mButtonsChanged = false;
    CreateOrderedListOfPopupOptions();
 
    mButtonsChanged = false;
index bb33981..8e55537 100644 (file)
@@ -32,7 +32,7 @@ namespace Toolkit
 namespace
 {
 #if defined(DEBUG_ENABLED)
 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;
 #endif
 
 const Dali::Toolkit::Text::Character UTF32_A = 0x0041;
@@ -351,12 +351,12 @@ void MultilanguageSupport::ValidateFonts( const Vector<Character>& text,
                                           const Vector<ScriptRun>& scripts,
                                           Vector<FontRun>& fonts )
 {
                                           const Vector<ScriptRun>& scripts,
                                           Vector<FontRun>& 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 )
   {
   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;
   }
     // Nothing to do if there are no characters.
     return;
   }
@@ -585,7 +585,7 @@ void MultilanguageSupport::ValidateFonts( const Vector<Character>& text,
     // Store the last run.
     fonts.PushBack( currentFontRun );
   }
     // 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
 }
 
 } // namespace Internal
index cff37b1..e533a3f 100644 (file)
@@ -33,7 +33,7 @@ namespace
 {
 
 #if defined(DEBUG_ENABLED)
 {
 
 #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
 
 /**
 #endif
 
 /**
@@ -277,6 +277,8 @@ bool Controller::Impl::ProcessInputEvents()
 
 void Controller::Impl::UpdateModel( OperationsMask operationsRequired )
 {
 
 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<OperationsMask>( mOperationsPending & operationsRequired );
 
   // Calculate the operations to be done.
   const OperationsMask operations = static_cast<OperationsMask>( mOperationsPending & operationsRequired );
 
@@ -461,6 +463,7 @@ void Controller::Impl::GetDefaultFonts( Vector<FontRun>& fonts, Length numberOfC
 {
   if( mFontDefaults )
   {
 {
   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;
     FontRun fontRun;
     fontRun.characterRun.characterIndex = 0;
     fontRun.characterRun.numberOfCharacters = numberOfCharacters;
index 0efe8c1..351ff82 100644 (file)
@@ -179,6 +179,9 @@ struct FontDefaults
     mDefaultPointSize(0.0f),
     mFontId(0u)
   {
     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 )
   }
 
   FontId GetFontId( TextAbstraction::FontClient& fontClient )