X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-impl.h;h=898e2c6b3fc521ea8bdc6488bbb01f9b5bc470b4;hp=e9d99f1fe4db80164d826a08a2c7af6f25342c8b;hb=76f9ffa0234acd1b72f3d92c631052a5b4147a83;hpb=abf49ea18cacb9cee85e0253873578775981c5ca diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index e9d99f1..898e2c6 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -27,6 +27,8 @@ #include #include #include +#include +#include namespace Dali { @@ -39,6 +41,7 @@ namespace Text //Forward declarations struct CursorInfo; +struct FontDefaults; struct Event { @@ -104,7 +107,7 @@ struct EventData DecoratorPtr mDecorator; ///< Pointer to the decorator. ImfManager mImfManager; ///< The Input Method Framework Manager. - std::string mPlaceholderText; ///< The text to display when the TextField is empty. + FontDefaults* mPlaceholderFont; ///< The placeholder default font. std::string mPlaceholderTextActive; ///< The text to display when the TextField is empty with key-input focus. std::string mPlaceholderTextInactive; ///< The text to display when the TextField is empty and inactive. Vector4 mPlaceholderTextColor; ///< The in/active placeholder text color. @@ -155,6 +158,7 @@ struct EventData bool mUpdateInputStyle : 1; ///< Whether to update the input style after moving the cursor. bool mPasswordInput : 1; ///< True if password input is enabled. bool mCheckScrollAmount : 1; ///< Whether to check scrolled amount after updating the position + bool mIsPlaceholderPixelSize : 1; ///< True if the placeholder font size is set as pixel size. }; struct ModifyEvent @@ -318,7 +322,8 @@ struct Controller::Impl mAutoScrollDirectionRTL( false ), mUnderlineSetByString( false ), mShadowSetByString( false ), - mFontStyleSetByString( false ) + mFontStyleSetByString( false ), + mShouldClearFocusOnEscape( true ) { mModel = Model::New(); @@ -334,6 +339,17 @@ struct Controller::Impl // Set the text properties to default mModel->mVisualModel->SetUnderlineEnabled( false ); mModel->mVisualModel->SetUnderlineHeight( 0.0f ); + + Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); + if( styleManager ) + { + bool temp; + Property::Map config = Toolkit::DevelStyleManager::GetConfigurations( styleManager ); + if( config["clearFocusOnEscape"].Get( temp ) ) + { + mShouldClearFocusOnEscape = temp; + } + } } ~Impl() @@ -384,9 +400,10 @@ struct Controller::Impl */ bool IsPlaceholderAvailable() const { - return ( mEventData && ( !mEventData->mPlaceholderText.empty() || - !mEventData->mPlaceholderTextInactive.empty() || - !mEventData->mPlaceholderTextActive.empty() ) ); + return ( mEventData && + ( !mEventData->mPlaceholderTextInactive.empty() || + !mEventData->mPlaceholderTextActive.empty() ) + ); } bool IsShowingPlaceholderText() const @@ -399,8 +416,7 @@ struct Controller::Impl */ bool IsFocusedPlaceholderAvailable() const { - return ( mEventData && ( !mEventData->mPlaceholderTextActive.empty() || - !mEventData->mPlaceholderText.empty() ) ); + return ( mEventData && !mEventData->mPlaceholderTextActive.empty() ); } bool IsShowingRealText() const @@ -728,6 +744,7 @@ public: bool mUnderlineSetByString:1; ///< Set when underline is set by string (legacy) instead of map bool mShadowSetByString:1; ///< Set when shadow is set by string (legacy) instead of map bool mFontStyleSetByString:1; ///< Set when font style is set by string (legacy) instead of map + bool mShouldClearFocusOnEscape:1; ///< Whether text control should clear key input focus }; } // namespace Text