#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
#include <dali-toolkit/internal/text/decorator/text-decorator.h>
#include <dali-toolkit/internal/text/hidden-text.h>
+#include <dali-toolkit/internal/text/input-filter.h>
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/text-anchor-control-interface.h>
#include <dali-toolkit/internal/text/text-model-interface.h>
*/
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<Controller> ControllerPtr;
bool IsMarkupProcessorEnabled() const;
/**
+ * @brief Retrieves whether the current text contains anchors.
+ *
+ * @return @e true if the current text contains anchors. @e false.
+ */
+ bool HasAnchors() const;
+
+ /**
* @brief Enables/disables the auto text scrolling
*
* By default is disabled.
void GetHiddenInputOption(Property::Map& options);
/**
+ * @brief Used to set the input filter option
+ */
+ void SetInputFilterOption(const Property::Map& options);
+
+ /**
+ * @brief Used to get the input filter option
+ */
+ void GetInputFilterOption(Property::Map& options);
+
+ /**
* @brief Sets the Placeholder Properties.
*
* @param[in] map The placeholder property map
void SetVerticalLineAlignment(Toolkit::DevelText::VerticalLineAlignment::Type alignment);
/**
+ * @brief Retrieves ellipsis position
+ * @return The ellipsis position
+ */
+ Toolkit::DevelText::EllipsisPosition::Type GetEllipsisPosition() const;
+
+ /**
+ * @brief Sets ellipsis position
+ * @param[in] ellipsisPosition The ellipsis position for the text
+ */
+ void SetEllipsisPosition(Toolkit::DevelText::EllipsisPosition::Type ellipsisPosition);
+
+ /**
* @brief Retrieves ignoreSpaceAfterText value from model
* @return The value of ignoreSpaceAfterText
*/
void SetIgnoreSpacesAfterText(bool ignore);
/**
- * @brief Retrieves matchSystemLanguageDirection value from model
- * @return The value of matchSystemLanguageDirection
+ * @brief Sets SetMatchLayoutDirection value to model
+ * @param[in] match The value of matchLayoutDirection for the text
*/
- bool IsMatchSystemLanguageDirection() const;
+ void SetMatchLayoutDirection(DevelText::MatchLayoutDirection type);
/**
- * @brief Sets matchSystemLanguageDirection value to model
- * @param[in] match The value of matchSystemLanguageDirection for the text
+ * @brief Retrieves matchLayoutDirection value from model
+ * @return The value of matchLayoutDirection
*/
- void SetMatchSystemLanguageDirection(bool match);
+ DevelText::MatchLayoutDirection GetMatchLayoutDirection() const;
/**
- * @brief Sets layoutDirection value
- * @param[in] layoutDirection The value of system language direction
+ * @brief Sets layoutDirection type value.
+ * @param[in] layoutDirection The value of the layout direction type.
*/
void SetLayoutDirection(Dali::LayoutDirection::Type layoutDirection);
/**
+ * @brief Gets layoutDirection type value.
+ * @param[in] actor The actor which will get the layout direction type.
+ * @return The value of the layout direction type.
+ */
+ Dali::LayoutDirection::Type GetLayoutDirection(Dali::Actor& actor) const;
+
+ /**
+ * @brief Sets the layout direction changed.
+ */
+ void ChangedLayoutDirection();
+
+ /**
* @brief Retrieves if showing real text or not.
* @return The value of showing real text.
*/
* @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.
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);
void SelectNone();
/**
+ * @copydoc Text::SelectableControlInterface::SelectText()
+ */
+ void SelectText(const uint32_t start, const uint32_t end);
+
+ /**
* @copydoc Text::SelectableControlInterface::GetSelectedText()
*/
string GetSelectedText() const;
*/
void ResetScrollPosition();
+ /**
+ * @brief fill needed relayout parameters when line size is changed & request relayout.
+ */
+ void RelayoutForNewLineSize();
+
private: // Private contructors & copy operator.
/**
* @brief Private constructor.