Merging EditDateTime & DateTimePicker Changes from RSA-master to RSA-tizen2.1
[platform/framework/native/uifw.git] / src / ui / inc / FUiCtrl_DateTimeDefine.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FUiCtrl_DateTimeDefine.h
20  * @brief               This is the header file for DateTimePicker defines.
21  *
22  * This header file contains the declarations of the %_DateTime picker define type
23  */
24
25 #ifndef _FUI_CTRL_INTERNAL_DATETIME_DEFINE_H_
26 #define _FUI_CTRL_INTERNAL_DATETIME_DEFINE_H_
27
28 namespace Tizen { namespace Ui { namespace Controls
29 {
30 const int DATETIME_YEAR_MAX = 9999;
31 const int DATETIME_YEAR_MIN = 1;
32
33 const int DATETIME_MONTH_MAX = 12;
34 const int DATETIME_MONTH_MIN = 1;
35
36 const int DATETIME_DAY_MAX = 31;
37 const int DATETIME_DAY_MIN = 1;
38
39 const int DATETIME_HOUR_MAX = 23;
40 const int DATETIME_HOUR_MIN = 0;
41
42 const int DATETIME_MINUTE_MAX = 59;
43 const int DATETIME_MINUTE_MIN = 0;
44
45 const int DATETIME_SECOND_MAX = 59;
46 const int DATETIME_SECOND_MIN = 0;
47
48 const int DATETIME_HOUR_MAX_FOR_24NOTATION = 12;
49
50 const int DATETIME_FOUR_DIGIT_MAX = 9999;
51 const int DATETIME_THREE_DIGIT_MAX = 999;
52 const int DATETIME_TWO_DIGIT_MAX = 99;
53 const int DATETIME_ONE_DIGIT_MAX = 9;
54
55 const int DATE_TIME_CHANGE_FOCUS_COUNTER_MIN = 0;
56 const int DATE_TIME_CHANGE_FOCUS_COUNTER_MAX = 4;
57
58 enum _DateTimeInput
59 {
60         DATETIME_INPUT_BEGIN = 1,
61         DATETIME_INPUT_END = 2
62 };
63
64 enum _DateTimeOutputStyle
65 {
66         DATETIME_OUTPUT_STYLE_INVALID = 0x0,                    /**< Invalid Style, for error check */
67         DATETIME_OUTPUT_STYLE_DATE = 0x1,                               /**< DatePicker Style */
68         DATETIME_OUTPUT_STYLE_TIME = 0x2,                               /**< TimePicker Style */
69         DATETIME_OUTPUT_STYLE_DATETIME = 0x3                    /**< DateTimePicker Style */
70 };
71
72 enum _DateTimeArea
73 {
74         DATETIME_AREA_NONE = 10,
75         DATETIME_AREA_OUTPUT = 20,
76         DATETIME_AREA_OUTPUT_AMPM = 30,
77         DATETIME_AREA_FOOTER = 40,
78         DATETIME_AREA_INPUT = 50
79 };
80
81 enum _DateTimeEventId
82 {
83         DATETIME_EVENT_ID_SAVE = 0,
84         DATETIME_EVENT_ID_CANCEL
85 };
86
87 enum _DateTimeHeaderId
88 {
89         DATETIME_HEADER_NONE = -1,
90         DATETIME_HEADER_ID = 0,
91         DATETIME_HEADER_ID_MAX
92 };
93
94 /**
95 * @enum DateChangeStatus
96 * Defines constants used to identify date&time change status.
97 */
98 enum _DateTimeChangeStatus
99 {
100         DATE_INTERNAL_CHANGE_SAVED,
101         DATE_INTERNAL_CHANGE_CANCELED,
102         DATETIME_INTERNAL_CHANGE_SAVED,
103         DATETIME_INTERNAL_CHANGE_CANCELED,
104         TIME_INTERNAL_CHANGE_SAVED,
105         TIME_INTERNAL_CHANGE_CANCELED
106 };
107
108 enum _DateTimeId
109 {
110         DATETIME_ID_NONE = -1,
111         DATETIME_ID_YEAR = 0,
112         DATETIME_ID_MONTH,
113         DATETIME_ID_DAY,
114         DATETIME_ID_HOUR,
115         DATETIME_ID_MINUTE,
116         DATETIME_ID_MAX,
117         DATETIME_ID_AMPM = 99
118 };
119
120 enum DateTimePickerStatus
121 {
122         DATETIME_STATUS_NORMAL = 0,
123         DATETIME_STATUS_SELECTED,
124         DATETIME_STATUS_HIGHLIGHTED,
125         DATETIME_STATUS_DISABLED,
126         DATETIME_STATUS_MAX
127 };
128
129 enum _DateTimeBarItemStatus
130 {
131         DATETIMEBAR_ITEM_STATUS_NORMAL = 0,
132         DATETIMEBAR_ITEM_STATUS_SELECTED,
133         DATETIMEBAR_ITEM_STATUS_MAX
134 };
135
136 enum _DateTimeBarAlignment
137 {
138         DATETIME_BAR_ALIGN_DOWN = 0,
139         DATETIME_BAR_ALIGN_UP
140 };
141
142 enum _DateDisplayBoxId
143 {
144         DATE_DISPLAY_BOX_LEFT = 0,
145         DATE_DISPLAY_BOX_CENTER,
146         DATE_DISPLAY_BOX_RIGHT,
147         DATE_DISPLAY_BOX_MAX
148 };
149
150 enum _InputPadStyle
151 {
152         INPUTPAD_STYLE_NORMAL = 0,
153         INPUTPAD_STYLE_ALPHA,
154         INPUTPAD_STYLE_MAX
155 };
156
157 enum _DateFormat
158 {
159         DATE_FORMAT_DDMMYYYY = 0,
160         DATE_FORMAT_MMDDYYYY,
161         DATE_FORMAT_YYYYMMDD,
162         DATE_FORMAT_YYYYDDMM
163 };
164
165 enum _TimeFormat
166 {
167         TIME_FORMAT_12HOUR = 0,
168         TIME_FORMAT_24HOUR
169 };
170
171 enum _FocusType
172 {
173         FOCUS_DAY = 0,
174         FOCUS_MONTH,
175         FOCUS_YEAR,
176         FOCUS_HOUR,
177         FOCUS_MINUTE,
178         FOCUS_AMPM,
179         FOCUS_NONE
180 };
181
182 }}} // Tizen::Ui::Controls
183
184 #endif  // _FUI_CTRL_INTERNAL_DATETIME_DEFINE_H_