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=34601f55e9b9390550ffc50bc91265db77e9ae4c;hp=23188f54e858ab632dd37c694026a3456713f3ef;hb=9346cf33ef49063185d54fbbfc186864d96c51ca;hpb=5d9c9c74a345a826828d32e90d4d333639abad77 diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h old mode 100644 new mode 100755 index 23188f5..34601f5 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -64,6 +64,7 @@ struct Event int mInt; unsigned int mUint; float mFloat; + bool mBool; }; Event( Type eventType ) @@ -96,7 +97,7 @@ struct EventData TEXT_PANNING }; - EventData( DecoratorPtr decorator ); + EventData( DecoratorPtr decorator, InputMethodContext& inputMethodContext ); ~EventData(); @@ -106,7 +107,7 @@ struct EventData } DecoratorPtr mDecorator; ///< Pointer to the decorator. - ImfManager mImfManager; ///< The Input Method Framework Manager. + InputMethodContext mInputMethodContext; ///< The Input Method Framework Manager. 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. @@ -161,6 +162,7 @@ struct EventData bool mIsPlaceholderPixelSize : 1; ///< True if the placeholder font size is set as pixel size. bool mIsPlaceholderElideEnabled : 1; ///< True if the placeholder text's elide is enabled. bool mPlaceholderEllipsisFlag : 1; ///< True if the text controller sets the placeholder ellipsis. + bool mShiftSelectionFlag : 1; ///< True if the text selection using Shift key is enabled. }; struct ModifyEvent @@ -321,9 +323,11 @@ struct Controller::Impl mMarkupProcessorEnabled( false ), mClipboardHideEnabled( true ), mIsAutoScrollEnabled( false ), - mAutoScrollDirectionRTL( false ), + mUpdateTextDirection( true ), + mIsTextDirectionRTL( false ), mUnderlineSetByString( false ), mShadowSetByString( false ), + mOutlineSetByString( false ), mFontStyleSetByString( false ), mShouldClearFocusOnEscape( true ) { @@ -451,14 +455,14 @@ struct Controller::Impl } } - void ResetImfManager() + void ResetInputMethodContext() { if( mEventData ) { // Reset incase we are in a pre-edit state. - if( mEventData->mImfManager ) + if( mEventData->mInputMethodContext ) { - mEventData->mImfManager.Reset(); // Will trigger a message ( commit, get surrounding ) + mEventData->mInputMethodContext.Reset(); // Will trigger a message ( commit, get surrounding ) } ClearPreEditFlag(); @@ -466,14 +470,14 @@ struct Controller::Impl } /** - * @brief Helper to notify IMF manager with surrounding text & cursor changes. + * @brief Helper to notify InputMethodContext with surrounding text & cursor changes. */ - void NotifyImfManager(); + void NotifyInputMethodContext(); /** - * @brief Helper to notify IMF manager with multi line status. + * @brief Helper to notify InputMethodContext with multi line status. */ - void NotifyImfMultiLineStatus(); + void NotifyInputMethodContextMultiLineStatus(); /** * @brief Retrieve the current cursor position. @@ -708,6 +712,18 @@ struct Controller::Impl */ void ScrollTextToMatchCursor( const CursorInfo& cursorInfo ); +public: + + /** + * @brief Gets implementation from the controller handle. + * @param controller The text controller + * @return The implementation of the Controller + */ + static Impl& GetImplementation( Text::Controller& controller ) + { + return *controller.mImpl; + } + private: // Declared private and left undefined to avoid copies. Impl( const Impl& ); @@ -741,10 +757,12 @@ public: bool mMarkupProcessorEnabled:1; ///< Whether the mark-up procesor is enabled. bool mClipboardHideEnabled:1; ///< Whether the ClipboardHide function work or not bool mIsAutoScrollEnabled:1; ///< Whether auto text scrolling is enabled. - CharacterDirection mAutoScrollDirectionRTL:1; ///< Direction of auto scrolling, true if rtl + bool mUpdateTextDirection:1; ///< Whether the text direction needs to be updated. + CharacterDirection mIsTextDirectionRTL:1; ///< Whether the text direction is right to left or not 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 mOutlineSetByString:1; ///< Set when outline 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 };