Changed indicator bg color.
[platform/framework/native/uifw.git] / src / ui / controls / FUiCtrlEditDate.cpp
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         FUiCtrlEditDate.cpp
20 * @brief        This file contains implementation of EditDate class
21 */
22
23 #include <FUiCtrlEditDate.h>
24 #include <FBaseSysLog.h>
25 #include "FUiCtrl_EditDateImpl.h"
26
27 using namespace Tizen::Graphics;
28 using namespace Tizen::Base;
29 using namespace Tizen::Ui;
30
31 namespace Tizen { namespace Ui { namespace Controls
32 {
33
34 EditDate::EditDate(void)
35 {
36 }
37
38 EditDate::~EditDate(void)
39 {
40 }
41
42 result
43 EditDate::Construct(const Point& point, const String& title)
44 {
45         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
46         SysAssertf((pEditDateImpl == null),
47                         "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
48
49         pEditDateImpl = _EditDateImpl::CreateEditDateImplN(this, point, title);
50         result r = GetLastResult();
51         SysTryReturn(NID_UI_CTRL, pEditDateImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
52
53         _pControlImpl = pEditDateImpl;
54
55         return r;
56 }
57
58 result
59 EditDate::Construct(const FloatPoint& point, const String& title)
60 {
61         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
62         SysAssertf((pEditDateImpl == null),
63                         "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
64
65         pEditDateImpl = _EditDateImpl::CreateEditDateImplFN(this, point, title);
66         result r = GetLastResult();
67         SysTryReturn(NID_UI_CTRL, pEditDateImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
68
69         _pControlImpl = pEditDateImpl;
70
71         return r;
72 }
73
74 void
75 EditDate::AddDateChangeEventListener(IDateChangeEventListener& listener)
76 {
77         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
78         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
79
80         result r = pEditDateImpl->AddDateChangeEventListener(listener);
81         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
82         return;
83 }
84
85 void
86 EditDate::RemoveDateChangeEventListener(IDateChangeEventListener& listener)
87 {
88         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
89         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
90
91         result r = pEditDateImpl->RemoveDateChangeEventListener(listener);
92         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
93         return;
94 }
95
96 DateTime
97 EditDate::GetDate(void) const
98 {
99         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
100         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
101
102         return pEditDateImpl->GetDate();
103 }
104
105 int
106 EditDate::GetDay(void) const
107 {
108         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
109         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
110
111         return pEditDateImpl->GetDay();
112 }
113
114 int
115 EditDate::GetMonth(void) const
116 {
117         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
118         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
119
120         return pEditDateImpl->GetMonth();
121 }
122
123 int
124 EditDate::GetYear(void) const
125 {
126         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
127         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
128
129         return pEditDateImpl->GetYear();
130 }
131
132 void
133 EditDate::SetDate(const DateTime& date)
134 {
135         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
136         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
137
138         pEditDateImpl->SetDate(date);
139         return;
140 }
141
142 void
143 EditDate::SetCurrentDate(void)
144 {
145         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
146         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
147
148         pEditDateImpl->SetCurrentDate();
149         return;
150 }
151
152 result
153 EditDate::SetYear(int year)
154 {
155         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
156         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
157
158         return pEditDateImpl->SetYear(year);
159 }
160
161 result
162 EditDate::SetMonth(int month)
163 {
164         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
165         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
166
167         return pEditDateImpl->SetMonth(month);
168 }
169
170 result
171 EditDate::SetDay(int day)
172 {
173         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
174         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
175
176         return pEditDateImpl->SetDay(day);
177 }
178
179 void
180 EditDate::SetDatePickerEnabled(bool enable)
181 {
182         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
183         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
184
185         pEditDateImpl->SetDatePickerEnabled(enable);
186         return;
187 }
188
189 bool
190 EditDate::IsDatePickerEnabled(void) const
191 {
192         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
193         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
194
195         return pEditDateImpl->IsDatePickerEnabled();
196 }
197
198 result
199 EditDate::SetYearRange(int minYear, int maxYear)
200 {
201         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
202         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
203
204         return pEditDateImpl->SetYearRange(minYear, maxYear);
205 }
206
207 result
208 EditDate::GetYearRange(int& minYear, int& maxYear) const
209 {
210         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
211         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
212
213         return pEditDateImpl->GetYearRange(minYear, maxYear);
214 }
215
216 }}} //Tizen::Ui::Controls