Merge "Remove unused enumeration types of ButtonAction" into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / public-api / adaptor-framework / input-method.h
index 5d38abc..0cf9b1a 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INPUT_MEHTOD_H__
-#define __DALI_INPUT_MEHTOD_H__
+#ifndef DALI_INPUT_MEHTOD_H
+#define DALI_INPUT_MEHTOD_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@
  *
  */
 
-// EXTERNAL INCLUDES
-#include <dali/public-api/common/dali-common.h>
+// INTERNAL INCLUDES
+#include <dali/public-api/dali-adaptor-common.h>
 
 namespace Dali
 {
@@ -35,45 +35,180 @@ namespace Dali
 namespace InputMethod
 {
 /**
+ * @brief Enumeration for settings that can be changed in the system Input Method.
+ *
+ * Key types of map to change virtual keyboard settings in INPUT_METHOD_SETTINGS property.
+ * @SINCE_1_3.20
+ */
+namespace Category
+{
+/**
+* @brief Enumeration for Category type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  PANEL_LAYOUT,    ///< Set Keyboard layout @SINCE_1_3.20
+  BUTTON_ACTION,   ///< Set Button Action @SINCE_1_3.20
+  AUTO_CAPITALIZE, ///< Set Auto capitalize of input @SINCE_1_3.20
+  VARIATION        ///< Set variation @SINCE_1_3.20
+};
+
+} // namespace Category
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/////////////////////////// The enumerations below is to set each type of Category. ///////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @brief Sets Input panel (virtual keyboard) layout types.
+ *
+ * @SINCE_1_3.20
+ */
+namespace PanelLayout
+{
+/**
+* @brief Enumeration for PanelLayout type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  NORMAL,      ///< Default layout @SINCE_1_3.20
+  NUMBER,      ///< Number layout @SINCE_1_3.20
+  EMAIL,       ///< Email layout @SINCE_1_3.20
+  URL,         ///< URL layout @SINCE_1_3.20
+  PHONENUMBER, ///< Phone Number layout @SINCE_1_3.20
+  IP,          ///< IP layout @SINCE_1_3.20
+  MONTH,       ///< Month layout @SINCE_1_3.20
+  NUMBER_ONLY, ///< Number Only layout @SINCE_1_3.20
+  HEX,         ///< Hexadecimal layout @SINCE_1_3.20
+  TERMINAL,    ///< Command-line terminal layout including ESC, Alt, Ctrl key, so on (no auto-correct, no auto-capitalization) @SINCE_1_3.20
+  PASSWORD,    ///< Like normal, but no auto-correct, no auto-capitalization etc @SINCE_1_3.20
+  DATE_TIME,   ///< Date and time layout @SINCE_1_3.20
+  EMOTICON     ///< Emoticon layout @SINCE_1_3.20
+};
+
+} // namespace PanelLayout
+
+/**
  * @brief Enumeration for specifying what the Input Method "action" button functionality is set to.
  *
  * The 'Action' button is traditionally the [RETURN] or [DONE] button.
- *
  * Not all these actions are supported by all systems.
- *
  * Setting a custom label will still require one of these actions to be set.
- * @SINCE_1_0.0
+ * @SINCE_1_3.20
  */
-enum ActionButton
-{
-  ACTION_DEFAULT,       ///< Default action @SINCE_1_0.0
-  ACTION_DONE,          ///< Done @SINCE_1_0.0
-  ACTION_GO,            ///< Go action @SINCE_1_0.0
-  ACTION_JOIN,          ///< Join action @SINCE_1_0.0
-  ACTION_LOGIN,         ///< Login action @SINCE_1_0.0
-  ACTION_NEXT,          ///< Next action @SINCE_1_0.0
-  ACTION_PREVIOUS,      ///< Previous action @SINCE_1_0.0
-  ACTION_SEARCH,        ///< Search action @SINCE_1_0.0
-  ACTION_SEND,          ///< Send action @SINCE_1_0.0
-  ACTION_SIGNIN,        ///< Sign in action @SINCE_1_0.0
-  ACTION_UNSPECIFIED,   ///< Unspecified action @SINCE_1_0.0
-  ACTION_NONE           ///< Nothing to do @SINCE_1_0.0
+namespace ButtonAction
+{
+/**
+* @brief Enumeration for ButtonAction type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  DEFAULT,     ///< Default action @SINCE_1_3.20
+  DONE,        ///< Done @SINCE_1_3.20
+  GO,          ///< Go action @SINCE_1_3.20
+  JOIN,        ///< Join action @SINCE_1_3.20
+  LOGIN,       ///< Login action @SINCE_1_3.20
+  NEXT,        ///< Next action @SINCE_1_3.20
+  SEARCH,      ///< Search action @SINCE_1_3.20
+  SEND,        ///< Send action @SINCE_1_3.20
+  SIGNIN       ///< Sign in action @SINCE_1_3.20
 };
 
+} // namespace ButtonAction
+
 /**
- * @brief Enumeration for settings that can be changed in the system Input Method.
+ * @brief Sets Autocapitalization Types.
  *
- * Not all these settings are supported by all systems.
- * @SINCE_1_0.0
+ * @SINCE_1_3.20
+ */
+namespace AutoCapital
+{
+/**
+* @brief Enumeration for AutoCapital type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  NONE,         ///< No auto-capitalization when typing @SINCE_1_3.20
+  WORD,         ///< Autocapitalize each word typed @SINCE_1_3.20
+  SENTENCE,     ///< Autocapitalize the start of each sentence @SINCE_1_3.20
+  ALL_CHARACTER ///< Autocapitalize all letters @SINCE_1_3.20
+};
+
+} // namespace AutoCapital
+
+/////////////////////////// VARIATION based on PANEL_LAYOUT //////////////////////////////////
+
+/**
+ * @brief Available variation for Normal layout.
+ *
+ * @SINCE_1_3.20
+ */
+namespace NormalLayout
+{
+/**
+* @brief Enumeration for NormalLayout Variation type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  NORMAL,          ///< The plain normal layout @SINCE_1_3.20
+  WITH_FILENAME,   ///< Filename layout. Symbols such as '/' should be disabled @SINCE_1_3.20
+  WITH_PERSON_NAME ///< The name of a person @SINCE_1_3.20
+};
+
+} // namespace NormalLayout
+
+/**
+ * @brief Available variation for Number only layout.
+ *
+ * @SINCE_1_3.20
  */
-enum Settings
+namespace NumberOnlyLayout
+{
+/**
+* @brief Enumeration for NumberOnlyLayout Variation type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
 {
-  ACTION_BUTTON,          ///< ActionButton. Apply the one of the ActionButton functions to the action button (return button). @SINCE_1_0.0
-  AUTO_CAPITALISE,        ///< boolean.      Capitalize the first letter of each sentence automatically. @SINCE_1_0.0
-  AUTO_COMPLETE,          ///< boolean.      Suggest words based on the current input. @SINCE_1_0.0
-  AUTO_CORRECT            ///< boolean.      Automatically correct commonly misspelt words. @SINCE_1_0.0
+  NORMAL,                 ///< The plain normal number layout @SINCE_1_3.20
+  WITH_SIGNED,            ///< The number layout to allow a positive or negative sign at the start @SINCE_1_3.20
+  WITH_DECIMAL,           ///< The number layout to allow decimal point to provide fractional value @SINCE_1_3.20
+  WITH_SIGNED_AND_DECIMAL ///< The number layout to allow decimal point and negative sign @SINCE_1_3.20
 };
 
+} // namespace NumberOnlyLayout
+
+/**
+ * @brief Available variation for Password layout.
+ *
+ * @SINCE_1_3.20
+ */
+namespace PasswordLayout
+{
+/**
+* @brief Enumeration for PasswordLayout Variation type.
+*
+* @SINCE_1_3.20
+*/
+enum Type
+{
+  NORMAL,          ///< The normal password layout @SINCE_1_3.20
+  WITH_NUMBER_ONLY ///< The password layout to allow only number @SINCE_1_3.20
+};
+
+} // namespace PasswordLayout
+
 } // namespace InputMethod
 
 /**
@@ -81,4 +216,4 @@ enum Settings
  */
 } // namespace Dali
 
-#endif // __DALI_INPUT_MEHTOD_H__
+#endif // DALI_INPUT_MEHTOD_H