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/devel-api/accessibility-manager/accessibility-manager.h>
22 #include <dali/integration-api/debug.h>
23 #include <dali/devel-api/common/singleton-service.h>
26 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
34 AccessibilityManager::AccessibilityManager()
38 AccessibilityManager::~AccessibilityManager()
42 AccessibilityManager AccessibilityManager::Get()
44 AccessibilityManager manager;
46 // Check whether the accessibility manager is already created
47 SingletonService singletonService( SingletonService::Get() );
48 if ( singletonService )
50 Dali::BaseHandle handle = singletonService.GetSingleton(typeid(AccessibilityManager));
53 // If so, downcast the handle of singleton to focus manager
54 manager = AccessibilityManager(dynamic_cast<Internal::AccessibilityManager*>(handle.GetObjectPtr()));
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 );
70 AccessibilityManager::AccessibilityManager(Internal::AccessibilityManager *impl)
75 void AccessibilityManager::SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text)
77 GetImpl(*this).SetAccessibilityAttribute(actor, type, text);
80 std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const
82 return GetImpl(*this).GetAccessibilityAttribute(actor, type);
85 void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order)
87 GetImpl(*this).SetFocusOrder(actor, order);
90 unsigned int AccessibilityManager::GetFocusOrder(Actor actor) const
92 return GetImpl(*this).GetFocusOrder(actor);
95 unsigned int AccessibilityManager::GenerateNewFocusOrder() const
97 return GetImpl(*this).GenerateNewFocusOrder();
100 Actor AccessibilityManager::GetActorByFocusOrder(const unsigned int order)
102 return GetImpl(*this).GetActorByFocusOrder(order);
105 bool AccessibilityManager::SetCurrentFocusActor(Actor actor)
107 return GetImpl(*this).SetCurrentFocusActor(actor);
110 Actor AccessibilityManager::GetCurrentFocusActor()
112 return GetImpl(*this).GetCurrentFocusActor();
115 Actor AccessibilityManager::GetCurrentFocusGroup()
117 return GetImpl(*this).GetCurrentFocusGroup();
120 unsigned int AccessibilityManager::GetCurrentFocusOrder()
122 return GetImpl(*this).GetCurrentFocusOrder();
125 bool AccessibilityManager::MoveFocusForward()
127 return GetImpl(*this).MoveFocusForward();
130 bool AccessibilityManager::MoveFocusBackward()
132 return GetImpl(*this).MoveFocusBackward();
135 void AccessibilityManager::ClearFocus()
137 GetImpl(*this).ClearFocus();
140 void AccessibilityManager::Reset()
142 GetImpl(*this).Reset();
145 void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup)
147 GetImpl(*this).SetFocusGroup(actor, isFocusGroup);
150 bool AccessibilityManager::IsFocusGroup(Actor actor) const
152 return GetImpl(*this).IsFocusGroup(actor);
155 void AccessibilityManager::SetGroupMode(bool enabled)
157 GetImpl(*this).SetGroupMode(enabled);
160 bool AccessibilityManager::GetGroupMode() const
162 return GetImpl(*this).GetGroupMode();
165 void AccessibilityManager::SetWrapMode(bool wrapped)
167 GetImpl(*this).SetWrapMode(wrapped);
170 bool AccessibilityManager::GetWrapMode() const
172 return GetImpl(*this).GetWrapMode();
175 void AccessibilityManager::SetFocusIndicatorActor(Actor indicator)
177 GetImpl(*this).SetFocusIndicatorActor(indicator);
180 Actor AccessibilityManager::GetFocusIndicatorActor()
182 return GetImpl(*this).GetFocusIndicatorActor();
185 Actor AccessibilityManager::GetFocusGroup(Actor actor)
187 return GetImpl(*this).GetFocusGroup(actor);
190 Vector2 AccessibilityManager::GetReadPosition() const
192 return GetImpl(*this).GetReadPosition();
195 AccessibilityManager::FocusChangedSignalType& AccessibilityManager::FocusChangedSignal()
197 return GetImpl(*this).FocusChangedSignal();
200 AccessibilityManager::FocusOvershotSignalType& AccessibilityManager::FocusOvershotSignal()
202 return GetImpl(*this).FocusOvershotSignal();
205 AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityManager::FocusedActorActivatedSignal()
207 return GetImpl(*this).FocusedActorActivatedSignal();
210 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::StatusChangedSignal()
212 return GetImpl(*this).StatusChangedSignal();
215 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionNextSignal()
217 return GetImpl(*this).ActionNextSignal();
220 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPreviousSignal()
222 return GetImpl(*this).ActionPreviousSignal();
225 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionActivateSignal()
227 return GetImpl(*this).ActionActivateSignal();
230 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionOverSignal()
232 return GetImpl(*this).ActionOverSignal();
235 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadSignal()
237 return GetImpl(*this).ActionReadSignal();
240 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadNextSignal()
242 return GetImpl(*this).ActionReadNextSignal();
245 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPreviousSignal()
247 return GetImpl(*this).ActionReadPreviousSignal();
250 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionUpSignal()
252 return GetImpl(*this).ActionUpSignal();
255 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionDownSignal()
257 return GetImpl(*this).ActionDownSignal();
260 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionClearFocusSignal()
262 return GetImpl(*this).ActionClearFocusSignal();
265 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionBackSignal()
267 return GetImpl(*this).ActionBackSignal();
270 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollUpSignal()
272 return GetImpl(*this).ActionScrollUpSignal();
275 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollDownSignal()
277 return GetImpl(*this).ActionScrollDownSignal();
280 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageLeftSignal()
282 return GetImpl(*this).ActionPageLeftSignal();
285 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageRightSignal()
287 return GetImpl(*this).ActionPageRightSignal();
290 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageUpSignal()
292 return GetImpl(*this).ActionPageUpSignal();
295 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageDownSignal()
297 return GetImpl(*this).ActionPageDownSignal();
300 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToFirstSignal()
302 return GetImpl(*this).ActionMoveToFirstSignal();
305 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToLastSignal()
307 return GetImpl(*this).ActionMoveToLastSignal();
310 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromTopSignal()
312 return GetImpl(*this).ActionReadFromTopSignal();
315 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromNextSignal()
317 return GetImpl(*this).ActionReadFromNextSignal();
320 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionZoomSignal()
322 return GetImpl(*this).ActionZoomSignal();
325 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadIndicatorInformationSignal()
327 DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: ActionReadIndicatorInformationSignal is deprecated and will be removed from next release.\n" );
329 return GetImpl(*this).ActionReadIndicatorInformationSignal();
332 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPauseResumeSignal()
334 return GetImpl(*this).ActionReadPauseResumeSignal();
337 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionStartStopSignal()
339 return GetImpl(*this).ActionStartStopSignal();
342 AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager::ActionScrollSignal()
344 return GetImpl(*this).ActionScrollSignal();
347 } // namespace Toolkit