[AT-SPI] Emit ObjectPropertyChangeEvent::VALUE 39/244339/21
authorArtur Świgoń <a.swigon@samsung.com>
Thu, 17 Sep 2020 10:14:33 +0000 (12:14 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Fri, 23 Oct 2020 13:07:00 +0000 (15:07 +0200)
While this could be done inside SetProperty handlers, it would not yield the
desired effect, since the implementation often updates values directly, not via
a SetProperty call.

Change-Id: I2fed4b2d8ee7384bc5484c9af50d4b62a506a23a

dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp
dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp
dali-toolkit/internal/controls/slider/slider-impl.cpp

index dc90b4681a06884fcebdcb8a87b723605a80d77f..7251b48efae6d344aac97c532badf09b83e35dcd 100644 (file)
@@ -272,6 +272,10 @@ void ProgressBar::SetProgressValue( float value )
 
     Toolkit::ProgressBar self = Toolkit::ProgressBar::DownCast( Self() );
     mValueChangedSignal.Emit( self, mProgressValue, mSecondaryProgressValue );
+    if (Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor())
+    {
+      Control::Impl::GetAccessibilityObject(Self())->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::VALUE);
+    }
     RelayoutRequest();
   }
 }
index b1b09d1ecea9ebe17b09b6ae1fe04881c3a444d7..06277594e2e2e72acbf955deff5443c3a0a71b96 100644 (file)
@@ -368,6 +368,10 @@ void ScrollBar::OnScrollPositionIntervalReached(PropertyNotification& source)
   if(scrollableHandle)
   {
     mScrollPositionIntervalReachedSignal.Emit( scrollableHandle.GetCurrentProperty< float >( mPropertyScrollPosition ) );
+    if (Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor())
+    {
+      Control::Impl::GetAccessibilityObject(Self())->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::VALUE);
+    }
   }
 }
 
index 3c48abc920721047244622dc5be72c6c36d03fb9..535658815520d292392423d076a41497de704dda 100644 (file)
@@ -960,6 +960,10 @@ void Slider::SetValue( float value )
 {
   mValue = value;
   DisplayValue( mValue, true );
+  if (Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor())
+  {
+    Control::Impl::GetAccessibilityObject(Self())->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::VALUE);
+  }
 }
 
 float Slider::GetValue() const