2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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.
19 * @file FUiCtrlDatePicker.cpp
20 * @brief This is the implementation file for the DatePicker class.
23 #include <FSysSystemTime.h>
24 #include <FUiCtrlDatePicker.h>
25 #include <FBaseSysLog.h>
26 #include "FUiCtrl_DatePickerImpl.h"
28 using namespace Tizen::Base;
29 using namespace Tizen::Graphics;
30 using namespace Tizen::System;
32 namespace Tizen { namespace Ui { namespace Controls
35 DatePicker::DatePicker(void)
39 DatePicker::~DatePicker(void)
44 DatePicker::Construct(const Tizen::Base::String& title)
46 _DatePickerImpl* pImpl = _DatePickerImpl::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 = _DatePickerImpl::CreateDatePickerImplN(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 DatePicker::AddDateChangeEventListener(Tizen::Ui::IDateChangeEventListener& listener)
65 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
66 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
68 result r = pImpl->AddDateChangeEventListener(listener);
69 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
73 DatePicker::RemoveDateChangeEventListener(Tizen::Ui::IDateChangeEventListener& listener)
75 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
76 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
78 result r = pImpl->RemoveDateChangeEventListener(listener);
79 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
83 DatePicker::GetDate(void) const
86 Tizen::Base::DateTime dateTime;
87 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
90 r = SystemTime::GetCurrentTime(WALL_TIME, dateTime);
91 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, dateTime, r, "[%s] Propagating.", GetErrorMessage(r));
95 dateTime = pImpl->GetDate();
97 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, dateTime, r, "[%s] Propagating.", GetErrorMessage(r));
103 DatePicker::GetDay(void) const
105 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
106 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
108 int day = pImpl->GetDay();
109 result r = GetLastResult();
110 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, day, r, "[%s] Propagating.", GetErrorMessage(r));
116 DatePicker::GetMonth(void) const
118 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
119 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
121 int month = pImpl->GetMonth();
122 result r = GetLastResult();
123 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, month, r, "[%s] Propagating.", GetErrorMessage(r));
129 DatePicker::GetYear(void) const
131 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
132 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
134 int year = pImpl->GetYear();
135 result r = GetLastResult();
136 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, year, r, "[%s] Propagating.", GetErrorMessage(r));
142 DatePicker::SetDate(const Tizen::Base::DateTime& date)
144 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
145 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
147 pImpl->SetDate(date);
148 result r = GetLastResult();
149 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
153 DatePicker::SetCurrentDate(void)
155 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
156 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
158 pImpl->SetCurrentDate();
159 result r = GetLastResult();
160 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
164 DatePicker::SetYear(int year)
166 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
167 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
169 result r = pImpl->SetYear(year);
170 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
176 DatePicker::SetMonth(int month)
178 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
179 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
181 result r = pImpl->SetMonth(month);
182 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
188 DatePicker::SetDay(int day)
190 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
191 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
193 result r = pImpl->SetDay(day);
194 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
200 DatePicker::SetYearRange(int minYear, int maxYear)
202 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
203 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
205 result r = pImpl->SetYearRange(minYear, maxYear);
206 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
212 DatePicker::GetYearRange(int& minYear, int& maxYear) const
214 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
215 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
217 return pImpl->GetYearRange(minYear, maxYear);
220 }}} //Tizen::Ui::Controls