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-editor-impl.cpp;h=7b4e8a2f5d21321fa110289c0630cd53487869e6;hp=74f37323a3d707a03b772521b90eb41c516c6ef7;hb=f7e4491acb379b6bde128d21ef0d9fefe77c3380;hpb=8a647e87a01c5c78451653c1264a9eea81ac9b20 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 74f3732..7b4e8a2 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -1215,6 +1216,9 @@ void TextEditor::OnInitialize() self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT ); self.OnSceneSignal().Connect( this, &TextEditor::OnSceneConnect ); + //Enable highightability + self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); + DevelControl::SetInputMethodContext( *this, mInputMethodContext ); // Creates an extra control to be used as stencil buffer. @@ -1232,6 +1236,11 @@ void TextEditor::OnInitialize() mStencil.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); self.Add( mStencil ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::ENTRY ) ); + } ); } void TextEditor::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change ) @@ -1463,6 +1472,12 @@ void TextEditor::OnKeyInputFocusLost() EmitKeyInputFocusSignal( false ); // Calls back into the Control hence done last. } +bool TextEditor::OnAccessibilityActivated() +{ + SetKeyInputFocus(); + return true; +} + void TextEditor::OnTap( const TapGesture& gesture ) { DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextEditor::OnTap %p\n", mController.Get() ); @@ -1872,10 +1887,6 @@ TextEditor::TextEditor() mScrollBarEnabled( false ), mScrollStarted( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::ENTRY ) ); - } ); } TextEditor::~TextEditor() @@ -2088,9 +2099,17 @@ bool TextEditor::AccessibleImpl::CutText( size_t startPosition, Dali::Accessibility::States TextEditor::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; }