Merge base & optional
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / focus-manager / keyboard-focus-manager.cpp
1 /*
2  * Copyright (c) 2014 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
20 #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
21
22 // EXTERNAL INCLUDES
23
24 // INTERNAL INCLUDES
25
26 #include <dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h>
27
28 namespace Dali
29 {
30
31 namespace Toolkit
32 {
33
34 const char* const KeyboardFocusManager::SIGNAL_PRE_FOCUS_CHANGE = "keyboard-pre-focus-change";
35 const char* const KeyboardFocusManager::SIGNAL_FOCUS_CHANGED = "keyboard-focus-changed";
36 const char* const KeyboardFocusManager::SIGNAL_FOCUS_GROUP_CHANGED = "keyboard-focus-group-changed";
37 const char* const KeyboardFocusManager::SIGNAL_FOCUSED_ACTOR_ACTIVATED = "keyboard-focused-actor-activated";
38
39 KeyboardFocusManager::KeyboardFocusManager()
40 {
41 }
42
43 KeyboardFocusManager::~KeyboardFocusManager()
44 {
45 }
46
47 KeyboardFocusManager KeyboardFocusManager::Get()
48 {
49   return Internal::KeyboardFocusManager::Get();
50 }
51
52 KeyboardFocusManager::KeyboardFocusManager(Internal::KeyboardFocusManager *impl)
53   : BaseHandle(impl)
54 {
55 }
56
57 bool KeyboardFocusManager::SetCurrentFocusActor(Actor actor)
58 {
59   return GetImpl(*this).SetCurrentFocusActor(actor);
60 }
61
62 Actor KeyboardFocusManager::GetCurrentFocusActor()
63 {
64   return GetImpl(*this).GetCurrentFocusActor();
65 }
66
67 bool KeyboardFocusManager::MoveFocus(Control::KeyboardFocusNavigationDirection direction)
68 {
69   return GetImpl(*this).MoveFocus(direction);
70 }
71
72 void KeyboardFocusManager::ClearFocus()
73 {
74   GetImpl(*this).ClearFocus();
75 }
76
77 void KeyboardFocusManager::SetAsFocusGroup(Actor actor, bool isFocusGroup)
78 {
79   // deprecated method.
80   GetImpl(*this).SetAsFocusGroup(actor, isFocusGroup);
81 }
82
83 bool KeyboardFocusManager::IsFocusGroup(Actor actor) const
84 {
85   // deprecated method.
86   return GetImpl(*this).IsFocusGroup(actor);
87 }
88
89 Actor KeyboardFocusManager::GetFocusGroup(Actor actor)
90 {
91   return GetImpl(*this).GetFocusGroup(actor);
92 }
93
94 void KeyboardFocusManager::SetFocusGroupLoop(bool enabled)
95 {
96   GetImpl(*this).SetFocusGroupLoop(enabled);
97 }
98
99 bool KeyboardFocusManager::GetFocusGroupLoop() const
100 {
101   return GetImpl(*this).GetFocusGroupLoop();
102 }
103
104 void KeyboardFocusManager::SetFocusIndicatorActor(Actor indicator)
105 {
106   GetImpl(*this).SetFocusIndicatorActor(indicator);
107 }
108
109 Actor KeyboardFocusManager::GetFocusIndicatorActor()
110 {
111   return GetImpl(*this).GetFocusIndicatorActor();
112 }
113
114 KeyboardFocusManager::PreFocusChangeSignalType& KeyboardFocusManager::PreFocusChangeSignal()
115 {
116   return GetImpl(*this).PreFocusChangeSignal();
117 }
118
119 KeyboardFocusManager::FocusChangedSignalType& KeyboardFocusManager::FocusChangedSignal()
120 {
121   return GetImpl(*this).FocusChangedSignal();
122 }
123
124 KeyboardFocusManager::FocusGroupChangedSignalType& KeyboardFocusManager::FocusGroupChangedSignal()
125 {
126   return GetImpl(*this).FocusGroupChangedSignal();
127 }
128
129 KeyboardFocusManager::FocusedActorActivatedSignalType& KeyboardFocusManager::FocusedActorActivatedSignal()
130 {
131   return GetImpl(*this).FocusedActorActivatedSignal();
132 }
133
134 } // namespace Toolkit
135
136 } // namespace Dali