[AT-SPI] Fix role setting 60/241160/36
authorArtur Świgoń <a.swigon@samsung.com>
Tue, 18 Aug 2020 07:48:59 +0000 (09:48 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Fri, 23 Oct 2020 13:07:00 +0000 (15:07 +0200)
Change-Id: I8a697c6875a8c5317585a4b7fcf782facb1224e3

35 files changed:
dali-toolkit/devel-api/controls/control-devel.h
dali-toolkit/internal/controls/alignment/alignment-impl.cpp
dali-toolkit/internal/controls/alignment/alignment-impl.h
dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp
dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp
dali-toolkit/internal/controls/buttons/push-button-impl.cpp
dali-toolkit/internal/controls/buttons/radio-button-impl.cpp
dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp
dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
dali-toolkit/internal/controls/flex-container/flex-container-impl.cpp
dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.cpp
dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp
dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp
dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp
dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h
dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp
dali-toolkit/internal/controls/popup/confirmation-popup-impl.cpp
dali-toolkit/internal/controls/popup/popup-impl.cpp
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp
dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp
dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp
dali-toolkit/internal/controls/scrollable/scrollable-impl.h
dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp
dali-toolkit/internal/controls/slider/slider-impl.cpp
dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp
dali-toolkit/internal/controls/table-view/table-view-impl.cpp
dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp
dali-toolkit/internal/controls/text-controls/text-field-impl.cpp
dali-toolkit/internal/controls/text-controls/text-label-impl.cpp
dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp
dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp
dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp
dali-toolkit/internal/controls/video-view/video-view-impl.cpp

index a12b52d68cd41bd737895d425520ef077d981d59..b5f40a0bd3c60158d483979e9a8311179c52a41f 100644 (file)
@@ -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
index a58f78f8205af9d63f25b1e2d9b59e876b5eef29..407eb42c66a71b150b46fd9dfe1ebd900f33c31c 100644 (file)
@@ -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()
index 4eb863457434ee152c8e831dbc5fac6ef0e3038f..64d352a5feec7d363c4a0d63b1a00fef91a70058 100644 (file)
@@ -82,6 +82,11 @@ public:
 
 private: // From Control
 
+  /**
+   * @copydoc Control::OnInitialize()
+   */
+  virtual void OnInitialize() override;
+
   /**
    * @copydoc Control::OnRelayout()
    */
index 7ae0880e6df9bde963b83f40c9d3c1850a3b06d9..ed3526733f2a1bb92125347906f1dceda47ee298 100644 (file)
@@ -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)
index 45c50579fb6a86344d7dc583ebe952573808bca8..103992f1a7995640cc269c7123ddb66c0127b638 100644 (file)
@@ -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()
index 345ce066b0981216ec02cdbf133c0685a1bd363b..e77bd301e69afb638dd5afd3965b73015b1f8f9f 100644 (file)
@@ -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 )
index 9df52076562c5101289d04fdfc55b8af8f76bb06..3276076f6248143dd9aec496ebb563572499a6e9 100644 (file)
@@ -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()
index a3c44644f14c547f976ec94662aac9a59a548be4..9921663ca2eef7f570411f7dcb9cb404e3de3e49 100644 (file)
@@ -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 )
index dee09e905b2de76e9c4fe6cbf151b1d415f82dac..f23d985359ec293106c8149e5e2988b48673d67b 100644 (file)
@@ -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)
index 9749407c9c9202ee3b09c8731c64f0540818973d..5dc871900ee82e91e0e38f9e0a8b49425aa2cd1c 100755 (executable)
@@ -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
index 7fd6fdf9d04a579eb785c2b812ae861038fd2368..93fb35bc6ac4ca14c83dbdaee06d0ba834759f53 100644 (file)
@@ -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 ) );
+  } );
 }
 
 
index 90940f0c5c94361c53421a3c77a11a89862c5efb..0f893a3ad6b7ecd3324db6f3bec119620188e147 100644 (file)
@@ -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 )
index aa1416a2ad00c6175b9b32003d37e10a3f84b979..0be5d46391210afbb7441f1162b33bc108e0c472 100644 (file)
@@ -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()
index db42cbe9ce6cc1a93221b5f04c626cedfea482b0..5b4990934cba635b84ffb416228a7f218eec10a2 100644 (file)
@@ -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()
index 5c162a3ec031e2c06441ff4191ab42513b73e212..4573b4c0be9484cecdf1e0e8204725bec6de9b48 100644 (file)
@@ -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);
index d766ebead74f7c768af6ed95da940d35a3a6c37f..820499a8816ae33e45bb853894d9ac204b6a22e9 100644 (file)
@@ -77,6 +77,11 @@ public:
 
 private: // override functions from Control
 
+  /**
+   * @copydoc Constrol::OnInitialize
+   */
+  virtual void OnInitialize() override;
+
   /**
    * @copydoc Control::OnSceneConnection( int depth  )
    */
index a8be341b60634b7284571281ba1ef26ac8550207..df3bf6fc8ae92e0a07f3f4b902abc2cc6f595831 100644 (file)
@@ -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 )
index 27179d634bb2d5338369df0588cea3277b8f9dfc..0f1a5856c29c4b1ac95c1b499f73814ba65138cf 100644 (file)
@@ -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()
index 430d98597b5721a2466699438933ec74413d17a3..94a0eade5434d43195974cf332cff6c01fc14ca3 100644 (file)
@@ -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()
index fc398699d8c31375a73cb34d0f3ee96efe3c5ec8..a24de27a1aecf98d5b020dca65c61311295ecfce 100644 (file)
@@ -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 )
index fb90dd42362540f652124296d34efe7e1bb75152..b1b09d1ecea9ebe17b09b6ae1fe04881c3a444d7 100644 (file)
@@ -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 )
index 12bd0c35ae1bf2cbd43ed6b7f5912f5ff7237c0e..19d737379364997aac996414629dd94f89de9f7b 100644 (file)
@@ -362,6 +362,8 @@ ItemView::ItemView(ItemFactory& factory)
 
 void ItemView::OnInitialize()
 {
+  Scrollable::OnInitialize();
+
   Actor self = Self();
 
   Vector2 stageSize = Stage::GetCurrent().GetSize();
index e3b381c34c11e4854eaba6fd4106206f0308629a..28e2e435c406d1c833331179ca1974fac732d26a 100644 (file)
@@ -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;
index 72f710afb09dc8ed950923ea622c98b622bafeb0..ee1e02c6c2e802bb775b97733afa8f873915f693 100644 (file)
@@ -118,6 +118,13 @@ public:
    */
   virtual void SetOvershootSize( const Vector2& size ) = 0;
 
+protected: // From Control
+
+  /**
+   * @copydoc Control::OnInitialize
+   */
+  virtual void OnInitialize() override;
+
 private:
 
   /**
index b22bff0012b5a5ef2a4aff6a0a7c321c54d6d880..37f7f53ab16c0330b72028f0fc65c50fde5e70c4 100644 (file)
@@ -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<float>( 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 )
index 791adeae35547be349c7d3bb8d4b5e797077afa3..c347676db102733a762d73f50063c68a1727ad48 100644 (file)
@@ -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 )
index 80714d08236d0fd35bf05161c436ec34485624bc..769a7fc7daa9f672b5643215856cdd425bde9a21 100644 (file)
@@ -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 )
index 3dc99a5c99d2fbea23f88d4d62bc9be104dafe8e..4f27bba831e202a4893eef9b49bc7fc1d3ddde4f 100755 (executable)
@@ -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 )
index 74f37323a3d707a03b772521b90eb41c516c6ef7..9ce26d6c7b8015c4eb473745633e2b5403837559 100644 (file)
@@ -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()
index 4a9ccfbfbb1101bc30e366582b11a58c1b477f3e..068e55f9505970ce1f99627accb52862c2286205 100644 (file)
@@ -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()
index 4699878713e0313a2998defecde3ba68fc5d61ac..d5da6eb119237326cbf6a02b344ad6f3b9a574d4 100755 (executable)
@@ -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()
index 160ee4701843fe4acaaa96d545aadfe4b12ca71e..f912be270c3dd6d97cc624dfd398564a8d12a919 100644 (file)
@@ -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()
index 3736f674e2170f8c24d1520352423c38b2de85ef..792dead80d2e37efcb7ebf1ed70ef1f0b650da54 100644 (file)
@@ -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()
index 0ca6e7232fd532d761cf89864c16b12ccf937192..1519920669316a488d6b944eab03a3d8d4c100b5 100644 (file)
@@ -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)
index 9f6fc31631a4440cbbd3518cfceca18a7afe80e4..6956cb2763f80f0b92fc40bba76e2c3f4ce21121 100755 (executable)
@@ -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 )