Changed indicator bg color.
[platform/framework/native/uifw.git] / src / ui / controls / FUiCtrlEditTime.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         FUiCtrlEditTime.cpp
20 * @brief        This file contains implementation of EditTime class
21 */
22
23 #include <FUiCtrlEditTime.h>
24 #include <FBaseSysLog.h>
25 #include "FUiCtrl_EditTimeImpl.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 EditTime::EditTime(void)
35 {
36 }
37
38 EditTime::~EditTime(void)
39 {
40 }
41
42 result
43 EditTime::Construct(const Point& point, const String& title)
44 {
45         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
46         SysAssertf((pEditTimeImpl == null),
47                         "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
48
49         pEditTimeImpl = _EditTimeImpl::CreateEditTimeImplN(this, point, title);
50         result r = GetLastResult();
51         SysTryReturn(NID_UI_CTRL, pEditTimeImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
52
53         _pControlImpl = pEditTimeImpl;
54
55         return r;
56 }
57
58 result
59 EditTime::Construct(const FloatPoint& point, const String& title)
60 {
61         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
62         SysAssertf((pEditTimeImpl == null),
63                         "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
64
65         pEditTimeImpl = _EditTimeImpl::CreateEditTimeImplFN(this, point, title);
66         result r = GetLastResult();
67         SysTryReturn(NID_UI_CTRL, pEditTimeImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
68
69         _pControlImpl = pEditTimeImpl;
70
71         return r;
72 }
73
74 void
75 EditTime::AddTimeChangeEventListener(ITimeChangeEventListener& listener)
76 {
77         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
78         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
79
80         result r = pEditTimeImpl->AddTimeChangeEventListener(listener);
81         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
82 }
83
84 void
85 EditTime::RemoveTimeChangeEventListener(ITimeChangeEventListener& listener)
86 {
87         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
88         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
89
90         result r = pEditTimeImpl->RemoveTimeChangeEventListener(listener);
91         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
92         return;
93 }
94
95 DateTime
96 EditTime::GetTime(void) const
97 {
98         const _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
99         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
100
101         return pEditTimeImpl->GetTime();
102 }
103
104 int
105 EditTime::GetHour(void) const
106 {
107         const _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
108         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
109
110         return pEditTimeImpl->GetHour();
111 }
112
113 int
114 EditTime::GetMinute(void) const
115 {
116         const _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
117         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
118
119         return pEditTimeImpl->GetMinute();
120 }
121
122 void
123 EditTime::SetTime(const DateTime& time)
124 {
125         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
126         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
127
128         pEditTimeImpl->SetTime(time);
129         return;
130 }
131
132 void
133 EditTime::SetCurrentTime(void)
134 {
135         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
136         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
137
138         pEditTimeImpl->SetCurrentTime();
139         return;
140 }
141
142 result
143 EditTime::SetHour(int hour)
144 {
145         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
146         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
147
148         return pEditTimeImpl->SetHour(hour);
149 }
150
151 result
152 EditTime::SetMinute(int minute)
153 {
154         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
155         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
156
157         return pEditTimeImpl->SetMinute(minute);
158 }
159
160 void
161 EditTime::SetTimePickerEnabled(bool enable)
162 {
163         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
164         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
165
166         pEditTimeImpl->SetTimePickerEnabled(enable);
167         return;
168 }
169
170 bool
171 EditTime::IsTimePickerEnabled(void) const
172 {
173         const _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
174         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
175
176         return pEditTimeImpl->IsTimePickerEnabled();
177 }
178
179 void
180 EditTime::Set24HourNotationEnabled(bool enable)
181 {
182         _EditTimeImpl* pEditTimeImpl = _EditTimeImpl::GetInstance(*this);
183         SysAssertf((pEditTimeImpl != null), "Not yet constructed. Construct() should be called before use.");
184
185         return pEditTimeImpl->Set24HourNotationEnabled(enable);
186 }
187
188 }}} //Tizen::Ui::Controls