2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
22 #include <dali/devel-api/adaptor-framework/singleton-service.h>
25 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
33 AccessibilityManager::AccessibilityManager()
37 AccessibilityManager::~AccessibilityManager()
41 AccessibilityManager AccessibilityManager::Get()
43 AccessibilityManager manager;
45 // Check whether the accessibility manager is already created
46 SingletonService singletonService( SingletonService::Get() );
47 if ( singletonService )
49 Dali::BaseHandle handle = singletonService.GetSingleton(typeid(AccessibilityManager));
52 // If so, downcast the handle of singleton to focus manager
53 manager = AccessibilityManager(dynamic_cast<Internal::AccessibilityManager*>(handle.GetObjectPtr()));
58 // If not, create the accessibility manager and register it as a singleton
59 Internal::AccessibilityManager* internalManager = new Internal::AccessibilityManager();
60 manager = AccessibilityManager( internalManager );
61 internalManager->Initialise();
62 singletonService.Register( typeid(manager), manager );
69 AccessibilityManager::AccessibilityManager(Internal::AccessibilityManager *impl)
74 void AccessibilityManager::SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text)
76 GetImpl(*this).SetAccessibilityAttribute(actor, type, text);
79 std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const
81 return GetImpl(*this).GetAccessibilityAttribute(actor, type);
84 void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order)
86 GetImpl(*this).SetFocusOrder(actor, order);
89 unsigned int AccessibilityManager::GetFocusOrder(Actor actor) const
91 return GetImpl(*this).GetFocusOrder(actor);
94 unsigned int AccessibilityManager::GenerateNewFocusOrder() const
96 return GetImpl(*this).GenerateNewFocusOrder();
99 Actor AccessibilityManager::GetActorByFocusOrder(const unsigned int order)
101 return GetImpl(*this).GetActorByFocusOrder(order);
104 bool AccessibilityManager::SetCurrentFocusActor(Actor actor)
106 return GetImpl(*this).SetCurrentFocusActor(actor);
109 Actor AccessibilityManager::GetCurrentFocusActor()
111 return GetImpl(*this).GetCurrentFocusActor();
114 Actor AccessibilityManager::GetCurrentFocusGroup()
116 return GetImpl(*this).GetCurrentFocusGroup();
119 unsigned int AccessibilityManager::GetCurrentFocusOrder()
121 return GetImpl(*this).GetCurrentFocusOrder();
124 bool AccessibilityManager::MoveFocusForward()
126 return GetImpl(*this).MoveFocusForward();
129 bool AccessibilityManager::MoveFocusBackward()
131 return GetImpl(*this).MoveFocusBackward();
134 void AccessibilityManager::ClearFocus()
136 GetImpl(*this).ClearFocus();
139 void AccessibilityManager::Reset()
141 GetImpl(*this).Reset();
144 void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup)
146 GetImpl(*this).SetFocusGroup(actor, isFocusGroup);
149 bool AccessibilityManager::IsFocusGroup(Actor actor) const
151 return GetImpl(*this).IsFocusGroup(actor);
154 void AccessibilityManager::SetGroupMode(bool enabled)
156 GetImpl(*this).SetGroupMode(enabled);
159 bool AccessibilityManager::GetGroupMode() const
161 return GetImpl(*this).GetGroupMode();
164 void AccessibilityManager::SetWrapMode(bool wrapped)
166 GetImpl(*this).SetWrapMode(wrapped);
169 bool AccessibilityManager::GetWrapMode() const
171 return GetImpl(*this).GetWrapMode();
174 void AccessibilityManager::SetFocusIndicatorActor(Actor indicator)
176 GetImpl(*this).SetFocusIndicatorActor(indicator);
179 Actor AccessibilityManager::GetFocusIndicatorActor()
181 return GetImpl(*this).GetFocusIndicatorActor();
184 Actor AccessibilityManager::GetFocusGroup(Actor actor)
186 return GetImpl(*this).GetFocusGroup(actor);
189 Vector2 AccessibilityManager::GetReadPosition() const
191 return GetImpl(*this).GetReadPosition();
194 AccessibilityManager::FocusChangedSignalType& AccessibilityManager::FocusChangedSignal()
196 return GetImpl(*this).FocusChangedSignal();
199 AccessibilityManager::FocusOvershotSignalType& AccessibilityManager::FocusOvershotSignal()
201 return GetImpl(*this).FocusOvershotSignal();
204 AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityManager::FocusedActorActivatedSignal()
206 return GetImpl(*this).FocusedActorActivatedSignal();
209 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::StatusChangedSignal()
211 return GetImpl(*this).StatusChangedSignal();
214 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionNextSignal()
216 return GetImpl(*this).ActionNextSignal();
219 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPreviousSignal()
221 return GetImpl(*this).ActionPreviousSignal();
224 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionActivateSignal()
226 return GetImpl(*this).ActionActivateSignal();
229 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionOverSignal()
231 return GetImpl(*this).ActionOverSignal();
234 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadSignal()
236 return GetImpl(*this).ActionReadSignal();
239 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadNextSignal()
241 return GetImpl(*this).ActionReadNextSignal();
244 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPreviousSignal()
246 return GetImpl(*this).ActionReadPreviousSignal();
249 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionUpSignal()
251 return GetImpl(*this).ActionUpSignal();
254 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionDownSignal()
256 return GetImpl(*this).ActionDownSignal();
259 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionClearFocusSignal()
261 return GetImpl(*this).ActionClearFocusSignal();
264 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionBackSignal()
266 return GetImpl(*this).ActionBackSignal();
269 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollUpSignal()
271 return GetImpl(*this).ActionScrollUpSignal();
274 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollDownSignal()
276 return GetImpl(*this).ActionScrollDownSignal();
279 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageLeftSignal()
281 return GetImpl(*this).ActionPageLeftSignal();
284 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageRightSignal()
286 return GetImpl(*this).ActionPageRightSignal();
289 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageUpSignal()
291 return GetImpl(*this).ActionPageUpSignal();
294 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageDownSignal()
296 return GetImpl(*this).ActionPageDownSignal();
299 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToFirstSignal()
301 return GetImpl(*this).ActionMoveToFirstSignal();
304 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToLastSignal()
306 return GetImpl(*this).ActionMoveToLastSignal();
309 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromTopSignal()
311 return GetImpl(*this).ActionReadFromTopSignal();
314 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromNextSignal()
316 return GetImpl(*this).ActionReadFromNextSignal();
319 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionZoomSignal()
321 return GetImpl(*this).ActionZoomSignal();
324 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadIndicatorInformationSignal()
326 return GetImpl(*this).ActionReadIndicatorInformationSignal();
329 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPauseResumeSignal()
331 return GetImpl(*this).ActionReadPauseResumeSignal();
334 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionStartStopSignal()
336 return GetImpl(*this).ActionStartStopSignal();
339 AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager::ActionScrollSignal()
341 return GetImpl(*this).ActionScrollSignal();
344 } // namespace Toolkit