2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an ”AS IS” BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FUiAccessibilityContainer.cpp
19 * @brief This is the implementation for the AccessibilityContainer class.
22 #include <FBaseString.h>
23 #include <FUiAccessibilityElement.h>
24 #include <FUiAccessibilityContainer.h>
25 #include <FUiControl.h>
26 #include <FBaseSysLog.h>
27 #include "FUi_AccessibilityElementImpl.h"
28 #include "FUi_AccessibilityContainerImpl.h"
29 #include "FUi_ControlImpl.h"
31 using namespace Tizen::Base;
32 using namespace Tizen::Base::Collection;
34 namespace Tizen { namespace Ui {
35 AccessibilityContainer::AccessibilityContainer(void)
36 :__pAccessibilityContainerImpl(null)
40 AccessibilityContainer::~AccessibilityContainer(void)
45 AccessibilityContainer::GetOwner(void) const
47 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
48 return &(__pAccessibilityContainerImpl->GetOwner().GetPublic());
52 AccessibilityContainer::GetOwner(void)
54 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
55 return &(__pAccessibilityContainerImpl->GetOwner().GetPublic());
59 AccessibilityContainer::AddAccessibilityListener(IAccessibilityListener& listener)
61 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
62 result r = __pAccessibilityContainerImpl->AddAccessibilityListener(listener);
63 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Failed to add a listener. ",GetErrorMessage(r));
68 AccessibilityContainer::RemoveAccessibilityListener(IAccessibilityListener& listener)
70 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
71 result r = __pAccessibilityContainerImpl->RemoveAccessibilityListener(listener);
72 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Failed to Remove a listener. ",GetErrorMessage(r));
78 AccessibilityContainer::GetElement(const String& name) const
80 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
82 AccessibilityElement* pElement = __pAccessibilityContainerImpl->GetChildElement(name);
83 SysTryReturn(NID_UI, pElement, null, E_SYSTEM, "[E_SYSTEM] Getting a child by name is failed..");
88 AccessibilityContainer::AddElement(AccessibilityElement& element)
90 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
92 return __pAccessibilityContainerImpl->AddElement(*_AccessibilityElementImpl::GetInstance(element));
96 //AccessibilityContainer::InsertElement(AccessibilityElement* pPreviousElement, AccessibilityElement& element)
99 // return __pAccessibilityContainerImpl->MoveElement(_AccessibilityElementImpl::GetInstance(*pPreviousElement)
100 // , *(_AccessibilityElementImpl::GetInstance(element)));
104 AccessibilityContainer::GetElementsN(void) const
106 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
107 return __pAccessibilityContainerImpl->GetElementsN();
111 AccessibilityContainer::RemoveElement(AccessibilityElement& element)
113 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
115 return __pAccessibilityContainerImpl->RemoveElement(*_AccessibilityElementImpl::GetInstance(element));
119 AccessibilityContainer::RemoveAllElements(void)
121 SysAssertf(__pAccessibilityContainerImpl != null, "Not constructed properly by platform.");
122 __pAccessibilityContainerImpl->RemoveAllElement();
126 //AccessibilityContainer::MoveElement(AccessibilityElement* pPreviousElement, AccessibilityElement& element)
128 // ClearLastResult();
129 // return __pAccessibilityContainerImpl->MoveElement(_AccessibilityElementImpl::GetInstance(*pPreviousElement)
130 // , *(_AccessibilityElementImpl::GetInstance(element)));