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.
19 * @file FUiCtrlSlider.cpp
20 * @brief This is the implementation file for Slider class.
23 #include <FBaseSysLog.h>
24 #include <FUiCtrlSlider.h>
25 #include "FUiCtrl_SliderImpl.h"
27 using namespace Tizen::Graphics;
28 using namespace Tizen::Base;
29 using namespace Tizen::Ui;
31 namespace Tizen { namespace Ui { namespace Controls
43 Slider::Construct(const Rectangle& rect, BackgroundStyle backgroundStyle, bool showTitle, int minValue, int maxValue, GroupStyle groupStyle)
47 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
48 SysAssertf((pSliderImpl == null), "Already constructed! Calling Construct() twice or more on a same instance is not allowed for this class.");
51 if (showTitle == true)
53 sliderStyle |= SLIDER_STYLE_TITLE;
55 sliderStyle |= SLIDER_STYLE_BUBBLE;
57 pSliderImpl = _SliderImpl::CreateSliderImplN(this, rect, sliderStyle);
59 SysTryReturn(NID_UI_CTRL, pSliderImpl != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
61 r = pSliderImpl->Initialize(minValue, maxValue, backgroundStyle, sliderStyle, groupStyle);
62 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
64 _pControlImpl = pSliderImpl;
76 Slider::Construct(const Rectangle& rect, unsigned long sliderStyle, int minValue, int maxValue)
80 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
81 SysAssertf((pSliderImpl == null), "Already constructed! Calling Construct() twice or more on a same instance is not allowed for this class.");
83 pSliderImpl = _SliderImpl::CreateSliderImplN(this, rect, sliderStyle);
85 SysTryReturn(NID_UI_CTRL, pSliderImpl != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
87 r = pSliderImpl->Initialize(minValue, maxValue, BACKGROUND_STYLE_DEFAULT, sliderStyle, GROUP_STYLE_NONE);
88 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
90 _pControlImpl = pSliderImpl;
102 Slider::SetRange(int minValue, int maxValue)
104 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
105 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
107 result r = pSliderImpl->SetRange(minValue, maxValue);
108 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
114 Slider::GetRange(int& minValue, int& maxValue) const
116 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
117 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
119 result r = pSliderImpl->GetRange(minValue, maxValue);
120 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
126 Slider::SetValue(int value)
128 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
129 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
131 result r = pSliderImpl->SetValue(value);
132 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
138 Slider::GetValue(void) const
140 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
141 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
143 int value = pSliderImpl->GetValue();
144 result r = GetLastResult();
145 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, -1, r, "[%s] Propagating.", GetErrorMessage(r));
151 Slider::SetIcon(IconPosition position, const Bitmap& icon)
153 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
154 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
156 result r = pSliderImpl->SetIcon(position, icon);
157 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
163 Slider::AddAdjustmentEventListener(IAdjustmentEventListener& listener)
165 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
166 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
168 result r = pSliderImpl->AddAdjustmentEventListener(listener);
169 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
175 Slider::RemoveAdjustmentEventListener(IAdjustmentEventListener& listener)
177 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
178 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
180 result r = pSliderImpl->RemoveAdjustmentEventListener(listener);
181 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
187 Slider::SetTitleText(const String& title)
189 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
190 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
192 result r = pSliderImpl->SetTitleText(title);
193 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
199 Slider::GetTitleText(void) const
201 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
202 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
204 String string = pSliderImpl->GetTitleText();
205 result r = GetLastResult();
206 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, String(), r, "[%s] Propagating.", GetErrorMessage(r));
212 Slider::SetTitleTextColor(const Color& color)
214 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
215 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
217 result r = pSliderImpl->SetTitleTextColor(color);
218 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
224 Slider::GetTitleTextColor(void) const
226 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
227 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
229 Color color = pSliderImpl->GetTitleTextColor();
230 result r = GetLastResult();
231 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, Color(), r, "[%s] Propagating.", GetErrorMessage(r));
237 Slider::AddSliderEventListener(ISliderEventListener& listener)
239 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
240 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
242 result r = pSliderImpl->AddSliderEventListener(listener);
243 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
249 Slider::RemoveSliderEventListener(ISliderEventListener& listener)
251 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
252 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
254 result r = pSliderImpl->RemoveSliderEventListener(listener);
255 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
261 Slider::SetBarColor(const Color& color)
263 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
264 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
266 result r = pSliderImpl->SetBarColor(color);
267 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
273 Slider::GetBarColor(void) const
275 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
276 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
278 Color color = pSliderImpl->GetBarColor();
279 result r = GetLastResult();
280 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, Color(), r, "[%s] Propagating.", GetErrorMessage(r));
286 Slider::SetColor(const Color& color)
288 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
289 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
291 result r = pSliderImpl->SetColor(color);
292 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
298 Slider::GetColor(void) const
300 const _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
301 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
303 Color color = pSliderImpl->GetColor();
304 result r = GetLastResult();
305 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, Color(), r, "[%s] Propagating.", GetErrorMessage(r));
311 Slider::SetThumbBitmap(SliderThumbStatus status, const Bitmap& bitmap)
313 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
314 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
316 result r = pSliderImpl->SetThumbBitmap(status, bitmap);
317 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
323 Slider::SetThumbTextColor(SliderThumbStatus status, const Color& color)
325 _SliderImpl* pSliderImpl = _SliderImpl::GetInstance(*this);
326 SysAssertf(pSliderImpl != null, "Not yet constructed. Construct() should be called before use.");
328 pSliderImpl->SetThumbTextColor(status, color);
333 }}} // Tizen::Ui::Controls