From 5d151fd2815912ccd93f367794e62bfa0bbddde3 Mon Sep 17 00:00:00 2001 From: "joogab.yun" Date: Wed, 8 May 2024 18:27:22 +0900 Subject: [PATCH] [Tizen] Determines whether to propagate pan gestures in text fields and editors. Change-Id: I3cb8ae7710deca1bf9fbe886122a69a35c76df74 --- dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp | 8 ++++++-- dali-toolkit/internal/controls/text-controls/text-field-impl.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp index f6a2144..8bc8397 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -928,11 +928,15 @@ void TextEditor::OnTap(const TapGesture& gesture) void TextEditor::OnPan(const PanGesture& gesture) { - mController->PanEvent(gesture.GetState(), gesture.GetDisplacement()); - if(gesture.GetState() == GestureState::STARTED && !mController->IsScrollable(gesture.GetDisplacement())) + if(!mController->IsScrollable(gesture.GetDisplacement())) { Dali::DevelActor::SetNeedGesturePropagation(Self(), true); } + else + { + Dali::DevelActor::SetNeedGesturePropagation(Self(), false); + } + mController->PanEvent(gesture.GetState(), gesture.GetDisplacement()); } void TextEditor::OnLongPress(const LongPressGesture& gesture) diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index b6efa63..a2702de 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -835,11 +835,15 @@ void TextField::OnTap(const TapGesture& gesture) void TextField::OnPan(const PanGesture& gesture) { - mController->PanEvent(gesture.GetState(), gesture.GetDisplacement()); - if(gesture.GetState() == GestureState::STARTED && !mController->IsScrollable(gesture.GetDisplacement())) + if(!mController->IsScrollable(gesture.GetDisplacement())) { Dali::DevelActor::SetNeedGesturePropagation(Self(), true); } + else + { + Dali::DevelActor::SetNeedGesturePropagation(Self(), false); + } + mController->PanEvent(gesture.GetState(), gesture.GetDisplacement()); } void TextField::OnLongPress(const LongPressGesture& gesture) -- 2.7.4