[dali_1.4.9] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / accessibility-manager / accessibility-manager.cpp
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
20
21 // EXTERNAL INCLUDES
22 #include <dali/integration-api/debug.h>
23 #include <dali/devel-api/adaptor-framework/singleton-service.h>
24
25 // INTERNAL INCLUDES
26 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
27
28 namespace Dali
29 {
30
31 namespace Toolkit
32 {
33
34 AccessibilityManager::AccessibilityManager()
35 {
36 }
37
38 AccessibilityManager::~AccessibilityManager()
39 {
40 }
41
42 AccessibilityManager AccessibilityManager::Get()
43 {
44   AccessibilityManager manager;
45
46   // Check whether the accessibility manager is already created
47   SingletonService singletonService( SingletonService::Get() );
48   if ( singletonService )
49   {
50     Dali::BaseHandle handle = singletonService.GetSingleton(typeid(AccessibilityManager));
51     if(handle)
52     {
53       // If so, downcast the handle of singleton to focus manager
54       manager = AccessibilityManager(dynamic_cast<Internal::AccessibilityManager*>(handle.GetObjectPtr()));
55     }
56
57     if(!manager)
58     {
59       // If not, create the accessibility manager and register it as a singleton
60       Internal::AccessibilityManager* internalManager = new Internal::AccessibilityManager();
61       manager = AccessibilityManager( internalManager );
62       internalManager->Initialise();
63       singletonService.Register( typeid(manager), manager );
64     }
65   }
66
67   return manager;
68 }
69
70 AccessibilityManager::AccessibilityManager(Internal::AccessibilityManager *impl)
71   : BaseHandle(impl)
72 {
73 }
74
75 void AccessibilityManager::SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text)
76 {
77   GetImpl(*this).SetAccessibilityAttribute(actor, type, text);
78 }
79
80 std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const
81 {
82   return GetImpl(*this).GetAccessibilityAttribute(actor, type);
83 }
84
85 void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order)
86 {
87   GetImpl(*this).SetFocusOrder(actor, order);
88 }
89
90 unsigned int AccessibilityManager::GetFocusOrder(Actor actor) const
91 {
92   return GetImpl(*this).GetFocusOrder(actor);
93 }
94
95 unsigned int AccessibilityManager::GenerateNewFocusOrder() const
96 {
97   return GetImpl(*this).GenerateNewFocusOrder();
98 }
99
100 Actor AccessibilityManager::GetActorByFocusOrder(const unsigned int order)
101 {
102   return GetImpl(*this).GetActorByFocusOrder(order);
103 }
104
105 bool AccessibilityManager::SetCurrentFocusActor(Actor actor)
106 {
107   return GetImpl(*this).SetCurrentFocusActor(actor);
108 }
109
110 Actor AccessibilityManager::GetCurrentFocusActor()
111 {
112   return GetImpl(*this).GetCurrentFocusActor();
113 }
114
115 Actor AccessibilityManager::GetCurrentFocusGroup()
116 {
117   return GetImpl(*this).GetCurrentFocusGroup();
118 }
119
120 unsigned int AccessibilityManager::GetCurrentFocusOrder()
121 {
122   return GetImpl(*this).GetCurrentFocusOrder();
123 }
124
125 bool AccessibilityManager::MoveFocusForward()
126 {
127   return GetImpl(*this).MoveFocusForward();
128 }
129
130 bool AccessibilityManager::MoveFocusBackward()
131 {
132   return GetImpl(*this).MoveFocusBackward();
133 }
134
135 void AccessibilityManager::ClearFocus()
136 {
137   GetImpl(*this).ClearFocus();
138 }
139
140 void AccessibilityManager::Reset()
141 {
142   GetImpl(*this).Reset();
143 }
144
145 void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup)
146 {
147   GetImpl(*this).SetFocusGroup(actor, isFocusGroup);
148 }
149
150 bool AccessibilityManager::IsFocusGroup(Actor actor) const
151 {
152   return GetImpl(*this).IsFocusGroup(actor);
153 }
154
155 void AccessibilityManager::SetGroupMode(bool enabled)
156 {
157   GetImpl(*this).SetGroupMode(enabled);
158 }
159
160 bool AccessibilityManager::GetGroupMode() const
161 {
162   return GetImpl(*this).GetGroupMode();
163 }
164
165 void AccessibilityManager::SetWrapMode(bool wrapped)
166 {
167   GetImpl(*this).SetWrapMode(wrapped);
168 }
169
170 bool AccessibilityManager::GetWrapMode() const
171 {
172   return GetImpl(*this).GetWrapMode();
173 }
174
175 void AccessibilityManager::SetFocusIndicatorActor(Actor indicator)
176 {
177   GetImpl(*this).SetFocusIndicatorActor(indicator);
178 }
179
180 Actor AccessibilityManager::GetFocusIndicatorActor()
181 {
182   return GetImpl(*this).GetFocusIndicatorActor();
183 }
184
185 Actor AccessibilityManager::GetFocusGroup(Actor actor)
186 {
187   return GetImpl(*this).GetFocusGroup(actor);
188 }
189
190 Vector2 AccessibilityManager::GetReadPosition() const
191 {
192   return GetImpl(*this).GetReadPosition();
193 }
194
195 AccessibilityManager::FocusChangedSignalType& AccessibilityManager::FocusChangedSignal()
196 {
197   return GetImpl(*this).FocusChangedSignal();
198 }
199
200 AccessibilityManager::FocusOvershotSignalType& AccessibilityManager::FocusOvershotSignal()
201 {
202   return GetImpl(*this).FocusOvershotSignal();
203 }
204
205 AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityManager::FocusedActorActivatedSignal()
206 {
207   return GetImpl(*this).FocusedActorActivatedSignal();
208 }
209
210 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::StatusChangedSignal()
211 {
212   return GetImpl(*this).StatusChangedSignal();
213 }
214
215 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionNextSignal()
216 {
217   return GetImpl(*this).ActionNextSignal();
218 }
219
220 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPreviousSignal()
221 {
222   return GetImpl(*this).ActionPreviousSignal();
223 }
224
225 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionActivateSignal()
226 {
227   return GetImpl(*this).ActionActivateSignal();
228 }
229
230 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionOverSignal()
231 {
232   return GetImpl(*this).ActionOverSignal();
233 }
234
235 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadSignal()
236 {
237   return GetImpl(*this).ActionReadSignal();
238 }
239
240 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadNextSignal()
241 {
242   return GetImpl(*this).ActionReadNextSignal();
243 }
244
245 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPreviousSignal()
246 {
247   return GetImpl(*this).ActionReadPreviousSignal();
248 }
249
250 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionUpSignal()
251 {
252   return GetImpl(*this).ActionUpSignal();
253 }
254
255 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionDownSignal()
256 {
257   return GetImpl(*this).ActionDownSignal();
258 }
259
260 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionClearFocusSignal()
261 {
262   return GetImpl(*this).ActionClearFocusSignal();
263 }
264
265 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionBackSignal()
266 {
267   return GetImpl(*this).ActionBackSignal();
268 }
269
270 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollUpSignal()
271 {
272   return GetImpl(*this).ActionScrollUpSignal();
273 }
274
275 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollDownSignal()
276 {
277   return GetImpl(*this).ActionScrollDownSignal();
278 }
279
280 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageLeftSignal()
281 {
282   return GetImpl(*this).ActionPageLeftSignal();
283 }
284
285 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageRightSignal()
286 {
287   return GetImpl(*this).ActionPageRightSignal();
288 }
289
290 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageUpSignal()
291 {
292   return GetImpl(*this).ActionPageUpSignal();
293 }
294
295 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageDownSignal()
296 {
297   return GetImpl(*this).ActionPageDownSignal();
298 }
299
300 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToFirstSignal()
301 {
302   return GetImpl(*this).ActionMoveToFirstSignal();
303 }
304
305 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToLastSignal()
306 {
307   return GetImpl(*this).ActionMoveToLastSignal();
308 }
309
310 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromTopSignal()
311 {
312   return GetImpl(*this).ActionReadFromTopSignal();
313 }
314
315 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromNextSignal()
316 {
317   return GetImpl(*this).ActionReadFromNextSignal();
318 }
319
320 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionZoomSignal()
321 {
322   return GetImpl(*this).ActionZoomSignal();
323 }
324
325 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadIndicatorInformationSignal()
326 {
327   DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: ActionReadIndicatorInformationSignal is deprecated and will be removed from next release.\n" );
328
329   return GetImpl(*this).ActionReadIndicatorInformationSignal();
330 }
331
332 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPauseResumeSignal()
333 {
334   return GetImpl(*this).ActionReadPauseResumeSignal();
335 }
336
337 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionStartStopSignal()
338 {
339   return GetImpl(*this).ActionStartStopSignal();
340 }
341
342 AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager::ActionScrollSignal()
343 {
344   return GetImpl(*this).ActionScrollSignal();
345 }
346
347 } // namespace Toolkit
348
349 } // namespace Dali