2 * Copyright (c) 2014 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.
18 #include "toolkit-accessibility-manager.h"
20 #include <dali/public-api/common/dali-common.h>
21 #include <dali/public-api/object/base-object.h>
22 #include <dali/public-api/signals/dali-signal-v2.h>
29 ToolkitAccessibilityManager* gToolkitAccessibilityManager(NULL);
30 } // unnamed namespace
39 * Stub for the AccessibilityManager
41 class AccessibilityManager : public BaseObject
43 public: // Creation & Destruction
45 static Dali::AccessibilityManager Get();
47 AccessibilityManager();
48 AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector);
49 ~AccessibilityManager();
53 bool IsEnabled() const;
54 void SetActionHandler(Dali::AccessibilityActionHandler& handler);
55 void SetGestureHandler(Dali::AccessibilityGestureHandler& handler);
59 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalStatusChanged();
60 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionNext();
61 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionPrevious();
62 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionActivate();
63 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionRead();
64 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadNext();
65 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadPrevious();
66 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionUp();
67 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionDown();
68 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionClearFocus();
69 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionBack();
70 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionControlPanelOpen();
74 ToolkitAccessibilityManager* mToolkitAccessibilityManager;
75 Dali::AccessibilityManager::AccessibilityActionSignalV2 mStatusChangedSignal;
76 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionNextSignal;
77 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionPreviousSignal;
78 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionActivateSignal;
79 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadSignal;
80 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadNextSignal;
81 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadPreviousSignal;
82 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionUpSignal;
83 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionDownSignal;
84 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionClearFocusSignal;
85 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionBackSignal;
86 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionControlPanelOpenSignal;
89 Dali::AccessibilityActionHandler* mActionHandler;
90 Dali::AccessibilityGestureHandler* mGestureHandler;
94 Dali::AccessibilityManager AccessibilityManager::Get()
96 return gToolkitAccessibilityManager->GetAccessibilityManager();
99 AccessibilityManager::AccessibilityManager()
100 : mToolkitAccessibilityManager(NULL),
105 AccessibilityManager::AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector)
106 : mToolkitAccessibilityManager(accessibilityActionDetector),
111 AccessibilityManager::~AccessibilityManager()
115 bool AccessibilityManager::IsEnabled() const
120 void AccessibilityManager::SetActionHandler(Dali::AccessibilityActionHandler& handler)
122 mActionHandler = &handler;
125 void AccessibilityManager::SetGestureHandler(Dali::AccessibilityGestureHandler& handler)
127 mGestureHandler = &handler;
130 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalStatusChanged()
132 return mStatusChangedSignal;
135 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionNext()
137 return mActionNextSignal;
140 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionPrevious()
142 return mActionPreviousSignal;
145 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionActivate()
147 return mActionActivateSignal;
150 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionRead()
152 return mActionReadSignal;
155 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadNext()
157 return mActionReadNextSignal;
160 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadPrevious()
162 return mActionReadPreviousSignal;
165 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionUp()
167 return mActionUpSignal;
170 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionDown()
172 return mActionDownSignal;
175 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionClearFocus()
177 return mActionClearFocusSignal;
180 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionBack()
182 return mActionBackSignal;
185 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionControlPanelOpen()
187 return mActionControlPanelOpenSignal;
190 } // namespace Adaptor
192 } // namespace Internal
194 ////////////////////////////////////////////////////////////////////////////////////////////////////
196 ToolkitAccessibilityManager::ToolkitAccessibilityManager()
197 : mAccessibilityManagerStub(new Internal::Adaptor::AccessibilityManager(this)),
198 mAccessibilityManager( mAccessibilityManagerStub )
200 gToolkitAccessibilityManager = this;
203 ToolkitAccessibilityManager::~ToolkitAccessibilityManager()
205 gToolkitAccessibilityManager = NULL;
208 AccessibilityManager ToolkitAccessibilityManager::GetAccessibilityManager()
210 return mAccessibilityManager;