Merge "Remove unused enumeration types of ButtonAction" into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / public-api / adaptor-framework / input-method.h
1 #ifndef DALI_INPUT_MEHTOD_H
2 #define DALI_INPUT_MEHTOD_H
3
4 /*
5  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/dali-adaptor-common.h>
23
24 namespace Dali
25 {
26 /**
27  * @addtogroup dali_adaptor_framework
28  * @{
29  */
30
31 /**
32  * @brief Enumeration for input method.
33  * @SINCE_1_0.0
34  */
35 namespace InputMethod
36 {
37 /**
38  * @brief Enumeration for settings that can be changed in the system Input Method.
39  *
40  * Key types of map to change virtual keyboard settings in INPUT_METHOD_SETTINGS property.
41  * @SINCE_1_3.20
42  */
43 namespace Category
44 {
45 /**
46 * @brief Enumeration for Category type.
47 *
48 * @SINCE_1_3.20
49 */
50 enum Type
51 {
52   PANEL_LAYOUT,    ///< Set Keyboard layout @SINCE_1_3.20
53   BUTTON_ACTION,   ///< Set Button Action @SINCE_1_3.20
54   AUTO_CAPITALIZE, ///< Set Auto capitalize of input @SINCE_1_3.20
55   VARIATION        ///< Set variation @SINCE_1_3.20
56 };
57
58 } // namespace Category
59
60 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
61 /////////////////////////// The enumerations below is to set each type of Category. ///////////////////////////////////
62 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
63
64 /**
65  * @brief Sets Input panel (virtual keyboard) layout types.
66  *
67  * @SINCE_1_3.20
68  */
69 namespace PanelLayout
70 {
71 /**
72 * @brief Enumeration for PanelLayout type.
73 *
74 * @SINCE_1_3.20
75 */
76 enum Type
77 {
78   NORMAL,      ///< Default layout @SINCE_1_3.20
79   NUMBER,      ///< Number layout @SINCE_1_3.20
80   EMAIL,       ///< Email layout @SINCE_1_3.20
81   URL,         ///< URL layout @SINCE_1_3.20
82   PHONENUMBER, ///< Phone Number layout @SINCE_1_3.20
83   IP,          ///< IP layout @SINCE_1_3.20
84   MONTH,       ///< Month layout @SINCE_1_3.20
85   NUMBER_ONLY, ///< Number Only layout @SINCE_1_3.20
86   HEX,         ///< Hexadecimal layout @SINCE_1_3.20
87   TERMINAL,    ///< Command-line terminal layout including ESC, Alt, Ctrl key, so on (no auto-correct, no auto-capitalization) @SINCE_1_3.20
88   PASSWORD,    ///< Like normal, but no auto-correct, no auto-capitalization etc @SINCE_1_3.20
89   DATE_TIME,   ///< Date and time layout @SINCE_1_3.20
90   EMOTICON     ///< Emoticon layout @SINCE_1_3.20
91 };
92
93 } // namespace PanelLayout
94
95 /**
96  * @brief Enumeration for specifying what the Input Method "action" button functionality is set to.
97  *
98  * The 'Action' button is traditionally the [RETURN] or [DONE] button.
99  * Not all these actions are supported by all systems.
100  * Setting a custom label will still require one of these actions to be set.
101  * @SINCE_1_3.20
102  */
103 namespace ButtonAction
104 {
105 /**
106 * @brief Enumeration for ButtonAction type.
107 *
108 * @SINCE_1_3.20
109 */
110 enum Type
111 {
112   DEFAULT,     ///< Default action @SINCE_1_3.20
113   DONE,        ///< Done @SINCE_1_3.20
114   GO,          ///< Go action @SINCE_1_3.20
115   JOIN,        ///< Join action @SINCE_1_3.20
116   LOGIN,       ///< Login action @SINCE_1_3.20
117   NEXT,        ///< Next action @SINCE_1_3.20
118   SEARCH,      ///< Search action @SINCE_1_3.20
119   SEND,        ///< Send action @SINCE_1_3.20
120   SIGNIN       ///< Sign in action @SINCE_1_3.20
121 };
122
123 } // namespace ButtonAction
124
125 /**
126  * @brief Sets Autocapitalization Types.
127  *
128  * @SINCE_1_3.20
129  */
130 namespace AutoCapital
131 {
132 /**
133 * @brief Enumeration for AutoCapital type.
134 *
135 * @SINCE_1_3.20
136 */
137 enum Type
138 {
139   NONE,         ///< No auto-capitalization when typing @SINCE_1_3.20
140   WORD,         ///< Autocapitalize each word typed @SINCE_1_3.20
141   SENTENCE,     ///< Autocapitalize the start of each sentence @SINCE_1_3.20
142   ALL_CHARACTER ///< Autocapitalize all letters @SINCE_1_3.20
143 };
144
145 } // namespace AutoCapital
146
147 /////////////////////////// VARIATION based on PANEL_LAYOUT //////////////////////////////////
148
149 /**
150  * @brief Available variation for Normal layout.
151  *
152  * @SINCE_1_3.20
153  */
154 namespace NormalLayout
155 {
156 /**
157 * @brief Enumeration for NormalLayout Variation type.
158 *
159 * @SINCE_1_3.20
160 */
161 enum Type
162 {
163   NORMAL,          ///< The plain normal layout @SINCE_1_3.20
164   WITH_FILENAME,   ///< Filename layout. Symbols such as '/' should be disabled @SINCE_1_3.20
165   WITH_PERSON_NAME ///< The name of a person @SINCE_1_3.20
166 };
167
168 } // namespace NormalLayout
169
170 /**
171  * @brief Available variation for Number only layout.
172  *
173  * @SINCE_1_3.20
174  */
175 namespace NumberOnlyLayout
176 {
177 /**
178 * @brief Enumeration for NumberOnlyLayout Variation type.
179 *
180 * @SINCE_1_3.20
181 */
182 enum Type
183 {
184   NORMAL,                 ///< The plain normal number layout @SINCE_1_3.20
185   WITH_SIGNED,            ///< The number layout to allow a positive or negative sign at the start @SINCE_1_3.20
186   WITH_DECIMAL,           ///< The number layout to allow decimal point to provide fractional value @SINCE_1_3.20
187   WITH_SIGNED_AND_DECIMAL ///< The number layout to allow decimal point and negative sign @SINCE_1_3.20
188 };
189
190 } // namespace NumberOnlyLayout
191
192 /**
193  * @brief Available variation for Password layout.
194  *
195  * @SINCE_1_3.20
196  */
197 namespace PasswordLayout
198 {
199 /**
200 * @brief Enumeration for PasswordLayout Variation type.
201 *
202 * @SINCE_1_3.20
203 */
204 enum Type
205 {
206   NORMAL,          ///< The normal password layout @SINCE_1_3.20
207   WITH_NUMBER_ONLY ///< The password layout to allow only number @SINCE_1_3.20
208 };
209
210 } // namespace PasswordLayout
211
212 } // namespace InputMethod
213
214 /**
215  * @}
216  */
217 } // namespace Dali
218
219 #endif // DALI_INPUT_MEHTOD_H