2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
18 * @file FUiCtrlDateTimePicker.cpp
19 * @brief This is the implementation file for the DateTimePicker class.
22 #include <FUiCtrlForm.h>
23 #include <FSysSystemTime.h>
24 #include <FUiCtrlDateTimePicker.h>
25 #include <FBaseSysLog.h>
26 #include "FUiCtrl_DateTimePickerImpl.h"
28 using namespace Tizen::Base;
29 using namespace Tizen::Graphics;
30 using namespace Tizen::System;
32 namespace Tizen { namespace Ui { namespace Controls
35 DateTimePicker::DateTimePicker(void)
39 DateTimePicker::~DateTimePicker(void)
44 DateTimePicker::Construct(const Tizen::Base::String& title)
46 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
47 SysAssertf((pImpl == null),
48 "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
50 pImpl = _DateTimePickerImpl::CreateDateTimePickerImplN(this, title);
51 result r = GetLastResult();
52 SysTryReturn(NID_UI_CTRL, (pImpl != null), r, r, "[%s] Propagating.", GetErrorMessage(r));
54 _pControlImpl = pImpl;
56 pImpl->GetCore().SetResizable(false);
57 pImpl->GetCore().SetMovable(false);
63 DateTimePicker::AddDateTimeChangeEventListener(Tizen::Ui::IDateTimeChangeEventListener& listener)
65 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
66 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
68 result r = pImpl->AddDateTimeChangeEventListener(listener);
69 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
73 DateTimePicker::RemoveDateTimeChangeEventListener(Tizen::Ui::IDateTimeChangeEventListener& listener)
75 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
76 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
78 result r = pImpl->RemoveDateTimeChangeEventListener(listener);
79 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
83 DateTimePicker::SetDateTime(const Tizen::Base::DateTime& dateTime)
85 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
86 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
88 pImpl->SetDateTime(dateTime);
89 result r = GetLastResult();
90 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
94 DateTimePicker::SetCurrentDateTime(void)
96 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
97 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
99 pImpl->SetCurrentDateTime();
100 result r = GetLastResult();
101 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
105 DateTimePicker::SetYear(int year)
107 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
108 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
110 result r = pImpl->SetYear(year);
111 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
117 DateTimePicker::SetMonth(int month)
119 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
120 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
122 result r = pImpl->SetMonth(month);
123 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
129 DateTimePicker::SetDay(int day)
131 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
132 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
134 result r = pImpl->SetDay(day);
135 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
141 DateTimePicker::SetHour(int hour)
143 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
144 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
146 result r = pImpl->SetHour(hour);
147 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
153 DateTimePicker::SetMinute(int minute)
155 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
156 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
158 result r = pImpl->SetMinute(minute);
159 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
164 Tizen::Base::DateTime
165 DateTimePicker::GetDateTime(void) const
167 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
168 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
170 DateTime dateTime = pImpl->GetDateTime();
171 result r = GetLastResult();
172 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, dateTime, r, "[%s] Propagating.", GetErrorMessage(r));
178 DateTimePicker::GetYear(void) const
180 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
181 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
183 int year = pImpl->GetYear();
184 result r = GetLastResult();
185 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, year, r, "[%s] Propagating.", GetErrorMessage(r));
191 DateTimePicker::GetMonth(void) const
193 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
194 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
196 int month = pImpl->GetMonth();
197 result r = GetLastResult();
198 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, month, r, "[%s] Propagating.", GetErrorMessage(r));
204 DateTimePicker::GetDay(void) const
206 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
207 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
209 int day = pImpl->GetDay();
210 result r = GetLastResult();
211 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, day, r, "[%s] Propagating.", GetErrorMessage(r));
217 DateTimePicker::GetHour(void) const
219 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
220 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
222 int hour = pImpl->GetHour();
223 result r = GetLastResult();
224 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, hour, r, "[%s] Propagating.", GetErrorMessage(r));
230 DateTimePicker::GetMinute(void) const
232 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
233 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
235 int minute = pImpl->GetMinute();
236 result r = GetLastResult();
237 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, minute, r, "[%s] Propagating.", GetErrorMessage(r));
243 DateTimePicker::Set24HourNotationEnabled(bool enable)
245 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
246 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
248 pImpl->Set24HourNotationEnabled(enable);
249 result r = GetLastResult();
250 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
254 DateTimePicker::Is24HourNotationEnabled(void) const
256 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
257 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
259 bool enabled = pImpl->Is24HourNotationEnabled();
260 result r = GetLastResult();
261 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, enabled, r, "[%s] Propagating.", GetErrorMessage(r));
267 DateTimePicker::SetYearRange(int minYear, int maxYear)
269 _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
270 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
272 result r = pImpl->SetYearRange(minYear, maxYear);
273 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
279 DateTimePicker::GetYearRange(int& minYear, int& maxYear) const
281 const _DateTimePickerImpl* pImpl = _DateTimePickerImpl::GetInstance(*this);
282 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
284 return pImpl->GetYearRange(minYear, maxYear);
287 }}} // Tizen::Ui::Controls