X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-editor-impl.h;h=2d30b33d0f8338df37d7b6ed9ca3dfb6b1f861b2;hp=4c408cad407a910215bd0cbac74fc0ca00c6405f;hb=f7e6a8dfa8b498ba261cb66b9842d50d9d2c0e2f;hpb=396e6317556d73a06f49b0e26aac8fd6c1866ec2 diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-impl.h b/dali-toolkit/internal/controls/text-controls/text-editor-impl.h index 4c408ca..2d30b33 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.h @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -48,7 +49,7 @@ namespace Internal /** * @brief A control which renders a long text string with styles. */ -class TextEditor : public Control, public Text::ControlInterface, public Text::EditableControlInterface, public Text::SelectableControlInterface +class TextEditor : public Control, public Text::ControlInterface, public Text::EditableControlInterface, public Text::SelectableControlInterface, public Text::AnchorControlInterface { public: /** @@ -87,6 +88,11 @@ public: DevelTextEditor::MaxLengthReachedSignalType& MaxLengthReachedSignal(); /** + * @copydoc Dali::Toollkit::TextEditor::AnchorClickedSignal() + */ + DevelTextEditor::AnchorClickedSignalType& AnchorClickedSignal(); + + /** * Connects a callback function with the object's signals. * @param[in] object The object providing the signal. * @param[in] tracker Used to disconnect the signal. @@ -205,7 +211,7 @@ private: // From Control /** * @copydoc Text::EditableControlInterface::TextChanged() */ - void TextChanged() override; + void TextChanged(bool immediate) override; /** * @copydoc Text::EditableControlInterface::MaxLengthReached() @@ -276,7 +282,15 @@ public: /** * @copydoc Text::EditableControlInterface::SetEditable() */ - void SetEditable(bool editable) override; + void SetEditable(bool editable) override; + + // From AnchorControlInterface + + /** + * @copydoc Text::AnchorControlInterface::AnchorClicked() + */ + void AnchorClicked(const std::string& href) override; + Text::ControllerPtr getController(); private: // Implementation @@ -329,6 +343,11 @@ private: // Implementation void OnIdleSignal(); /** + * @brief Emits TextChanged signal. + */ + void EmitTextChangedSignal(); + + /** * @brief set RenderActor's position with new scrollPosition * * Apply updated scroll position or start scroll animation if VerticalScrollAnimation is enabled @@ -378,6 +397,7 @@ private: // Data Toolkit::TextEditor::InputStyleChangedSignalType mInputStyleChangedSignal; Toolkit::TextEditor::ScrollStateChangedSignalType mScrollStateChangedSignal; Toolkit::DevelTextEditor::MaxLengthReachedSignalType mMaxLengthReachedSignal; + Toolkit::DevelTextEditor::AnchorClickedSignalType mAnchorClickedSignal; InputMethodContext mInputMethodContext; Text::ControllerPtr mController; @@ -389,6 +409,7 @@ private: // Data Dali::Animation mAnimation; ///< Scroll indicator Show/Hide Animation. Dali::TimePeriod mAnimationPeriod; std::vector mClippingDecorationActors; ///< Decoration actors which need clipping. + Dali::InputMethodOptions mInputMethodOptions; Actor mRenderableActor; Actor mActiveLayer; @@ -402,7 +423,7 @@ private: // Data bool mScrollAnimationEnabled : 1; bool mScrollBarEnabled : 1; bool mScrollStarted : 1; - bool mTextChanged : 1; + bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). struct AccessibleImpl : public DevelControl::AccessibleImpl, public virtual Dali::Accessibility::Text,