X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-field-impl.h;h=ae73c308fd3c48b313ddbd542287d498a2dddab9;hb=6217e54055ab9eb0bd2863cc4eb1e51621045792;hp=2fae0bbe7543dd35e4b0d741adf2d4c080e57919;hpb=b0115c8f21708cab60e853767d353e35c8b59ebd;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 2fae0bb..ae73c30 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,16 @@ public: */ Toolkit::TextField::InputStyleChangedSignalType& InputStyleChangedSignal(); + /** + * @copydoc TextField::AnchorClickedSignal() + */ + DevelTextField::AnchorClickedSignalType& AnchorClickedSignal(); + + /** + * @copydoc TextField::InputFilteredSignal() + */ + DevelTextField::InputFilteredSignalType& InputFilteredSignal(); + Text::ControllerPtr getController(); private: // From Control @@ -197,7 +209,7 @@ private: // From Control /** * @copydoc Text::EditableControlInterface::TextChanged() */ - void TextChanged() override; + void TextChanged(bool immediate) override; /** * @copydoc Text::EditableControlInterface::MaxLengthReached() @@ -214,6 +226,16 @@ private: // From Control */ void AddDecoration(Actor& actor, bool needsClipping) override; + /** + * @copydoc Text::EditableControlInterface::InputFiltered() + */ + void InputFiltered(Toolkit::InputFilter::Property::Type type) override; + + /** + * @copydoc Text::EditableControlInterface::GetControlBackgroundColor() + */ + void GetControlBackgroundColor(Vector4& color) const override; + // From SelectableControlInterface public: /** @@ -251,6 +273,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 +328,11 @@ private: // Implementation void OnIdleSignal(); /** + * @brief Emits TextChanged signal. + */ + void EmitTextChangedSignal(); + + /** * Construct a new TextField. */ TextField(); @@ -318,7 +352,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 Field. @@ -336,9 +370,11 @@ 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; + Toolkit::DevelTextField::InputFilteredSignalType mInputFilteredSignal; InputMethodContext mInputMethodContext; Text::ControllerPtr mController; @@ -357,6 +393,7 @@ private: // Data int mRenderingBackend; int mExceedPolicy; bool mHasBeenStaged : 1; + bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). protected: struct AccessibleImpl : public DevelControl::AccessibleImpl, @@ -377,6 +414,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; }; };