Add '@addtogroup' tag to generate doxygen page
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / text-controls / placeholder-properties.h
1 #ifndef DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H
2 #define DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H
3
4 /*
5  * Copyright (c) 2017 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 namespace Dali
22 {
23
24 namespace Toolkit
25 {
26
27 /**
28  * @addtogroup dali_toolkit_controls_text_controls
29  * @{
30  */
31
32 namespace Text
33 {
34
35 /**
36  * @brief Placeholder text used by Text controls to show text before any text inputed.
37  * @SINCE_1_2.62
38  *
39  */
40 namespace PlaceHolder
41 {
42
43 /**
44  * @brief Placeholder text Properties used by Text controls to show placeholder
45  * @SINCE_1_2.62
46  *
47  */
48 namespace Property
49 {
50
51 /**
52  * @brief The configurable settings for the Placeholder text.
53  * @SINCE_1_2.62
54  *
55  */
56 enum Setting
57 {
58   /**
59    * @brief The text to display as a placeholder.
60    * @details Name "text", type Property::STRING.
61    * @note Optional. If not provided then no placeholder text will be shown whilst control not focused.
62    * @SINCE_1_2.62
63    */
64   TEXT,
65
66   /**
67    * @brief The text to display as placeholder when focused.
68    * @details Name "textFocused", type Property::STRING.
69    * @note Optional. If not provided then no placeholder text will be shown when focused.
70    * @SINCE_1_2.62
71    */
72   TEXT_FOCUSED,
73
74   /**
75    * @brief The colour of the placeholder text.
76    * @details Name "color", type Property::VECTOR4.
77    * @note If color not provided then 80% white will be used.
78    * @SINCE_1_2.62
79    */
80   COLOR,
81
82   /**
83    * @brief The font family to be used for placeholder text.
84    * @details Name "fontFamily", type Property::STRING.
85    * @note Optional. Default font family used if not provided.
86    * @SINCE_1_2.62
87    */
88   FONT_FAMILY,
89
90   /**
91    * @brief The font style to be used for placeholder text.
92    * @details Name "fontStyle", type Property::MAP.
93    *
94    * Example usage:
95    * @code
96    *   Property::Map fontStylePropertyMap;
97    *   fontStylePropertyMap.Insert( "weight", "bold" );
98    *   fontStylePropertyMap.Insert( "width", "condensed" );
99    *   fontStylePropertyMap.Insert( "slant", "italic" );
100    *   ...
101    *   placeholderPropertyMap[ Text::PlaceHolder::Property::FONT_STYLE] = fontStylePropertyMap;
102    * @endcode
103    *
104    * @note Optional. Default font style used if not provided.
105    * @SINCE_1_2.62
106    */
107   FONT_STYLE,
108
109   /**
110    * @brief The font point size to be used.
111    * @details Name "pointSize", type Property::FLOAT.
112    * @note Optional. Not required if PIXEL_SIZE provided.  If neither provided then the text control point size is used.
113    * @SINCE_1_2.62
114    */
115   POINT_SIZE,
116
117   /**
118    * @brief The font size in pixels to be used
119    * @details Name "pixelSize", type Property::FLOAT.
120    * @note Optional. Not required if POINT_SIZE provided. If neither provided then the text control point size is used.
121    * @SINCE_1_2.62
122    */
123   PIXEL_SIZE,
124
125   /**
126    * @brief If ellipsis should be used when placeholder is too long.
127    * @details Name "ellipsis", type Property::BOOLEAN
128    * @note Optional. Default is false.
129    * @SINCE_1_2.62
130    */
131   ELLIPSIS
132 };
133
134 } // namespace Property
135
136 } // namespace PlaceHolder
137
138
139 } // namespace Text
140
141 /**
142  * @}
143  */
144
145 } // namespace Toolkit
146
147 } // namespace Dali
148
149 #endif //DALI_TOOLKIT_PLACEHOLDER_PROPERTIES_H