X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=06a08b239c2cbabef35067934e08085e801c5a12;hb=2811d5d65564a988da2e4de22b66ec75b50ecbda;hp=2661270d4d2ac270334b024aaa785bdfb6cf9c30;hpb=74f25e93f1094929c90c1632b686e9bfa03bd017;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.h b/dali-toolkit/internal/text/text-controller.h old mode 100755 new mode 100644 index 2661270..06a08b2 --- a/dali-toolkit/internal/text/text-controller.h +++ b/dali-toolkit/internal/text/text-controller.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_TEXT_CONTROLLER_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -662,6 +662,38 @@ public: // Update. */ void UpdateAfterFontChange( const std::string& newDefaultFont ); + /** + * @brief The method acquires currently selected text + * @param selectedText variable to place selected text in + */ + void RetrieveSelection( std::string& selectedText ) const; + + /** + * @brief The method sets selection in given range + * @param start index of first character + * @param end index of first character after selection + */ + void SetSelection( int start, int end ); + + /** + * @brief This method retrieve indexes of current selection + * + * @return a pair, where first element is left index of selection and second is the right one + */ + std::pair< int, int > GetSelectionIndexes() const; + + /** + * Place string in system clipboard + * @param source std::string + */ + void CopyStringToClipboard( const std::string& source ); + + /** + * Place currently selected text in system clipboard + * @param deleteAfterSending flag pointing if text should be deleted after sending to clipboard + */ + void SendSelectionToClipboard( bool deleteAfterSending ); + public: // Default style & Input style /** @@ -828,6 +860,20 @@ public: // Default style & Input style float GetDefaultFontSize( FontSizeType type ) const; /** + * @brief Set the font size scale. + * + * @param[in] scale The font size scale + */ + void SetFontSizeScale( float scale ); + + /** + * @brief Get the font size scale. + * + * @return The font size scale. + */ + float GetFontSizeScale() const; + + /** * @brief Sets the Placeholder text font size. * @param[in] fontSize The placeholder text font size * @param[in] type The font size type is point size or pixel size @@ -1485,6 +1531,21 @@ public: // Text-input Event Queuing. void LongPressEvent( GestureState state, float x, float y ); /** + * @brief Used to get the Primary cursor position. + * + * @return Primary cursor position. + */ + CharacterIndex GetPrimaryCursorPosition() const; + + /** + * @brief Used to set the Primary cursor position. + * + * @param[in] index for the Primary cursor position. + * @return[in] true if cursor position changed, false otherwise. + */ + bool SetPrimaryCursorPosition( CharacterIndex index ); + + /** * @brief Creates a selection event. * * It could be called from the TapEvent (double tap) or when the text selection popup's sellect all button is pressed. @@ -1506,6 +1567,46 @@ public: // Text-input Event Queuing. Uint32Pair GetTextSelectionRange() const; /** + * @copydoc Text::SelectableControlInterface::SelectWholeText() + */ + void SelectWholeText(); + + /** + * @copydoc Text::SelectableControlInterface::SelectNone() + */ + void SelectNone(); + + /** + * @copydoc Text::SelectableControlInterface::GetSelectedText() + */ + string GetSelectedText() const; + + /** + * @copydoc Text::EditableControlInterface::IsEditable() + */ + virtual bool IsEditable() const; + + /** + * @copydoc Text::EditableControlInterface::SetEditable() + */ + virtual void SetEditable( bool editable ); + + /** + * @copydoc Dali::Toolkit::Internal::TextEditor::ScrollBy() + */ + virtual void ScrollBy( Vector2 scroll ); + + /** + * @copydoc Dali::Toolkit::Internal::TextEditor::GetHorizontalScrollPosition() + */ + float GetHorizontalScrollPosition(); + + /** + * @copydoc Dali::Toolkit::Internal::TextEditor::GetVerticalScrollPosition() + */ + float GetVerticalScrollPosition(); + + /** * @brief Event received from input method context * * @param[in] inputMethodContext The input method context. @@ -1534,11 +1635,17 @@ public: // Text-input Event Queuing. Actor CreateBackgroundActor(); /** - * @brief Retrive Selected text. + * @brief Used to reset the cursor position after setting a new text. * - * @return The seleced text. + * @param[in] cursorIndex Where to place the cursor. + */ + void ResetCursorPosition( CharacterIndex cursorIndex ); + + /** + * @brief The method acquires current position of cursor + * @return unsigned value with cursor position */ - std::string GetSelectedText(); + CharacterIndex GetCursorPosition(); protected: // Inherit from Text::Decorator::ControllerInterface. @@ -1684,13 +1791,6 @@ private: // Helpers. void ClearStyleData(); /** - * @brief Used to reset the cursor position after setting a new text. - * - * @param[in] cursorIndex Where to place the cursor. - */ - void ResetCursorPosition( CharacterIndex cursorIndex ); - - /** * @brief Used to reset the scroll position after setting a new text. */ void ResetScrollPosition(); @@ -1733,6 +1833,10 @@ public: private: + struct EventHandler; + struct InputFontHandler; + struct PlaceholderHandler; + Impl* mImpl; };