X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-field-impl.cpp;h=1d79c5feb68b471cd231bb393feb54557d87ad7e;hb=2f8af1d1f6d89aa29928b29d9910974ab683fc8d;hp=4a9ccfbfbb1101bc30e366582b11a58c1b477f3e;hpb=8a647e87a01c5c78451653c1264a9eea81ac9b20;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 4a9ccfb..1d79c5f 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1235,12 +1235,20 @@ void TextField::OnInitialize() self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT ); self.OnSceneSignal().Connect( this, &TextField::OnSceneConnect ); + //Enable highightability + self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); + DevelControl::SetInputMethodContext( *this, mInputMethodContext ); if( Dali::Toolkit::TextField::EXCEED_POLICY_CLIP == mExceedPolicy ) { EnableClipping(); } + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::ENTRY ) ); + } ); } void TextField::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change ) @@ -1528,6 +1536,12 @@ void TextField::OnKeyInputFocusLost() EmitKeyInputFocusSignal( false ); // Calls back into the Control hence done last. } +bool TextField::OnAccessibilityActivated() +{ + SetKeyInputFocus(); + return true; +} + void TextField::OnTap( const TapGesture& gesture ) { DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextField::OnTap %p\n", mController.Get() ); @@ -1812,10 +1826,6 @@ TextField::TextField() mExceedPolicy( Dali::Toolkit::TextField::EXCEED_POLICY_CLIP ), mHasBeenStaged( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::ENTRY ) ); - } ); } TextField::~TextField() @@ -2026,9 +2036,19 @@ bool TextField::AccessibleImpl::CutText( size_t startPosition, Dali::Accessibility::States TextField::AccessibleImpl::CalculateStates() { - auto states = Control::Impl::AccessibleImpl::CalculateStates(); using namespace Dali::Accessibility; + + auto states = Control::Impl::AccessibleImpl::CalculateStates(); + states[State::EDITABLE] = true; + states[State::FOCUSABLE] = true; + + Toolkit::Control focusControl = Toolkit::KeyInputFocusManager::Get().GetCurrentFocusControl(); + if (self == focusControl) + { + states[State::FOCUSED] = true; + } + return states; }