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-field-impl.h;h=c76f05ad9f8b7984174994d14dc6756d9ebfd4b3;hp=07a7a374511c3519f0127def51b00bf6c19bcd7c;hb=ec503e92aa01bc67f8ea118cf14aa3b1ed9d390e;hpb=e75380e149afca3f36217c727b9d5eb52a6d49ff diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.h b/dali-toolkit/internal/controls/text-controls/text-field-impl.h index 07a7a37..c76f05a 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.h @@ -24,9 +24,11 @@ // INTERNAL INCLUDES #include +#include #include #include #include +#include #include #include #include @@ -43,7 +45,7 @@ namespace Internal /** * @brief A control which renders a short text string. */ -class TextField : public Control, public Text::ControlInterface, public Text::EditableControlInterface, public Text::SelectableControlInterface +class TextField : public Control, public Text::ControlInterface, public Text::EditableControlInterface, public Text::SelectableControlInterface, public Text::AnchorControlInterface { public: /** @@ -102,6 +104,11 @@ public: */ Toolkit::TextField::InputStyleChangedSignalType& InputStyleChangedSignal(); + /** + * @copydoc TextField::AnchorClickedSignal() + */ + DevelTextField::AnchorClickedSignalType& AnchorClickedSignal(); + Text::ControllerPtr getController(); private: // From Control @@ -197,7 +204,7 @@ private: // From Control /** * @copydoc Text::EditableControlInterface::TextChanged() */ - void TextChanged() override; + void TextChanged(bool immediate) override; /** * @copydoc Text::EditableControlInterface::MaxLengthReached() @@ -251,6 +258,13 @@ public: */ void SetEditable(bool editable) override; + // From AnchorControlInterface + + /** + * @copydoc Text::AnchorControlInterface::AnchorClicked() + */ + void AnchorClicked(const std::string& href) override; + private: // Implementation /** * @copydoc Dali::Toolkit::Text::Controller::(InputMethodContext& inputMethodContext, const InputMethodContext::EventData& inputMethodContextEvent) @@ -299,6 +313,11 @@ private: // Implementation void OnIdleSignal(); /** + * @brief Emits TextChanged signal. + */ + void EmitTextChangedSignal(); + + /** * Construct a new TextField. */ TextField(); @@ -336,9 +355,10 @@ public: // For UTC only private: // Data // Signals - Toolkit::TextField::TextChangedSignalType mTextChangedSignal; - Toolkit::TextField::MaxLengthReachedSignalType mMaxLengthReachedSignal; - Toolkit::TextField::InputStyleChangedSignalType mInputStyleChangedSignal; + Toolkit::TextField::TextChangedSignalType mTextChangedSignal; + Toolkit::TextField::MaxLengthReachedSignalType mMaxLengthReachedSignal; + Toolkit::TextField::InputStyleChangedSignalType mInputStyleChangedSignal; + Toolkit::DevelTextField::AnchorClickedSignalType mAnchorClickedSignal; InputMethodContext mInputMethodContext; Text::ControllerPtr mController; @@ -357,7 +377,7 @@ private: // Data int mRenderingBackend; int mExceedPolicy; bool mHasBeenStaged : 1; - bool mTextChanged : 1; + bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). protected: struct AccessibleImpl : public DevelControl::AccessibleImpl, @@ -378,6 +398,9 @@ protected: 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; }; };