X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-label-impl.h;h=49f9197ea94272affbf34fb433ac27ee44d2f3a4;hb=ff6ce970724ccc8bee65f7c93411b274907c09d7;hp=d776c3205a7e50427bb70d08c49b88f172ba5bac;hpb=478e477e07fde916953748d2cd4befc0326bfc34;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.h b/dali-toolkit/internal/controls/text-controls/text-label-impl.h index d776c32..49f9197 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_TEXT_LABEL_H /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -19,10 +19,13 @@ */ // EXTERNAL INCLUDES +#include +#include #include // INTERNAL INCLUDES #include +#include #include #include #include @@ -47,8 +50,9 @@ class TextLabel : public Control, public Text::ControlInterface, public Text::Sc public: /** * @copydoc Dali::Toollkit::TextLabel::New() + * @param[in] additionalBehaviour custom behavior flags for this TextLabel. Default is CONTROL_BEHAVIOUR_DEFAULT */ - static Toolkit::TextLabel New(); + static Toolkit::TextLabel New(ControlBehaviour additionalBehaviour = ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT); // Properties @@ -127,6 +131,11 @@ private: // From Control void OnInitialize() override; /** + * @copydoc Toolkit::Internal::Control::CreateAccessibleObject() + */ + DevelControl::ControlAccessible* CreateAccessibleObject() override; + + /** * @copydoc Control::OnStyleChange() */ void OnStyleChange(Toolkit::StyleManager styleManager, StyleChange::Type change) override; @@ -178,8 +187,10 @@ public: // From AnchorControlInterface private: // Implementation /** * Construct a new TextLabel. + * + * @param[in] additionalBehaviour additional behaviour flags for this TextLabel */ - TextLabel(); + TextLabel(ControlBehaviour additionalBehaviour); /** * A reference counted object may only be deleted by calling Unreference() @@ -241,76 +252,31 @@ protected: /** * @brief This structure is to connect TextLabel with Accessible functions. */ - struct AccessibleImpl : public DevelControl::AccessibleImpl, - public virtual Dali::Accessibility::Text, - public virtual Dali::Accessibility::Hypertext + class TextLabelAccessible : public TextControlAccessible { - using DevelControl::AccessibleImpl::AccessibleImpl; - - /** - * @copydoc Dali::Accessibility::Text::GetText() - */ - std::string GetText(size_t startOffset, size_t endOffset) override; - - /** - * @copydoc Dali::Accessibility::Text::GetCharacterCount() - */ - size_t GetCharacterCount() override; - - /** - * @copydoc Dali::Accessibility::Text::GetCursorOffset() - */ - size_t GetCursorOffset() override; - - /** - * @copydoc Dali::Accessibility::Text::SetCursorOffset() - */ - bool SetCursorOffset(size_t offset) override; - - /** - * @copydoc Dali::Accessibility::Text::GetTextAtOffset() - */ - Accessibility::Range GetTextAtOffset(size_t offset, Accessibility::TextBoundary boundary) override; - - /** - * @copydoc Dali::Accessibility::Text::GetRangeOfSelection() - */ - Accessibility::Range GetRangeOfSelection(size_t selectionIndex) override; - - /** - * @copydoc Dali::Accessibility::Text::RemoveSelection() - */ - bool RemoveSelection(size_t selectionIndex) override; - - /** - * @copydoc Dali::Accessibility::Text::SetRangeOfSelection() - */ - bool SetRangeOfSelection(size_t selectionIndex, size_t startOffset, size_t endOffset) override; + public: + using TextControlAccessible::TextControlAccessible; /** * @copydoc Dali::Accessibility::Text::GetNameRaw() */ - std::string GetNameRaw() override; + std::string GetNameRaw() const override; /** * @copydoc Dali::Accessibility::Text::GetNamePropertyIndex() */ Property::Index GetNamePropertyIndex() override; + protected: /** - * @copydoc Dali::Accessibility::Hypertext::GetLink() - */ - Accessibility::Hyperlink* GetLink(int32_t linkIndex) const override; - - /** - * @copydoc Dali::Accessibility::Hypertext::GetLinkIndex() + * @copydoc Dali::Toolkit::Internal::TextControlAccessible::GetTextAnchors() */ - int32_t GetLinkIndex(int32_t characterOffset) const override; + const std::vector& GetTextAnchors() const override; /** - * @copydoc Dali::Accessibility::Hypertext::GetLinkCount() + * @copydoc Dali::Toolkit::Internal::TextControlAccessible::GetTextController() */ - int32_t GetLinkCount() const override; + Toolkit::Text::ControllerPtr GetTextController() const override; }; };