From: Artur Świgoń Date: Tue, 18 Aug 2020 07:48:59 +0000 (+0200) Subject: [AT-SPI] Fix role setting X-Git-Tag: dali_2.0.0~6^2~36 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=f546dd5d83a968e573f8f053a01ce43df32c71a0;ds=sidebyside [AT-SPI] Fix role setting Change-Id: I8a697c6875a8c5317585a4b7fcf782facb1224e3 --- diff --git a/dali-toolkit/devel-api/controls/control-devel.h b/dali-toolkit/devel-api/controls/control-devel.h index a12b52d..b5f40a0 100644 --- a/dali-toolkit/devel-api/controls/control-devel.h +++ b/dali-toolkit/devel-api/controls/control-devel.h @@ -524,7 +524,7 @@ DALI_TOOLKIT_API void NotifyAccessibilityStateChange( Dali::Actor control, Dali: * * Thank to this method hierarchy of accessibility objects can be based on internal hierarchy of Actors. * It prevents from necessity of keeping two trees synchronized. - * The method should be called inside constructors of all classes inheriting from Control. + * The method should be called inside OnInitialize method of all classes inheriting from Control. * * Possible usage can be as follows: * @code diff --git a/dali-toolkit/internal/controls/alignment/alignment-impl.cpp b/dali-toolkit/internal/controls/alignment/alignment-impl.cpp index a58f78f..407eb42 100644 --- a/dali-toolkit/internal/controls/alignment/alignment-impl.cpp +++ b/dali-toolkit/internal/controls/alignment/alignment-impl.cpp @@ -190,6 +190,14 @@ const Toolkit::Alignment::Padding& Alignment::GetPadding() const return mPadding; } +void Alignment::OnInitialize() +{ + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); +} + void Alignment::OnRelayout( const Vector2& size, RelayoutContainer& container ) { // lay out the actors @@ -299,10 +307,6 @@ Alignment::Alignment( Toolkit::Alignment::Type horizontal, Toolkit::Alignment::T mScaling( Toolkit::Alignment::SCALE_NONE ), mPadding( 0.f, 0.f, 0.f, 0.f ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } Alignment::~Alignment() diff --git a/dali-toolkit/internal/controls/alignment/alignment-impl.h b/dali-toolkit/internal/controls/alignment/alignment-impl.h index 4eb8634..64d352a 100644 --- a/dali-toolkit/internal/controls/alignment/alignment-impl.h +++ b/dali-toolkit/internal/controls/alignment/alignment-impl.h @@ -83,6 +83,11 @@ public: private: // From Control /** + * @copydoc Control::OnInitialize() + */ + virtual void OnInitialize() override; + + /** * @copydoc Control::OnRelayout() */ void OnRelayout( const Vector2& size, RelayoutContainer& container ) override; diff --git a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp index 7ae0880..ed35267 100644 --- a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp +++ b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp @@ -158,10 +158,6 @@ BloomView::BloomView() mImageSaturationPropertyIndex(Property::INVALID_INDEX), mActivated( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::ANIMATION ) ); - } ); } BloomView::BloomView( const unsigned int blurNumSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, @@ -277,6 +273,11 @@ void BloomView::OnInitialize() // bind properties for / set shader constants to defaults SetupProperties(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::ANIMATION ) ); + } ); } void BloomView::OnSizeSet(const Vector3& targetSize) diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp index 45c5057..103992f 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp @@ -74,10 +74,6 @@ CheckBoxButton::CheckBoxButton() : Button() { SetTogglableButton( true ); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::CHECK_BOX ) ); - } ); } CheckBoxButton::~CheckBoxButton() @@ -87,6 +83,11 @@ CheckBoxButton::~CheckBoxButton() void CheckBoxButton::OnInitialize() { Button::OnInitialize(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::CHECK_BOX ) ); + } ); } Dali::Accessibility::States CheckBoxButton::AccessibleImpl::CalculateStates() diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp index 345ce06..e77bd30 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp @@ -86,10 +86,6 @@ PushButton::PushButton() : Button(), mIconAlignment( RIGHT ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::PUSH_BUTTON ) ); - } ); } PushButton::~PushButton() @@ -103,6 +99,11 @@ void PushButton::OnInitialize() // Push button requires the Leave event. Actor self = Self(); self.SetProperty( Actor::Property::LEAVE_REQUIRED, true ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::PUSH_BUTTON ) ); + } ); } void PushButton::SetIconAlignment( const PushButton::IconAlignment iconAlignment ) diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp index 9df5207..3276076 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp @@ -66,10 +66,6 @@ Dali::Toolkit::RadioButton RadioButton::New() RadioButton::RadioButton() { SetTogglableButton(true); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::RADIO_BUTTON ) ); - } ); } RadioButton::~RadioButton() @@ -79,6 +75,11 @@ RadioButton::~RadioButton() void RadioButton::OnInitialize() { Button::OnInitialize(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::RADIO_BUTTON ) ); + } ); } bool RadioButton::OnToggleReleased() diff --git a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp index a3c4464..9921663 100644 --- a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp @@ -96,10 +96,6 @@ ToggleButton::ToggleButton() { DALI_LOG_INFO( gLogButtonFilter, Debug::General, "ToggleButton::Constructor\n" ); SetTogglableButton( false ); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::TOGGLE_BUTTON ) ); - } ); } ToggleButton::~ToggleButton() @@ -114,6 +110,11 @@ void ToggleButton::OnInitialize() // Toggle button requires the Leave event. Actor self = Self(); self.SetProperty( Actor::Property::LEAVE_REQUIRED, true ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::TOGGLE_BUTTON ) ); + } ); } void ToggleButton::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value ) diff --git a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp index dee09e9..f23d985 100644 --- a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp +++ b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp @@ -148,10 +148,6 @@ EffectsView::EffectsView() mEnabled( false ), mRefreshOnDemand( EFFECTS_VIEW_REFRESH_ON_DEMAND ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } EffectsView::~EffectsView() @@ -272,6 +268,11 @@ void EffectsView::OnInitialize() CustomActor self = Self(); mChildrenRoot.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); self.Add( mChildrenRoot ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } void EffectsView::OnSizeSet(const Vector3& targetSize) diff --git a/dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp b/dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp index 9749407..5dc8719 100755 --- a/dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp +++ b/dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp @@ -825,10 +825,6 @@ FlexContainer::FlexContainer() mAlignContent( Toolkit::FlexContainer::ALIGN_FLEX_START ) { SetKeyboardNavigationSupport( true ); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } void FlexContainer::OnInitialize() @@ -851,6 +847,11 @@ void FlexContainer::OnInitialize() // Make self as keyboard focusable and focus group self.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE, true ); SetAsKeyboardFocusGroup( true ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } } // namespace Internal diff --git a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp index 7fd6fdf..93fb35b 100644 --- a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp @@ -143,10 +143,6 @@ GaussianBlurView::GaussianBlurView() mActivated( false ) { SetBlurBellCurveWidth(GAUSSIAN_BLUR_VIEW_DEFAULT_BLUR_BELL_CURVE_WIDTH); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } GaussianBlurView::GaussianBlurView( const unsigned int numSamples, @@ -325,6 +321,11 @@ void GaussianBlurView::OnInitialize() mInternalRoot.Add( mHorizBlurActor ); mInternalRoot.Add( mVertBlurActor ); mInternalRoot.Add( mRenderDownsampledCamera ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } 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 90940f0..0f893a3 100644 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp @@ -70,10 +70,6 @@ ImageView::ImageView() mImageVisualPaddingSetByTransform( false ), mImageViewPixelAreaSetByFittingMode( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) ); - } ); } ImageView::~ImageView() @@ -100,6 +96,11 @@ void ImageView::OnInitialize() // ImageView can relayout in the OnImageReady, alternative to a signal would be to have a upcall from the Control to ImageView Dali::Toolkit::Control handle( GetOwner() ); handle.ResourceReadySignal().Connect( this, &ImageView::OnResourceReady ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) ); + } ); } void ImageView::SetImage( const Property::Map& map ) diff --git a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp index aa1416a..0be5d46 100644 --- a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp +++ b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp @@ -148,11 +148,6 @@ Magnifier::Magnifier() mActorSize(Vector3::ZERO), mMagnificationFactor(1.0f) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); - } void Magnifier::SetSourceActor(Actor actor) @@ -225,6 +220,11 @@ void Magnifier::Initialize() constraint.AddSource( Source( self, Actor::Property::SIZE ) ); constraint.AddSource( Source( self, Actor::Property::WORLD_SCALE ) ); constraint.Apply(); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } Magnifier::~Magnifier() diff --git a/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp b/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp index db42cbe..5b49909 100644 --- a/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp +++ b/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp @@ -284,11 +284,6 @@ Model3dView::Model3dView() mCameraFOV = Math::PI_OVER_180 * 45.f; mControlSize = Vector2(100.,100.); - - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) ); - } ); } Model3dView::~Model3dView() @@ -467,6 +462,10 @@ void Model3dView::OnInitialize() Shader shader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER ); mRenderer = Renderer::New( mesh, shader ); + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) ); + } ); } void Model3dView::LoadGeometry() diff --git a/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp b/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp index 5c162a3..4573b4c 100644 --- a/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp +++ b/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp @@ -49,10 +49,6 @@ DALI_TYPE_REGISTRATION_END() NavigationView::NavigationView() : Control(ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } NavigationView::~NavigationView() @@ -76,6 +72,14 @@ Toolkit::NavigationView NavigationView::New() return navigationView; } +void NavigationView::OnInitialize() +{ + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); +} + void NavigationView::OnSceneConnection( int depth ) { Self().SetProperty( Actor::Property::SENSITIVE,true); diff --git a/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h b/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h index d766ebe..820499a 100644 --- a/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h +++ b/dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h @@ -78,6 +78,11 @@ public: private: // override functions from Control /** + * @copydoc Constrol::OnInitialize + */ + virtual void OnInitialize() override; + + /** * @copydoc Control::OnSceneConnection( int depth ) */ void OnSceneConnection( int depth ) override; diff --git a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp index a8be341..df3bf6f 100644 --- a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp +++ b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp @@ -363,10 +363,6 @@ PageTurnView::PageTurnView( PageFactory& pageFactory, const Vector2& viewPageSiz mPagePanStartedSignal(), mPagePanFinishedSignal() { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::PAGE_TAB_LIST ) ); - } ); } PageTurnView::~PageTurnView() @@ -419,6 +415,11 @@ void PageTurnView::OnInitialize() // enable the pan gesture which is attached to the control EnableGestureDetection(GestureType::Value(GestureType::PAN)); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::PAGE_TAB_LIST ) ); + } ); } Shader PageTurnView::CreateShader( const Property::Map& shaderMap ) diff --git a/dali-toolkit/internal/controls/popup/confirmation-popup-impl.cpp b/dali-toolkit/internal/controls/popup/confirmation-popup-impl.cpp index 27179d6..0f1a585 100644 --- a/dali-toolkit/internal/controls/popup/confirmation-popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/confirmation-popup-impl.cpp @@ -101,10 +101,6 @@ ConfirmationPopup::ConfirmationPopup() mControlSignals.reserve( MAXIMUM_NUMBER_OF_CONTROLS ); mControlSignalNames[ Toolkit::ConfirmationPopup::CONTROL_OK ] = DEFAULT_CONNECT_SIGNAL_NAME; mControlSignalNames[ Toolkit::ConfirmationPopup::CONTROL_CANCEL ] = DEFAULT_CONNECT_SIGNAL_NAME; - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); - } ); } ConfirmationPopup::~ConfirmationPopup() diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index 430d985..94a0ead 100644 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -271,11 +271,6 @@ Popup::Popup() mTailDownImage = imageDirPath + DEFAULT_TAIL_DOWN_IMAGE_FILE_NAME; mTailLeftImage = imageDirPath + DEFAULT_TAIL_LEFT_IMAGE_FILE_NAME; mTailRightImage = imageDirPath + DEFAULT_TAIL_RIGHT_IMAGE_FILE_NAME; - - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); - } ); } void Popup::OnInitialize() @@ -343,6 +338,11 @@ void Popup::OnInitialize() SetAsKeyboardFocusGroup( true ); SetupTouch(); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); + } ); } Popup::~Popup() 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 fc39869..a24de27 100644 --- a/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp +++ b/dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp @@ -158,10 +158,6 @@ ProgressBar::ProgressBar() mSecondaryProgressValue( DEFAULT_VALUE ), mIndeterminate( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::PROGRESS_BAR ) ); - } ); } ProgressBar::~ProgressBar() @@ -170,6 +166,10 @@ ProgressBar::~ProgressBar() void ProgressBar::OnInitialize() { + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::PROGRESS_BAR ) ); + } ); } void ProgressBar::OnRelayout( const Vector2& size, RelayoutContainer& container ) diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp index fb90dd4..b1b09d1 100644 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp @@ -205,10 +205,6 @@ ScrollBar::ScrollBar(Toolkit::ScrollBar::Direction direction) mIsPanning(false), mIndicatorFirstShow(true) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::SCROLL_BAR ) ); - } ); } ScrollBar::~ScrollBar() @@ -219,6 +215,11 @@ void ScrollBar::OnInitialize() { CreateDefaultIndicatorActor(); Self().SetProperty( Actor::Property::DRAW_MODE,DrawMode::OVERLAY_2D); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::SCROLL_BAR ) ); + } ); } void ScrollBar::SetScrollPropertySource( Handle handle, Property::Index propertyScrollPosition, Property::Index propertyMinScrollPosition, Property::Index propertyMaxScrollPosition, Property::Index propertyScrollContentSize ) diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp index 12bd0c3..19d7373 100644 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp @@ -362,6 +362,8 @@ ItemView::ItemView(ItemFactory& factory) void ItemView::OnInitialize() { + Scrollable::OnInitialize(); + Actor self = Self(); Vector2 stageSize = Stage::GetCurrent().GetSize(); diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp index e3b381c..28e2e43 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp @@ -90,16 +90,20 @@ Scrollable::Scrollable( ControlBehaviour behaviourFlags ) mScrollCompletedSignal(), mOvershootEnabled(true) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::SCROLL_PANE ) ); - } ); } Scrollable::~Scrollable() { } +void Scrollable::OnInitialize() +{ + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::SCROLL_PANE ) ); + } ); +} + bool Scrollable::IsOvershootEnabled() const { return mOvershootEnabled; diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.h b/dali-toolkit/internal/controls/scrollable/scrollable-impl.h index 72f710a..ee1e02c 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.h +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.h @@ -118,6 +118,13 @@ public: */ virtual void SetOvershootSize( const Vector2& size ) = 0; +protected: // From Control + + /** + * @copydoc Control::OnInitialize + */ + virtual void OnInitialize() override; + private: /** diff --git a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp index b22bff0..37f7f53 100644 --- a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp +++ b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp @@ -132,10 +132,6 @@ ShadowView::ShadowView( float downsampleWidthScale, float downsampleHeightScale mDownsampleWidthScale(downsampleWidthScale), mDownsampleHeightScale(downsampleHeightScale) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } ShadowView::~ShadowView() @@ -294,6 +290,11 @@ void ShadowView::OnInitialize() Constraint blurStrengthConstraint = Constraint::New( mBlurFilter.GetHandleForAnimateBlurStrength(), mBlurFilter.GetBlurStrengthPropertyIndex(), EqualToConstraint() ); blurStrengthConstraint.AddSource( Source( self, mBlurStrengthPropertyIndex) ); blurStrengthConstraint.Apply(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } void ShadowView::OnChildAdd( Actor& child ) diff --git a/dali-toolkit/internal/controls/slider/slider-impl.cpp b/dali-toolkit/internal/controls/slider/slider-impl.cpp index 791adea..c347676 100644 --- a/dali-toolkit/internal/controls/slider/slider-impl.cpp +++ b/dali-toolkit/internal/controls/slider/slider-impl.cpp @@ -159,10 +159,6 @@ Slider::Slider() mShowValue( false ), mSnapToMarks( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new AccessibleImpl( actor, Dali::Accessibility::Role::SLIDER ) ); - } ); } Slider::~Slider() @@ -209,6 +205,11 @@ void Slider::OnInitialize() // Connect to the touch signal self.TouchedSignal().Connect( this, &Slider::OnTouch ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new AccessibleImpl( actor, Dali::Accessibility::Role::SLIDER ) ); + } ); } void Slider::OnRelayout( const Vector2& size, RelayoutContainer& container ) diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp index 80714d0..769a7fc 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp @@ -138,11 +138,6 @@ SuperBlurView::SuperBlurView( unsigned int blurLevels ) mGaussianBlurView.assign( blurLevels, Toolkit::GaussianBlurView() ); mBlurredImage.assign( blurLevels, FrameBuffer() ); mRenderers.assign( blurLevels+1, Dali::Renderer() ); - - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); - } ); } SuperBlurView::~SuperBlurView() @@ -169,6 +164,11 @@ void SuperBlurView::OnInitialize() Actor self( Self() ); mBlurStrengthPropertyIndex = self.RegisterProperty( "blurStrength", 0.f ); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::FILLER ) ); + } ); } void SuperBlurView::SetTexture( Texture texture ) diff --git a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp index 3dc99a5..4f27bba 100755 --- a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp +++ b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp @@ -1114,10 +1114,6 @@ TableView::TableView( unsigned int initialRows, unsigned int initialColumns ) { SetKeyboardNavigationSupport( true ); ResizeContainers( initialRows, initialColumns ); - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TABLE ) ); - } ); } void TableView::OnInitialize() @@ -1126,6 +1122,11 @@ void TableView::OnInitialize() Actor self = Self(); self.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true); SetAsKeyboardFocusGroup(true); + + DevelControl::SetAccessibilityConstructor( self, []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TABLE ) ); + } ); } void TableView::ResizeContainers( unsigned int rows, unsigned int columns ) 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..9ce26d6 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -1232,6 +1232,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 ) @@ -1872,10 +1877,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() 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..068e55f 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1241,6 +1241,11 @@ void TextField::OnInitialize() { 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 ) @@ -1812,10 +1817,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() 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 4699878..d5da6eb 100755 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -731,6 +731,11 @@ void TextLabel::OnInitialize() 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 ) @@ -969,10 +974,6 @@ TextLabel::TextLabel() 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() 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 160ee47..f912be2 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 @@ -387,6 +387,11 @@ void TextSelectionPopup::OnInitialize() Actor self = Self(); self.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); self.SetProperty( Actor::Property::COLOR_ALPHA, 0.0f ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); + } ); } void TextSelectionPopup::HideAnimationFinished( Animation& animation ) @@ -857,10 +862,6 @@ TextSelectionPopup::TextSelectionPopup( TextSelectionPopupCallbackInterface* cal mPopupShowing( false ), mButtonsChanged( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::DIALOG, true ) ); - } ); } TextSelectionPopup::~TextSelectionPopup() diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp index 3736f67..792dead 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp @@ -167,6 +167,11 @@ Property::Value TextSelectionToolbar::GetProperty( BaseObject* object, Property: void TextSelectionToolbar::OnInitialize() { SetUp(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR )); + } ); } void TextSelectionToolbar::OnRelayout( const Vector2& size, RelayoutContainer& container ) @@ -385,12 +390,6 @@ TextSelectionToolbar::TextSelectionToolbar() mDividerIndexes(), mFirstScrollEnd( false ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) - { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR, true ) ); - } - ); } TextSelectionToolbar::~TextSelectionToolbar() diff --git a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp index 0ca6e72..1519920 100644 --- a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp +++ b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp @@ -289,10 +289,6 @@ ToolBar::ToolBar() mInitializing( false ), mControls() { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR, true ) ); - } ); } ToolBar::~ToolBar() @@ -318,6 +314,11 @@ void ToolBar::OnInitialize() mLayout.AddChild( rightSpace, Toolkit::TableView::CellPosition( 0, 1 ) ); mLayout.SetRelativeWidth( 0, mLeftRelativeSpace ); mLayout.SetRelativeWidth( 1, mRightRelativeSpace ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR )); + } ); } void ToolBar::OnChildAdd(Actor& child) diff --git a/dali-toolkit/internal/controls/video-view/video-view-impl.cpp b/dali-toolkit/internal/controls/video-view/video-view-impl.cpp index 9f6fc31..6956cb2 100755 --- a/dali-toolkit/internal/controls/video-view/video-view-impl.cpp +++ b/dali-toolkit/internal/controls/video-view/video-view-impl.cpp @@ -140,12 +140,6 @@ VideoView::VideoView( Dali::VideoSyncMode syncMode ) mIsUnderlay( true ), mSyncMode( syncMode ) { - DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) - { - return std::unique_ptr< Dali::Accessibility::Accessible >( - new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::VIDEO, true ) ); - } - ); } VideoView::~VideoView() @@ -165,6 +159,11 @@ Toolkit::VideoView VideoView::New( VideoSyncMode syncMode ) void VideoView::OnInitialize() { mVideoPlayer.FinishedSignal().Connect( this, &VideoView::EmitSignalFinish ); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::VIDEO )); + } ); } void VideoView::SetUrl( const std::string& url )