From: Maria Bialota Date: Fri, 24 Jul 2020 18:26:42 +0000 (+0200) Subject: [AT-SPI] Move setting highlightability property for controls to inheriting classes X-Git-Tag: dali_2.0.0~6^2~34 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=f0c5fe204c0fec9b0236c89ca6b996eb07b976be [AT-SPI] Move setting highlightability property for controls to inheriting classes * Giving highlightable state explicitly for particular control by its developer is more reasonable than giving this state for all controls by default. * Such approach allows for better control over UI elements highlightability. We avoid highlighting containers like layouts, etc. Change-Id: Ifc1b5e268c2bd02c17498d0dba619771c5d5b00d --- diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index 6c6ab02..c2d21ba 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -619,6 +619,7 @@ void Button::OnInitialize() mTapDetector.DetectedSignal().Connect(this, &Button::OnTap); self.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE, true ); + self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); self.TouchedSignal().Connect( this, &Button::OnTouch ); } diff --git a/dali-toolkit/internal/controls/control/control-data-impl.cpp b/dali-toolkit/internal/controls/control/control-data-impl.cpp index 4d7c6e4..b498259 100755 --- a/dali-toolkit/internal/controls/control/control-data-impl.cpp +++ b/dali-toolkit/internal/controls/control/control-data-impl.cpp @@ -1984,7 +1984,7 @@ Dali::Accessibility::States Control::Impl::AccessibleImpl::CalculateStates() s[Dali::Accessibility::State::FOCUSABLE] = self.GetProperty< bool >( Actor::Property::KEYBOARD_FOCUSABLE ); s[Dali::Accessibility::State::FOCUSED] = Toolkit::KeyboardFocusManager::Get().GetCurrentFocusActor() == self; if(self.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType() == Property::NONE ) - s[Dali::Accessibility::State::HIGHLIGHTABLE] = true; + s[Dali::Accessibility::State::HIGHLIGHTABLE] = false; else s[Dali::Accessibility::State::HIGHLIGHTABLE] = self.GetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).Get< bool >(); s[Dali::Accessibility::State::HIGHLIGHTED] = GetCurrentlyHighlightedActor() == self; diff --git a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp index 0f893a3..cb2dc99 100644 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp @@ -101,6 +101,10 @@ void ImageView::OnInitialize() return std::unique_ptr< Dali::Accessibility::Accessible >( new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) ); } ); + + //Enable highightability + Self().SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); + } void ImageView::SetImage( const Property::Map& map ) diff --git a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp index a24de27..bdf7b0a 100644 --- a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp +++ b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp @@ -170,6 +170,8 @@ void ProgressBar::OnInitialize() return std::unique_ptr< Dali::Accessibility::Accessible >( new AccessibleImpl( actor, Dali::Accessibility::Role::PROGRESS_BAR ) ); } ); + //Enable highightability + Self().SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); } void ProgressBar::OnRelayout( const Vector2& size, RelayoutContainer& container ) diff --git a/dali-toolkit/internal/controls/slider/slider-impl.cpp b/dali-toolkit/internal/controls/slider/slider-impl.cpp index c347676..a010d05 100644 --- a/dali-toolkit/internal/controls/slider/slider-impl.cpp +++ b/dali-toolkit/internal/controls/slider/slider-impl.cpp @@ -203,6 +203,9 @@ void Slider::OnInitialize() // Size the Slider actor to a default self.SetProperty( Actor::Property::SIZE, Vector2( DEFAULT_HIT_REGION.x, DEFAULT_HIT_REGION.y ) ); + // Set the Slider to be highlightable in Screen Reader mode + self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); + // Connect to the touch signal self.TouchedSignal().Connect( this, &Slider::OnTouch ); 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 9ce26d6..c28f3d5 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -1215,6 +1215,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. 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 068e55f..b452c14 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1235,6 +1235,9 @@ 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 ) diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp index d5da6eb..2b61ddb 100755 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -721,6 +721,9 @@ void TextLabel::OnInitialize() 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 diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp index f912be2..bf7b618 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp @@ -392,6 +392,9 @@ void TextSelectionPopup::OnInitialize() return std::unique_ptr< Dali::Accessibility::Accessible >( new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); } ); + + //Enable highightability + self.SetProperty( Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true ); } void TextSelectionPopup::HideAnimationFinished( Animation& animation )