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=b65e953021b36d519f4dbac7418a99aca448e281;hp=b1f59915c930aff40967e5597dd74108386a7156;hb=760285a850a7bf256a799cfb23ff2283520dc02a;hpb=699c8c5f00b8ea4bba12b4e6e6f91b022cb261b4 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 b1f5991..b65e953 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.h @@ -117,10 +117,25 @@ public: DevelTextField::AnchorClickedSignalType& AnchorClickedSignal(); /** + * @copydoc TextField::CursorPositionChangedSignal() + */ + DevelTextField::CursorPositionChangedSignalType& CursorPositionChangedSignal(); + + /** * @copydoc TextField::InputFilteredSignal() */ DevelTextField::InputFilteredSignalType& InputFilteredSignal(); + /** + * @copydoc TextField::SelectionChangedSignal() + */ + DevelTextField::SelectionChangedSignalType& SelectionChangedSignal(); + + /** + * @copydoc TextField::SelectionClearedSignal() + */ + DevelTextField::SelectionClearedSignalType& SelectionClearedSignal(); + private: // From Control /** * @copydoc Control::OnInitialize() @@ -207,9 +222,9 @@ private: // From Control void TextDeleted(unsigned int position, unsigned int length, const std::string& content) override; /** - * @copydoc Text::EditableControlInterface::CursorMoved() + * @copydoc Text::EditableControlInterface::CursorPositionChanged() */ - void CursorMoved(unsigned int position) override; + void CursorPositionChanged(unsigned int oldPosition, unsigned int newPosition) override; /** * @copydoc Text::EditableControlInterface::TextChanged() @@ -227,6 +242,11 @@ private: // From Control void InputStyleChanged(Text::InputStyle::Mask inputStyleMask) override; /** + * @copydoc Text::SelectableControlInterface::SelectionChanged() + */ + void SelectionChanged(uint32_t oldStart, uint32_t oldEnd, uint32_t newStart, uint32_t newEnd) override; + + /** * @copydoc Text::EditableControlInterface::AddDecoration() */ void AddDecoration(Actor& actor, bool needsClipping) override; @@ -283,6 +303,21 @@ public: */ void SetEditable(bool editable) override; + /** + * @copydoc Dali::EditableControlInterface::CopyText() + */ + string CopyText() override; + + /** + * @copydoc Dali::EditableControlInterface::CutText() + */ + string CutText() override; + + /** + * @copydoc Text::EditableControlInterface::PasteText() + */ + void PasteText() override; + // From AnchorControlInterface /** @@ -343,6 +378,21 @@ private: // Implementation void EmitTextChangedSignal(); /** + * @brief Emits CursorPositionChanged signal. + */ + void EmitCursorPositionChangedSignal(); + + /** + * @brief Emits SelectionChanged signal. + */ + void EmitSelectionChangedSignal(); + + /** + * @brief Emits SelectionCleared signal. + */ + void EmitSelectionClearedSignal(); + + /** * @brief Callback function for when the layout is changed. * @param[in] actor The actor whose layoutDirection is changed. * @param[in] type The layoutDirection. @@ -381,11 +431,14 @@ private: // Implementation private: // Data // Signals - Toolkit::TextField::TextChangedSignalType mTextChangedSignal; - Toolkit::TextField::MaxLengthReachedSignalType mMaxLengthReachedSignal; - Toolkit::TextField::InputStyleChangedSignalType mInputStyleChangedSignal; - Toolkit::DevelTextField::AnchorClickedSignalType mAnchorClickedSignal; - Toolkit::DevelTextField::InputFilteredSignalType mInputFilteredSignal; + Toolkit::TextField::TextChangedSignalType mTextChangedSignal; + Toolkit::TextField::MaxLengthReachedSignalType mMaxLengthReachedSignal; + Toolkit::TextField::InputStyleChangedSignalType mInputStyleChangedSignal; + Toolkit::DevelTextField::AnchorClickedSignalType mAnchorClickedSignal; + Toolkit::DevelTextField::InputFilteredSignalType mInputFilteredSignal; + Toolkit::DevelTextField::CursorPositionChangedSignalType mCursorPositionChangedSignal; + Toolkit::DevelTextField::SelectionChangedSignalType mSelectionChangedSignal; + Toolkit::DevelTextField::SelectionClearedSignalType mSelectionClearedSignal; InputMethodContext mInputMethodContext; Text::ControllerPtr mController; @@ -404,9 +457,21 @@ private: // Data int mRenderingBackend; int mExceedPolicy; bool mHasBeenStaged : 1; - bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). + bool mTextChanged : 1; ///< If true, emits TextChangedSignal in next OnRelayout(). + bool mCursorPositionChanged : 1; ///< If true, emits CursorPositionChangedSignal at the end of OnRelayout(). + bool mSelectionChanged : 1; ///< If true, emits SelectionChangedSignal at the end of OnRelayout(). + bool mSelectionCleared : 1; ///< If true, emits SelectionClearedSignal at the end of OnRelayout(). + + //args for cursor position changed event + unsigned int mOldPosition; + + //args for selection changed event + uint32_t mOldSelectionStart; + uint32_t mOldSelectionEnd; protected: + struct PropertyHandler; + /** * @brief This structure is to connect TextField with Accessible functions. */