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=9a06ea5f97bb75240dd20fa9460b4c4cfef278de;hp=866c444adec9c6e76727bfa5cf1a4898d85021e2;hb=ec503e92aa01bc67f8ea118cf14aa3b1ed9d390e;hpb=f1876c34a8f667f79182fa8a772ee889e27290c1 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 866c444..9a06ea5 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 @@ -362,7 +381,7 @@ private: // Implementation * @param[in] actor The actor to be resized. * @param[in] size Size to change. */ - void ResizeActor( Actor& actor, const Vector2& size ); + void ResizeActor(Actor& actor, const Vector2& size); /** * @brief Render view, create and attach actor(s) to this text editor. @@ -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,6 +423,7 @@ private: // Data bool mScrollAnimationEnabled : 1; bool mScrollBarEnabled : 1; bool mScrollStarted : 1; + bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). struct AccessibleImpl : public DevelControl::AccessibleImpl, public virtual Dali::Accessibility::Text, @@ -421,6 +443,9 @@ private: // Data bool CopyText(size_t startPosition, size_t endPosition) override; bool CutText(size_t startPosition, size_t endPosition) override; Accessibility::States CalculateStates() override; + bool InsertText(size_t startPosition, std::string text) override; + bool SetTextContents(std::string newContents) override; + bool DeleteText(size_t startPosition, size_t endPosition) override; }; };