self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
self.SetResizePolicy( ResizePolicy::DIMENSION_DEPENDENCY, Dimension::HEIGHT );
+ // Enable highlightability
+ self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
+
// Enable the text ellipsis.
mController->SetTextElideEnabled( true ); // If false then text larger than control will overflow
Layout::Engine& engine = mController->GetLayoutEngine();
engine.SetCursorWidth( 0u ); // Do not layout space for the cursor.
+
+ DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) {
+ return std::unique_ptr< Dali::Accessibility::Accessible >(
+ new AccessibleImpl( actor, Dali::Accessibility::Role::LABEL ) );
+ } );
}
void TextLabel::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change )
mRenderingBackend( DEFAULT_RENDERING_BACKEND ),
mTextUpdateNeeded( false )
{
- DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) {
- return std::unique_ptr< Dali::Accessibility::Accessible >(
- new AccessibleImpl( actor, Dali::Accessibility::Role::LABEL ) );
- } );
}
TextLabel::~TextLabel()
return slf.GetProperty( Toolkit::TextLabel::Property::TEXT ).Get< std::string >();
}
+Property::Index TextLabel::AccessibleImpl::GetNamePropertyIndex()
+{
+ return Toolkit::TextLabel::Property::TEXT;
+}
+
std::string TextLabel::AccessibleImpl::GetText( size_t startOffset,
size_t endOffset )
{
if (boundary == Dali::Accessibility::TextBoundary::LINE)
counter++;
}
- if ((counter - 1) == offset)
+ if ((counter > 0) && ((counter - 1) == offset))
{
range.content = txt.substr(start, index - start + 1);
range.startOffset = start;