X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=9302cf50f5d32f7bf38239fa3b91d68549abf5d8;hb=f25afa77b0b54726b8e12d91e8fdb84f6172d666;hp=63a77a4459f540c42f5a898c921965ddff365c2f;hpb=19a2b7b2c24a6b90750973de0a184f42338194b6;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 index 63a77a4..9302cf5 100644 --- a/dali-toolkit/internal/text/text-controller.h +++ b/dali-toolkit/internal/text/text-controller.h @@ -52,9 +52,10 @@ class RenderingController; */ enum SelectionType { - INTERACTIVE = 0x0000, - ALL = 0x0001, - NONE = 0x0002 + INTERACTIVE = 0x0000, ///< Select the word where the cursor is located. + ALL = 0x0001, ///< Select the whole text. + NONE = 0x0002, ///< Unselect the whole text. + RANGE = 0x0003 ///< Select the range text. }; typedef IntrusivePtr ControllerPtr; @@ -1588,9 +1589,10 @@ public: // Text-input Event Queuing. * @brief Used to set the Primary cursor position. * * @param[in] index for the Primary cursor position. + * @param[in] focused true if UI control has gained focus to receive key event, false otherwise. * @return[in] true if cursor position changed, false otherwise. */ - bool SetPrimaryCursorPosition(CharacterIndex index); + bool SetPrimaryCursorPosition(CharacterIndex index, bool focused); /** * @brief Creates a selection event. @@ -1604,6 +1606,18 @@ public: // Text-input Event Queuing. void SelectEvent(float x, float y, SelectionType selection); /** + * @brief Creates a selection event with a selection index. + * + * It could be called from the SelectText(). + * The start and end parameters are passed through the event. + * + * @param[in] start The start selection position. + * @param[in] end The end selection position. + * @param[in] selection type like the range. + */ + void SelectEvent(const uint32_t start, const uint32_t end, SelectionType selection); + + /** * @copydoc Text::SelectableControlInterface::SetTextSelectionRange() */ void SetTextSelectionRange(const uint32_t* start, const uint32_t* end); @@ -1619,11 +1633,31 @@ public: // Text-input Event Queuing. void SelectWholeText(); /** + * @copydoc Text::EditableControlInterface::CopyText() + */ + string CopyText(); + + /** + * @copydoc Text::EditableControlInterface::CutText() + */ + string CutText(); + + /** + * @copydoc Text::EditableControlInterface::PasteText() + */ + void PasteText(); + + /** * @copydoc Text::SelectableControlInterface::SelectNone() */ void SelectNone(); /** + * @copydoc Text::SelectableControlInterface::SelectText() + */ + void SelectText(const uint32_t start, const uint32_t end); + + /** * @copydoc Text::SelectableControlInterface::GetSelectedText() */ string GetSelectedText() const; @@ -1732,8 +1766,7 @@ private: // Update. void InsertText(const std::string& text, InsertType type); /** - * @brief Paste given string into Text model - * @param[in] stringToPaste this string will be inserted into the text model + * @copydoc Text::EditableControlInterface::PasteText() */ void PasteText(const std::string& stringToPaste); @@ -1855,6 +1888,11 @@ private: // Helpers. */ void ResetScrollPosition(); + /** + * @brief fill needed relayout parameters when line size is changed & request relayout. + */ + void RelayoutForNewLineSize(); + private: // Private contructors & copy operator. /** * @brief Private constructor.