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 FUiCtrlDatePicker.cpp
19 * @brief This is the implementation file for the DatePicker class.
22 #include <FSysSystemTime.h>
23 #include <FUiCtrlDatePicker.h>
24 #include <FBaseSysLog.h>
25 #include "FUiCtrl_DatePickerImpl.h"
27 using namespace Tizen::Base;
28 using namespace Tizen::Graphics;
29 using namespace Tizen::System;
31 namespace Tizen { namespace Ui { namespace Controls
34 DatePicker::DatePicker(void)
38 DatePicker::~DatePicker(void)
43 DatePicker::Construct(const Tizen::Base::String& title)
45 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
46 SysAssertf((pImpl == null),
47 "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
49 pImpl = _DatePickerImpl::CreateDatePickerImplN(this, title);
50 result r = GetLastResult();
51 SysTryReturn(NID_UI_CTRL, (pImpl != null), r, r, "[%s] Propagating.", GetErrorMessage(r));
53 _pControlImpl = pImpl;
55 pImpl->GetCore().SetResizable(false);
56 pImpl->GetCore().SetMovable(false);
62 DatePicker::AddDateChangeEventListener(Tizen::Ui::IDateChangeEventListener& listener)
64 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
65 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
67 result r = pImpl->AddDateChangeEventListener(listener);
68 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
72 DatePicker::RemoveDateChangeEventListener(Tizen::Ui::IDateChangeEventListener& listener)
74 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
75 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
77 result r = pImpl->RemoveDateChangeEventListener(listener);
78 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
82 DatePicker::GetDate(void) const
85 Tizen::Base::DateTime dateTime;
86 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
89 r = SystemTime::GetCurrentTime(WALL_TIME, dateTime);
90 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, dateTime, r, "[%s] Propagating.", GetErrorMessage(r));
94 dateTime = pImpl->GetDate();
96 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, dateTime, r, "[%s] Propagating.", GetErrorMessage(r));
102 DatePicker::GetDay(void) const
104 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
105 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
107 int day = pImpl->GetDay();
108 result r = GetLastResult();
109 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, day, r, "[%s] Propagating.", GetErrorMessage(r));
115 DatePicker::GetMonth(void) const
117 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
118 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
120 int month = pImpl->GetMonth();
121 result r = GetLastResult();
122 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, month, r, "[%s] Propagating.", GetErrorMessage(r));
128 DatePicker::GetYear(void) const
130 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
131 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
133 int year = pImpl->GetYear();
134 result r = GetLastResult();
135 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, year, r, "[%s] Propagating.", GetErrorMessage(r));
141 DatePicker::SetDate(const Tizen::Base::DateTime& date)
143 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
144 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
146 pImpl->SetDate(date);
147 result r = GetLastResult();
148 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
152 DatePicker::SetCurrentDate(void)
154 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
155 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
157 pImpl->SetCurrentDate();
158 result r = GetLastResult();
159 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
163 DatePicker::SetYear(int year)
165 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
166 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
168 result r = pImpl->SetYear(year);
169 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
175 DatePicker::SetMonth(int month)
177 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
178 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
180 result r = pImpl->SetMonth(month);
181 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
187 DatePicker::SetDay(int day)
189 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
190 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
192 result r = pImpl->SetDay(day);
193 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
199 DatePicker::SetYearRange(int minYear, int maxYear)
201 _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
202 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
204 result r = pImpl->SetYearRange(minYear, maxYear);
205 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
211 DatePicker::GetYearRange(int& minYear, int& maxYear) const
213 const _DatePickerImpl* pImpl = _DatePickerImpl::GetInstance(*this);
214 SysAssertf((pImpl != null), "Not yet constructed. Construct() should be called before use.");
216 return pImpl->GetYearRange(minYear, maxYear);
219 }}} //Tizen::Ui::Controls