Accessibility Feature in SB
authorAyush <ayush.sriv@samsung.com>
Thu, 18 Apr 2013 11:19:52 +0000 (16:49 +0530)
committerAyush <ayush.sriv@samsung.com>
Fri, 19 Apr 2013 12:55:27 +0000 (18:25 +0530)
Change-Id: I35b277fbfe260380b577559c75fb6e0c48c0aeb7
Signed-off-by: Ayush <ayush.sriv@samsung.com>
src/ui/controls/FUiCtrl_ColorPicker.cpp
src/ui/controls/FUiCtrl_EditDate.cpp
src/ui/controls/FUiCtrl_EditTime.cpp
src/ui/controls/FUiCtrl_Progress.cpp
src/ui/controls/FUiCtrl_SearchBar.cpp
src/ui/controls/FUiCtrl_Slider.cpp
src/ui/inc/FUiCtrl_SearchBar.h

index b29bec4..1a2f20d 100644 (file)
@@ -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();
index a3fccb5..5d713cd 100644 (file)
@@ -986,11 +986,6 @@ _EditDate::UpdateAccessibilityElement(void)
        String dayString;
        String space(L" ");
 
-       if (likely(!(_AccessibilityManager::IsActivated())))
-       {
-               return;
-       }
-
        if (__pAccessibilityEditDateElement == null)
        {
                return;
index 66400a5..f374bcd 100644 (file)
@@ -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)
        {
index b12ca69..8dddd0d 100644 (file)
@@ -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;
index 851d41c..3894b27 100644 (file)
@@ -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)
index 6dd3f62..9cf09a0 100644 (file)
@@ -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;
 }
 
index 3c7a481..49665b0 100644 (file)
@@ -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