// From EditableControlInterface
/**
- * @copydoc Text::ControlInterface::TextChanged()
+ * @copydoc Text::EditableControlInterface::TextChanged()
*/
- virtual void TextChanged();
+ void TextChanged() override;
/**
- * @copydoc Text::ControlInterface::MaxLengthReached()
+ * @copydoc Text::EditableControlInterface::MaxLengthReached()
*/
- virtual void MaxLengthReached();
+ void MaxLengthReached() override;
/**
- * @copydoc Text::ControlInterface::InputStyleChanged()
+ * @copydoc Text::EditableControlInterface::InputStyleChanged()
*/
- virtual void InputStyleChanged( Text::InputStyle::Mask inputStyleMask );
+ void InputStyleChanged( Text::InputStyle::Mask inputStyleMask ) override;
/**
- * @copydoc Text::ControlInterface::AddDecoration()
+ * @copydoc Text::EditableControlInterface::AddDecoration()
*/
- virtual void AddDecoration( Actor& actor, bool needsClipping );
+ void AddDecoration( Actor& actor, bool needsClipping ) override;
+
+// From SelectableControlInterface
+public:
+ /**
+ * @copydoc Text::SelectableControlInterface::SetTextSelectionRange()
+ */
+ void SetTextSelectionRange(const uint32_t *start, const uint32_t *end) override;
+
+ /**
+ * @copydoc Text::SelectableControlInterface::GetTextSelectionRange()
+ */
+ Uint32Pair GetTextSelectionRange() const override;
+
+ /**
+ * @copydoc Text::EditableControlInterface::IsEditable()
+ */
+ bool IsEditable() const override;
+
+ /**
+ * @copydoc Text::EditableControlInterface::SetEditable()
+ */
+ void SetEditable( bool editable ) override;
private: // Implementation
// From EditableControlInterface
/**
- * @copydoc Text::ControlInterface::TextChanged()
+ * @copydoc Text::EditableControlInterface::TextChanged()
*/
- virtual void TextChanged();
+ void TextChanged() override;
/**
- * @copydoc Text::ControlInterface::MaxLengthReached()
+ * @copydoc Text::EditableControlInterface::MaxLengthReached()
*/
- virtual void MaxLengthReached();
+ void MaxLengthReached() override;
/**
- * @copydoc Text::ControlInterface::InputStyleChanged()
+ * @copydoc Text::EditableControlInterface::InputStyleChanged()
*/
- virtual void InputStyleChanged( Text::InputStyle::Mask inputStyleMask );
+ void InputStyleChanged( Text::InputStyle::Mask inputStyleMask ) override;
/**
- * @copydoc Text::ControlInterface::AddDecoration()
+ * @copydoc Text::EditableControlInterface::AddDecoration()
*/
- virtual void AddDecoration( Actor& actor, bool needsClipping );
+ void AddDecoration( Actor& actor, bool needsClipping ) override;
+
+// From SelectableControlInterface
+public:
+ /**
+ * @copydoc Text::SelectableControlInterface::SetTextSelectionRange()
+ */
+ void SetTextSelectionRange(const uint32_t *start, const uint32_t *end) override;
+
+ /**
+ * @copydoc Text::SelectableControlInterface::GetTextSelectionRange()
+ */
+ Uint32Pair GetTextSelectionRange() const override;
+
+ /**
+ * @copydoc Text::EditableControlInterface::IsEditable()
+ */
+ bool IsEditable() const override;
+
+ /**
+ * @copydoc Text::EditableControlInterface::SetEditable()
+ */
+ void SetEditable( bool editable ) override;
private: // Implementation