Tizen 2.1 base
[framework/osp/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 Flora License, Version 1.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://floralicense.org/license/
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 void
59 EditDate::AddDateChangeEventListener(IDateChangeEventListener& listener)
60 {
61         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
62         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
63
64         result r = pEditDateImpl->AddDateChangeEventListener(listener);
65         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
66         return;
67 }
68
69 void
70 EditDate::RemoveDateChangeEventListener(IDateChangeEventListener& listener)
71 {
72         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
73         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
74
75         result r = pEditDateImpl->RemoveDateChangeEventListener(listener);
76         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
77         return;
78 }
79
80 DateTime
81 EditDate::GetDate(void) const
82 {
83         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
84         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
85
86         return pEditDateImpl->GetDate();
87 }
88
89 int
90 EditDate::GetDay(void) const
91 {
92         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
93         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
94
95         return pEditDateImpl->GetDay();
96 }
97
98 int
99 EditDate::GetMonth(void) const
100 {
101         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
102         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
103
104         return pEditDateImpl->GetMonth();
105 }
106
107 int
108 EditDate::GetYear(void) const
109 {
110         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
111         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
112
113         return pEditDateImpl->GetYear();
114 }
115
116 void
117 EditDate::SetDate(const DateTime& date)
118 {
119         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
120         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
121
122         pEditDateImpl->SetDate(date);
123         return;
124 }
125
126 void
127 EditDate::SetCurrentDate(void)
128 {
129         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
130         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
131
132         pEditDateImpl->SetCurrentDate();
133         return;
134 }
135
136 result
137 EditDate::SetYear(int year)
138 {
139         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
140         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
141
142         return pEditDateImpl->SetYear(year);
143 }
144
145 result
146 EditDate::SetMonth(int month)
147 {
148         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
149         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
150
151         return pEditDateImpl->SetMonth(month);
152 }
153
154 result
155 EditDate::SetDay(int day)
156 {
157         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
158         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
159
160         return pEditDateImpl->SetDay(day);
161 }
162
163 void
164 EditDate::SetDatePickerEnabled(bool enable)
165 {
166         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
167         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
168
169         pEditDateImpl->SetDatePickerEnabled(enable);
170         return;
171 }
172
173 bool
174 EditDate::IsDatePickerEnabled(void) const
175 {
176         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
177         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
178
179         return pEditDateImpl->IsDatePickerEnabled();
180 }
181
182 result
183 EditDate::SetYearRange(int minYear, int maxYear)
184 {
185         _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
186         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
187
188         return pEditDateImpl->SetYearRange(minYear, maxYear);
189 }
190
191 result
192 EditDate::GetYearRange(int& minYear, int& maxYear) const
193 {
194         const _EditDateImpl* pEditDateImpl = _EditDateImpl::GetInstance(*this);
195         SysAssertf((pEditDateImpl != null), "Not yet constructed. Construct() should be called before use.");
196
197         return pEditDateImpl->GetYearRange(minYear, maxYear);
198 }
199
200 }}} //Tizen::Ui::Controls