X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-impl.h;h=880004ae7c20f09fa5334328e66fafaf716af9d7;hb=a3353d4f3763da656966e8e9a1c223c7e9585a13;hp=326770d7ddf596c638d0ee789b21d9615fd7b7d9;hpb=ccb1140dd671a9ed76a62177285c4119182478d2;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index 326770d..880004a 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -19,8 +19,9 @@ */ // EXTERNAL INCLUDES -#include +#include #include +#include // INTERNAL INCLUDES #include @@ -47,7 +48,9 @@ struct Event PAN_EVENT, GRAB_HANDLE_EVENT, LEFT_SELECTION_HANDLE_EVENT, - RIGHT_SELECTION_HANDLE_EVENT + RIGHT_SELECTION_HANDLE_EVENT, + SELECT, + SELECT_ALL }; union Param @@ -198,6 +201,7 @@ struct Controller::Impl mFontDefaults( NULL ), mEventData( NULL ), mFontClient(), + mClipboard(), mView(), mLayoutEngine(), mModifyEvents(), @@ -212,6 +216,7 @@ struct Controller::Impl mVisualModel = VisualModel::New(); mFontClient = TextAbstraction::FontClient::Get(); + mClipboard = Clipboard::Get(); mView.SetVisualModel( mVisualModel ); @@ -306,6 +311,12 @@ struct Controller::Impl ClearPreEditFlag(); } + bool IsClipboardEmpty() + { + bool result( mClipboard && mClipboard.NumberOfItems() ); + return !result; // // If NumberOfItems greater than 0, return false + } + void UpdateModel( OperationsMask operationsRequired ); /** @@ -324,6 +335,18 @@ struct Controller::Impl void OnHandleEvent( const Event& event ); + void OnSelectEvent( const Event& event ); + + void OnSelectAllEvent(); + + void RetrieveSelection( std::string& selectedText, bool deleteAfterRetreival ); + + bool CopyStringToClipboard( std::string& source ); + + void SendSelectionToClipboard( bool deleteAfterSending ); + + void GetTextFromClipboard( unsigned int itemIndex, std::string& retreivedString ); + void RepositionSelectionHandles( CharacterIndex selectionStart, CharacterIndex selectionEnd ); void RepositionSelectionHandles( float visualX, float visualY ); @@ -423,6 +446,7 @@ struct Controller::Impl FontDefaults* mFontDefaults; ///< Avoid allocating this when the user does not specify a font. EventData* mEventData; ///< Avoid allocating everything for text input until EnableTextInput(). TextAbstraction::FontClient mFontClient; ///< Handle to the font client. + Clipboard mClipboard; ///< Handle to the system clipboard View mView; ///< The view interface to the rendering back-end. LayoutEngine mLayoutEngine; ///< The layout engine. std::vector mModifyEvents; ///< Temporary stores the text set until the next relayout.