2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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.
17 #include "toolkit-accessibility-manager.h"
19 #include <dali/public-api/common/dali-common.h>
20 #include <dali/public-api/object/base-object.h>
21 #include <dali/public-api/signals/dali-signal-v2.h>
28 ToolkitAccessibilityManager* gToolkitAccessibilityManager(NULL);
29 } // unnamed namespace
38 * Stub for the AccessibilityManager
40 class AccessibilityManager : public BaseObject
42 public: // Creation & Destruction
44 static Dali::AccessibilityManager Get();
46 AccessibilityManager();
47 AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector);
48 ~AccessibilityManager();
52 bool IsEnabled() const;
53 void SetActionHandler(Dali::AccessibilityActionHandler& handler);
54 void SetGestureHandler(Dali::AccessibilityGestureHandler& handler);
58 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalStatusChanged();
59 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionNext();
60 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionPrevious();
61 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionActivate();
62 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionRead();
63 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadNext();
64 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionReadPrevious();
65 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionUp();
66 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionDown();
67 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionClearFocus();
68 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionBack();
69 Dali::AccessibilityManager::AccessibilityActionSignalV2& SignalActionControlPanelOpen();
73 ToolkitAccessibilityManager* mToolkitAccessibilityManager;
74 Dali::AccessibilityManager::AccessibilityActionSignalV2 mStatusChangedSignal;
75 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionNextSignal;
76 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionPreviousSignal;
77 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionActivateSignal;
78 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadSignal;
79 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadNextSignal;
80 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionReadPreviousSignal;
81 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionUpSignal;
82 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionDownSignal;
83 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionClearFocusSignal;
84 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionBackSignal;
85 Dali::AccessibilityManager::AccessibilityActionSignalV2 mActionControlPanelOpenSignal;
88 Dali::AccessibilityActionHandler* mActionHandler;
89 Dali::AccessibilityGestureHandler* mGestureHandler;
93 Dali::AccessibilityManager AccessibilityManager::Get()
95 return gToolkitAccessibilityManager->GetAccessibilityManager();
98 AccessibilityManager::AccessibilityManager()
99 : mToolkitAccessibilityManager(NULL),
104 AccessibilityManager::AccessibilityManager(ToolkitAccessibilityManager *accessibilityActionDetector)
105 : mToolkitAccessibilityManager(accessibilityActionDetector),
110 AccessibilityManager::~AccessibilityManager()
114 bool AccessibilityManager::IsEnabled() const
119 void AccessibilityManager::SetActionHandler(Dali::AccessibilityActionHandler& handler)
121 mActionHandler = &handler;
124 void AccessibilityManager::SetGestureHandler(Dali::AccessibilityGestureHandler& handler)
126 mGestureHandler = &handler;
129 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalStatusChanged()
131 return mStatusChangedSignal;
134 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionNext()
136 return mActionNextSignal;
139 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionPrevious()
141 return mActionPreviousSignal;
144 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionActivate()
146 return mActionActivateSignal;
149 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionRead()
151 return mActionReadSignal;
154 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadNext()
156 return mActionReadNextSignal;
159 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionReadPrevious()
161 return mActionReadPreviousSignal;
164 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionUp()
166 return mActionUpSignal;
169 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionDown()
171 return mActionDownSignal;
174 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionClearFocus()
176 return mActionClearFocusSignal;
179 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionBack()
181 return mActionBackSignal;
184 Dali::AccessibilityManager::AccessibilityActionSignalV2& AccessibilityManager::SignalActionControlPanelOpen()
186 return mActionControlPanelOpenSignal;
189 } // namespace Adaptor
191 } // namespace Internal
193 ////////////////////////////////////////////////////////////////////////////////////////////////////
195 ToolkitAccessibilityManager::ToolkitAccessibilityManager()
196 : mAccessibilityManagerStub(new Internal::Adaptor::AccessibilityManager(this)),
197 mAccessibilityManager( mAccessibilityManagerStub )
199 gToolkitAccessibilityManager = this;
202 ToolkitAccessibilityManager::~ToolkitAccessibilityManager()
204 gToolkitAccessibilityManager = NULL;
207 AccessibilityManager ToolkitAccessibilityManager::GetAccessibilityManager()
209 return mAccessibilityManager;