Changed indicator bg color.
[platform/framework/native/uifw.git] / src / ui / FUi_AccessibilityElementImpl.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0/
10 //
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.
16 //
17
18 #include <FBaseString.h>
19 #include <FGrpFloatRectangle.h>
20 #include <FUiAccessibilityElement.h>
21 #include <FBaseSysLog.h>
22 #include "FUi_AccessibilityElementImpl.h"
23 #include "FUi_AccessibilityElement.h"
24
25 namespace Tizen { namespace Ui
26 {
27 _AccessibilityElementImpl::_AccessibilityElementImpl(const AccessibilityElement& element)
28         : __pPublic(null)
29         , __pCore(null)
30 {
31         __pPublic = &const_cast<AccessibilityElement&>(element);
32         __pCore = new (std::nothrow) _AccessibilityElement(false);
33         SysTryReturn(NID_UI, __pCore, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation is failed");
34         __pCore->SetUserData(this);
35 }
36 _AccessibilityElementImpl::_AccessibilityElementImpl(const _AccessibilityElement& element)
37         : __pPublic(null)
38         , __pCore(null)
39 {
40         __pPublic = new (std::nothrow) AccessibilityElement();
41         SysTryReturn(NID_UI, __pPublic, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation is failed");
42         __pPublic->__pAccessibilityElementImpl = this;
43         __pCore = &const_cast<_AccessibilityElement&>(element);
44         __pCore->SetUserData(this);
45 }
46 _AccessibilityElementImpl::~_AccessibilityElementImpl(void)
47 {
48         if (__pCore)
49         {
50                 if(__pCore->IsSystemElement())
51                 {
52                         __pCore->Activate(false);
53                         __pCore->SetUserData(null);
54                         __pCore = null;
55                 }
56                 else
57                 {
58                         _AccessibilityContainer* pContainer = __pCore->GetParent();
59                         if(pContainer != null)
60                         {
61                                 pContainer->RemoveElement(*__pCore);
62                         }
63                         else
64                         {
65                                 delete __pCore;
66                         }
67                         __pCore = null;
68                 }
69         }
70 }
71
72 result
73 _AccessibilityElementImpl::Construct(const Tizen::Base::String& name, const Tizen::Graphics::FloatRectangle& bounds)
74 {
75         SysTryReturn(NID_UI, __pCore, E_SYSTEM, E_SYSTEM, "[E_SYSTEM] System Error.");
76         return __pCore->Construct(name, bounds);
77 }
78 void
79 _AccessibilityElementImpl::SetBounds(const Tizen::Graphics::FloatRectangle& bounds)
80 {
81         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
82         return __pCore->SetBounds(bounds);
83 }
84 void
85 _AccessibilityElementImpl::SetName(const Tizen::Base::String& name)
86 {
87         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
88         return __pCore->SetName(name);
89 }
90 void
91 _AccessibilityElementImpl::SetLabel(const Tizen::Base::String& label)
92 {
93         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
94         return __pCore->SetLabel(label);
95 }
96 void
97 _AccessibilityElementImpl::SetHint(const Tizen::Base::String& hint)
98 {
99         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
100         return __pCore->SetHint(hint, true);
101 }
102 void
103 _AccessibilityElementImpl::SetStatus(const Tizen::Base::String& status)
104 {
105         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
106         return __pCore->SetStatus(status);
107 }
108 void
109 _AccessibilityElementImpl::SetTrait(const Tizen::Base::String& trait)
110 {
111         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
112         return __pCore->SetTrait(trait);
113 }
114 void
115 _AccessibilityElementImpl::SetValue(const Tizen::Base::String& value)
116 {
117         SysTryReturn(NID_UI, __pCore, , E_SYSTEM, "[E_SYSTEM] System Error.");
118         return __pCore->SetValue(value);
119 }
120 void
121 _AccessibilityElementImpl::SetCore(_AccessibilityElement* pCore)
122 {
123         __pCore = pCore;
124 }
125 _AccessibilityElement&
126 _AccessibilityElementImpl::GetCore()
127 {
128         return *__pCore;
129 }
130 const _AccessibilityElement&
131 _AccessibilityElementImpl::GetCore() const
132 {
133         return *__pCore;
134 }
135 AccessibilityElement&
136 _AccessibilityElementImpl::GetPublic()
137 {
138         return *__pPublic;
139 }
140 const AccessibilityElement&
141 _AccessibilityElementImpl::GetPublic() const
142 {
143         return *__pPublic;
144 }
145 Tizen::Base::String
146 _AccessibilityElementImpl::GetName(void) const
147 {
148         SysTryReturn(NID_UI, __pCore, L"", E_SYSTEM, "[E_SYSTEM] System Error.");
149         return __pCore->GetName();
150 }
151 Tizen::Graphics::FloatRectangle
152 _AccessibilityElementImpl::GetBounds(void) const
153 {
154         SysTryReturn(NID_UI, __pCore, Tizen::Graphics::FloatRectangle(0, 0, 0, 0), E_SYSTEM, "[E_SYSTEM] System Error.");
155         return __pCore->GetBounds();
156 }
157 Tizen::Base::String
158 _AccessibilityElementImpl::GetLabel(void) const
159 {
160         SysTryReturn(NID_UI, __pCore, L"", E_SYSTEM, "[E_SYSTEM] System Error.");
161         return __pCore->GetLabel();
162 }
163 Tizen::Base::String
164 _AccessibilityElementImpl::GetHint(void) const
165 {
166         SysTryReturn(NID_UI, __pCore, L"", E_SYSTEM, "[E_SYSTEM] System Error.");
167         return __pCore->GetHint();
168 }
169 Tizen::Base::String
170 _AccessibilityElementImpl::GetStatus(void) const
171 {
172         SysTryReturn(NID_UI, __pCore, L"", E_SYSTEM, "[E_SYSTEM] System Error.");
173         return __pCore->GetStatus();
174 }
175 Tizen::Base::String
176 _AccessibilityElementImpl::GetTraitString(void) const
177 {
178         SysTryReturn(NID_UI, __pCore, L"", E_SYSTEM, "[E_SYSTEM] System Error.");
179         return __pCore->GetTraitString();
180 }
181 Tizen::Base::String
182 _AccessibilityElementImpl::GetValue(void) const
183 {
184         SysTryReturn(NID_UI, __pCore, -1, E_SYSTEM, "[E_SYSTEM] System Error.");
185         return __pCore->GetValue();
186 }
187 _AccessibilityElementImpl*
188 _AccessibilityElementImpl::GetInstance(AccessibilityElement& element)
189 {
190         return static_cast<_AccessibilityElementImpl*> (element.__pAccessibilityElementImpl);
191 }
192 const _AccessibilityElementImpl*
193 _AccessibilityElementImpl::GetInstance(const AccessibilityElement& element)
194 {
195         return static_cast<_AccessibilityElementImpl*> (element.__pAccessibilityElementImpl);
196 }
197
198 }}//Tizen::Ui