From 435b215a3e74de4d2bcb340013b026d243cad767 Mon Sep 17 00:00:00 2001 From: Ayush Date: Thu, 18 Apr 2013 16:49:52 +0530 Subject: [PATCH] Accessibility Feature in SB Change-Id: I35b277fbfe260380b577559c75fb6e0c48c0aeb7 Signed-off-by: Ayush --- src/ui/controls/FUiCtrl_ColorPicker.cpp | 8 +--- src/ui/controls/FUiCtrl_EditDate.cpp | 5 --- src/ui/controls/FUiCtrl_EditTime.cpp | 11 ++---- src/ui/controls/FUiCtrl_Progress.cpp | 18 +++------ src/ui/controls/FUiCtrl_SearchBar.cpp | 69 +++++++++++++++++---------------- src/ui/controls/FUiCtrl_Slider.cpp | 9 ----- src/ui/inc/FUiCtrl_SearchBar.h | 3 ++ 7 files changed, 50 insertions(+), 73 deletions(-) diff --git a/src/ui/controls/FUiCtrl_ColorPicker.cpp b/src/ui/controls/FUiCtrl_ColorPicker.cpp index b29bec4..1a2f20d 100644 --- a/src/ui/controls/FUiCtrl_ColorPicker.cpp +++ b/src/ui/controls/FUiCtrl_ColorPicker.cpp @@ -144,6 +144,7 @@ _ColorPicker::CreateColorPickerN(void) if (pColorPicker->GetAccessibilityContainer() != null) { pColorPicker->GetAccessibilityContainer()->Activate(true); + pColorPicker->InitializeAccessibilityElement(); } return pColorPicker; @@ -313,8 +314,6 @@ _ColorPicker::OnTouchCanceled(const _Control& source, const _TouchInfo& touchinf result _ColorPicker::OnAttachedToMainTree(void) { - InitializeAccessibilityElement(); - __pColorPickerPresenter->LoadDrawingProperties(GetBoundsF()); _VisualElement* pBase = GetVisualElement(); @@ -356,11 +355,6 @@ _ColorPicker::OnAttachedToMainTree(void) void _ColorPicker::InitializeAccessibilityElement(void) { - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return; - } - _AccessibilityContainer* pContainer = GetAccessibilityContainer(); _ControlOrientation orientation = _ControlManager::GetInstance()->GetOrientation(); FloatRectangle floatBounds = GetClientBoundsF(); diff --git a/src/ui/controls/FUiCtrl_EditDate.cpp b/src/ui/controls/FUiCtrl_EditDate.cpp index a3fccb5..5d713cd 100644 --- a/src/ui/controls/FUiCtrl_EditDate.cpp +++ b/src/ui/controls/FUiCtrl_EditDate.cpp @@ -986,11 +986,6 @@ _EditDate::UpdateAccessibilityElement(void) String dayString; String space(L" "); - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return; - } - if (__pAccessibilityEditDateElement == null) { return; diff --git a/src/ui/controls/FUiCtrl_EditTime.cpp b/src/ui/controls/FUiCtrl_EditTime.cpp index 66400a5..f374bcd 100644 --- a/src/ui/controls/FUiCtrl_EditTime.cpp +++ b/src/ui/controls/FUiCtrl_EditTime.cpp @@ -477,8 +477,10 @@ _EditTime::OnDraw(void) } __pEditTimePresenter->Draw(); - - UpdateAccessibilityElement(); + if(likely((_AccessibilityManager::IsActivated()))) + { + UpdateAccessibilityElement(); + } return; } @@ -776,11 +778,6 @@ _EditTime::UpdateAccessibilityElement(void) { String string; - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return; - } - if (__pAccessibilityEditTimeElement == null && __pAccessibilityHourElement == null && __pAccessibilityMinuteElement == null && __pAccessibilityAmPmElement == null) { diff --git a/src/ui/controls/FUiCtrl_Progress.cpp b/src/ui/controls/FUiCtrl_Progress.cpp index b12ca69..8dddd0d 100644 --- a/src/ui/controls/FUiCtrl_Progress.cpp +++ b/src/ui/controls/FUiCtrl_Progress.cpp @@ -69,6 +69,8 @@ _Progress::CreateProgressN() _Progress* pProgress = new (std::nothrow) _Progress; SysTryReturn(NID_UI_CTRL, pProgress, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed."); + _AccessibilityContainer* pContainer = pProgress->GetAccessibilityContainer(); + pProgress->__pProgressPresenter = _ProgressPresenter::CreateInstanceN(*pProgress); r = GetLastResult(); SysTryCatch(NID_UI_CTRL, pProgress->__pProgressPresenter != null, , r, @@ -83,16 +85,13 @@ _Progress::CreateProgressN() pProgress->AcquireHandle(); pProgress->SetFocusable(false); - if (likely((_AccessibilityManager::IsActivated()))) + if (pContainer) { - _AccessibilityContainer* pContainer = pProgress->GetAccessibilityContainer(); - if (pContainer) - { - pContainer->Activate(true); - pProgress->InitializeAccessibilityElement(); - } + pContainer->Activate(true); + pProgress->InitializeAccessibilityElement(); } + return pProgress; CATCH: @@ -107,11 +106,6 @@ _Progress::InitializeAccessibilityElement(void) { result r = E_SUCCESS; - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return r; - } - if (__pAccessibilityElement) { return r; diff --git a/src/ui/controls/FUiCtrl_SearchBar.cpp b/src/ui/controls/FUiCtrl_SearchBar.cpp index 851d41c..3894b27 100644 --- a/src/ui/controls/FUiCtrl_SearchBar.cpp +++ b/src/ui/controls/FUiCtrl_SearchBar.cpp @@ -79,6 +79,7 @@ _SearchBar::_SearchBar(void) , __pTextEvent(null) , __pSearchBarEvent(null) , __pLanguageEvent(null) + , __pAccessibilitySearchBarElement(null) { for (int i = 0; i < SEARCHBAR_BUTTON_COLOR_MAX; i++) { @@ -170,6 +171,12 @@ _SearchBar::~_SearchBar(void) __pSearchBarEvent = null; } + if (__pAccessibilitySearchBarElement) + { + __pAccessibilitySearchBarElement->Activate(false); + __pAccessibilitySearchBarElement = null; + } + delete __pBackgroundBitmap; __pBackgroundBitmap = null; } @@ -263,6 +270,7 @@ _SearchBar::Initialize(bool enableSearchBarButton, CoreKeypadAction keypadAction __pSearchBarPresenter = pPresenter; + CreateAccessibilityElement(); return r; CATCH: @@ -289,7 +297,6 @@ _SearchBar::CreateSearchField(void) FloatRectangle searchBarBounds = GetBoundsF(); _ControlOrientation orientation = _ControlManager::GetInstance()->GetOrientation(); - _AccessibilityContainer* pSearchBarContainer = null; GET_SHAPE_CONFIG(SEARCHBAR::HORIZONTAL_MARGIN, orientation, horizontalMargin); GET_SHAPE_CONFIG(SEARCHBAR::VERTICAL_MARGIN, orientation, verticalMargin); @@ -359,21 +366,6 @@ _SearchBar::CreateSearchField(void) SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to attach edit as child."); - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return E_SUCCESS; - } - - pSearchBarContainer = GetAccessibilityContainer(); - if (pSearchBarContainer) - { - _AccessibilityContainer* pSearchFieldContainer = __pEdit->GetAccessibilityContainer(); - if (pSearchFieldContainer) - { - pSearchBarContainer->AddChildContainer(*pSearchFieldContainer); - } - } - return E_SUCCESS; CATCH: @@ -392,7 +384,6 @@ _SearchBar::CreateCancelButton(void) String cancelButtonText; _ControlOrientation orientation = _ControlManager::GetInstance()->GetOrientation(); - _AccessibilityContainer* pSearchBarContainer = null; __pCancelButton = _Button::CreateButtonN(); r = GetLastResult(); @@ -435,21 +426,6 @@ _SearchBar::CreateCancelButton(void) SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to attach button as child."); - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return E_SUCCESS; - } - - pSearchBarContainer = GetAccessibilityContainer(); - if (pSearchBarContainer) - { - _AccessibilityContainer* pButtonContainer = __pCancelButton->GetAccessibilityContainer(); - if (pButtonContainer) - { - pSearchBarContainer->AddChildContainer(*pButtonContainer); - } - } - return E_SUCCESS; CATCH: @@ -1555,6 +1531,11 @@ _SearchBar::OnBoundsChanged(void) __isupdateContentBounds = true; __pSearchBarPresenter->OnBoundsChanged(); } + + if (__pAccessibilitySearchBarElement) + { + __pAccessibilitySearchBarElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height)); + } return; } @@ -1758,7 +1739,6 @@ result _SearchBar::OnAttachedToMainTree(void) { SetContentsArea(); - return E_SUCCESS; } @@ -2465,6 +2445,29 @@ CATCH: } void +_SearchBar::CreateAccessibilityElement(void) +{ + if (__pAccessibilitySearchBarElement != null) + { + return; + } + _AccessibilityContainer* pContainer = null; + pContainer = GetAccessibilityContainer(); + + if (pContainer) + { + __pAccessibilitySearchBarElement = new (std::nothrow) _AccessibilityElement(true); + SysTryReturnVoidResult(NID_UI_CTRL, __pAccessibilitySearchBarElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Failed to allocate memory."); + __pAccessibilitySearchBarElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height)); + __pAccessibilitySearchBarElement->SetTrait(ACCESSIBILITY_TRAITS_NONE); + __pAccessibilitySearchBarElement->SetName("SearchBar"); + pContainer->AddElement(*__pAccessibilitySearchBarElement); + } + + return; +} + +void _SearchBar::SetContentDimming(void) { if (__pContainer != NULL) diff --git a/src/ui/controls/FUiCtrl_Slider.cpp b/src/ui/controls/FUiCtrl_Slider.cpp index 6dd3f62..9cf09a0 100644 --- a/src/ui/controls/FUiCtrl_Slider.cpp +++ b/src/ui/controls/FUiCtrl_Slider.cpp @@ -206,11 +206,6 @@ _Slider::InitializeAccessibilityElement(void) { result r = E_SUCCESS; - if (likely(!(_AccessibilityManager::IsActivated()))) - { - return r; - } - if (__pAccessibilityElement) { return r; @@ -246,10 +241,6 @@ _Slider::OnDraw(void) result _Slider::OnAttachedToMainTree(void) { - if(__pAccessibilityElement) - { - __pAccessibilityElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBounds().width, GetBounds().height)); - } return E_SUCCESS; } diff --git a/src/ui/inc/FUiCtrl_SearchBar.h b/src/ui/inc/FUiCtrl_SearchBar.h index 3c7a481..49665b0 100644 --- a/src/ui/inc/FUiCtrl_SearchBar.h +++ b/src/ui/inc/FUiCtrl_SearchBar.h @@ -272,6 +272,7 @@ private: result CreateFrontButton(void); result CreateContentsArea(void); result CreateClippedGroupControl(void); + void CreateAccessibilityElement(void); //Tizen::Graphics::Font* CreateEditFontN(const Tizen::Graphics::Font* pFont); Tizen::Ui::_Control* GetParentForm(void) const; @@ -314,6 +315,8 @@ private: _TextEvent* __pTextEvent; _SearchBarEvent* __pSearchBarEvent; _LanguageEvent* __pLanguageEvent; + + Tizen::Ui::_AccessibilityElement* __pAccessibilitySearchBarElement; static const byte _SEARCH_CONTENT_DIM_OPACITY = 128; //50% opacity }; // _SearchBar -- 2.7.4