X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbuttons%2Ftoggle-button-impl.cpp;h=3010e694b90be2d0bd4e9173df67b016613a2be2;hp=b141fbdec0bffff7532c92120551639e8a624ea3;hb=70fdb1a1e8e2660c383079ae49bc94fbe14943d1;hpb=c052b6678e2c6d8a65545dbbe4531ea7057c1999 diff --git a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp index b141fbd..3010e69 100644 --- a/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/toggle-button-impl.cpp @@ -375,15 +375,17 @@ void ToggleButton::OnPressed() Dali::Accessibility::States ToggleButton::AccessibleImpl::CalculateStates() { auto states = Button::AccessibleImpl::CalculateStates(); - auto button = Toolkit::ToggleButton::DownCast(self); + auto button = Toolkit::ToggleButton::DownCast(Self()); if(button.GetProperty(Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX)) + { states[Dali::Accessibility::State::CHECKED] = true; + } return states; } -std::string ToggleButton::AccessibleImpl::GetDescriptionRaw() +std::string ToggleButton::AccessibleImpl::GetDescriptionRaw() const { - auto button = Toolkit::ToggleButton::DownCast(self); + auto button = Toolkit::ToggleButton::DownCast(Self()); auto index = button.GetProperty(Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX); auto tooltips = button.GetProperty(Toolkit::ToggleButton::Property::TOOLTIPS); @@ -398,15 +400,11 @@ Property::Index ToggleButton::AccessibleImpl::GetDescriptionPropertyIndex() void ToggleButton::OnStateChange(State newState) { // TODO: replace it with OnPropertySet hook once Button::Property::SELECTED will be consistently used - if(Dali::Accessibility::IsUp() && (newState == SELECTED_STATE || newState == UNSELECTED_STATE)) + if(Dali::Accessibility::IsUp() && (Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor()) + && (newState == SELECTED_STATE || newState == UNSELECTED_STATE)) { - Dali::Accessibility::Accessible::Get(Self())->EmitStateChanged( - Dali::Accessibility::State::CHECKED, mCurrentToggleIndex ? 1 : 0, 0); - - if(Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor()) - { - Dali::Accessibility::Accessible::Get(Self())->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::DESCRIPTION); - } + Dali::Accessibility::Accessible::Get(Self())->EmitStateChanged(Dali::Accessibility::State::CHECKED, mCurrentToggleIndex ? 1 : 0, 0); + Dali::Accessibility::Accessible::Get(Self())->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::DESCRIPTION); } }