From 3ab200fc80d797c9760903210da1039cedb11f9d Mon Sep 17 00:00:00 2001 From: Sungyeon Woo Date: Thu, 20 Jun 2013 13:43:05 +0900 Subject: [PATCH] fix in Slider for N_SE-42132 Change-Id: Ia403a6119b8a8a5c270cac5bbf159df04f4fff9e Signed-off-by: Sungyeon Woo --- src/ui/controls/FUiCtrl_Slider.cpp | 26 +++++++++++++++++++++++++- src/ui/controls/FUiCtrl_SliderPresenter.cpp | 14 +------------- src/ui/inc/FUiCtrl_Slider.h | 1 + 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/ui/controls/FUiCtrl_Slider.cpp b/src/ui/controls/FUiCtrl_Slider.cpp index a187c71..295ea7c 100644 --- a/src/ui/controls/FUiCtrl_Slider.cpp +++ b/src/ui/controls/FUiCtrl_Slider.cpp @@ -37,6 +37,7 @@ using namespace Tizen::Ui; using namespace Tizen::Base; using namespace Tizen::Graphics; using namespace Tizen::Ui::Animations; +using namespace Tizen::Base::Runtime; namespace Tizen { namespace Ui { namespace Controls { @@ -353,13 +354,15 @@ _Slider::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo) if (keyCode == _KEY_RIGHT) { SetValue(GetValue() + 1); + FireSliderMoveEvent(GetValue()); Invalidate(); - return true; + return true; } if (keyCode == _KEY_LEFT) { SetValue(GetValue() - 1); + FireSliderMoveEvent(GetValue()); Invalidate(); return true; } @@ -922,7 +925,10 @@ _Slider::OnAccessibilityValueIncreased(const _AccessibilityContainer& control, c sprintf(buffer, "%d", __pSliderPresenter->GetMaxValue()); string.Replace(L"%2$d", buffer); _AccessibilityManager::GetInstance()->ReadContent(string); + Invalidate(); + FireSliderMoveEvent(GetValue()); + return true; } @@ -941,7 +947,25 @@ _Slider::OnAccessibilityValueDecreased(const _AccessibilityContainer& control, c _AccessibilityManager::GetInstance()->ReadContent(string); Invalidate(); + FireSliderMoveEvent(GetValue()); + return true; } +void +_Slider::FireSliderMoveEvent(int value) +{ + if (__pSliderEvent != null) + { + IEventArg* pEventArg = _SliderEvent::CreateSliderEventArgN(value); + + if( pEventArg == null) + { + return; + } + + __pSliderEvent->Fire(*pEventArg); + } +} + }}} // Tizen::Ui::Controls diff --git a/src/ui/controls/FUiCtrl_SliderPresenter.cpp b/src/ui/controls/FUiCtrl_SliderPresenter.cpp index 2dec157..6dce68a 100644 --- a/src/ui/controls/FUiCtrl_SliderPresenter.cpp +++ b/src/ui/controls/FUiCtrl_SliderPresenter.cpp @@ -1652,19 +1652,7 @@ _SliderPresenter::OnTimerExpired(Timer& timer) __pSlider->Draw(); __pSlider->Show(); - // Slider Event Fire - _SliderEvent* pSliderEvent = dynamic_cast <_SliderEvent*>(__pSlider->GetSliderEvent()); - if (pSliderEvent != null) - { - IEventArg* pEventArg = _SliderEvent::CreateSliderEventArgN(candidateValue); - - if( pEventArg == null) - { - return; - } - - pSliderEvent->Fire(*pEventArg); - } + __pSlider->FireSliderMoveEvent(candidateValue); return; } diff --git a/src/ui/inc/FUiCtrl_Slider.h b/src/ui/inc/FUiCtrl_Slider.h index 55d22b8..8d0469e 100644 --- a/src/ui/inc/FUiCtrl_Slider.h +++ b/src/ui/inc/FUiCtrl_Slider.h @@ -123,6 +123,7 @@ public: _SliderEvent* GetSliderEvent(void) const; result SetThumbBitmap(SliderThumbStatus status, const Tizen::Graphics::Bitmap& bitmap); void SetThumbTextColor(SliderThumbStatus status, const Tizen::Graphics::Color& color); + void FireSliderMoveEvent(int value); virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo); virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo); -- 2.7.4