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 FUiCtrl_RadioGroupImpl.cpp
19 * @brief This is the implementation file for the _RadioGroupImpl class.
22 #include <FBaseResult.h>
23 #include <FBaseSysLog.h>
24 #include "FUi_ResourceSizeInfo.h"
25 #include "FUi_ResourceManager.h"
26 #include "FUiCtrl_RadioGroupImpl.h"
27 #include "FUiCtrl_CheckButtonImpl.h"
28 #include "FUiCtrl_RadioGroup.h"
30 using namespace Tizen::Base;
31 using namespace Tizen::Graphics;
33 namespace Tizen { namespace Ui { namespace Controls
37 _RadioGroupImpl::RadioGroupSizeInfo::GetDefaultMinimumSize(_ControlOrientation orientation) const
40 Dimension dimension(0, 0);
42 r = GET_DIMENSION_CONFIG(RADIOGROUP::MIN_SIZE, orientation, dimension);
43 SysTryReturn(NID_UI, r == E_SUCCESS, dimension, r, "[%s] A system error occurred.", GetErrorMessage(r));
51 _RadioGroupImpl::GetInstance(RadioGroup& radioGroup)
53 return static_cast<_RadioGroupImpl*> (radioGroup._pControlImpl);
56 const _RadioGroupImpl*
57 _RadioGroupImpl::GetInstance(const RadioGroup& radioGroup)
59 return static_cast<const _RadioGroupImpl*> (radioGroup._pControlImpl);
62 _RadioGroupImpl::_RadioGroupImpl(RadioGroup* pPublic, _RadioGroup* pCore)
63 : _ControlImpl(pPublic, pCore)
66 SetFocusableChangable(false);
69 _RadioGroupImpl::~_RadioGroupImpl(void)
75 _RadioGroupImpl::CreateRadioGroupImplN(RadioGroup* pControl)
79 _RadioGroup* pCore = _RadioGroup::CreateRadioGroupN();
80 SysTryReturn(NID_UI_CTRL, pCore, null, E_SYSTEM, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
82 _RadioGroupImpl* pImpl = new (std::nothrow) _RadioGroupImpl(pControl, pCore);
83 r = _ControlImpl::CheckConstruction(pCore, pImpl);
84 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
92 _RadioGroupImpl::GetColorOnError(void)
94 return Color(0XFFFFFFFF);
98 _RadioGroupImpl::GetPublicClassName(void) const
100 return "Tizen::Ui::Controls::RadioGroup";
104 _RadioGroupImpl::GetPublic(void) const
106 return static_cast<const RadioGroup&>(_ControlImpl::GetPublic());
110 _RadioGroupImpl::GetPublic(void)
112 return static_cast<RadioGroup&>(_ControlImpl::GetPublic());
116 _RadioGroupImpl::GetCore(void) const
118 return static_cast<const _RadioGroup&>(_ControlImpl::GetCore());
122 _RadioGroupImpl::GetCore(void)
124 return static_cast <_RadioGroup&>(_ControlImpl::GetCore());
128 _RadioGroupImpl::OnAttachedToMainTree(void)
130 result r = SetFocusable(false);
131 _ControlImpl::OnAttachedToMainTree();
137 _RadioGroupImpl::Add(const CheckButton& checkButton)
139 const _CheckButton& _checkButton = _CheckButtonImpl::GetInstance(checkButton)->GetCore();
141 result r = GetCore().Add(const_cast<_CheckButton&>(_checkButton));
142 SysTryLog(NID_UI_CTRL, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
147 _RadioGroupImpl::Remove(const CheckButton& checkButton)
149 const _CheckButton& _checkButton = _CheckButtonImpl::GetInstance(checkButton)->GetCore();
151 result r = GetCore().Remove(const_cast<_CheckButton&>(_checkButton));
152 SysTryLog(NID_UI_CTRL, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
158 _RadioGroupImpl::GetItemCount(void) const
162 return GetCore().GetItemCount();
166 _RadioGroupImpl::SetSelectedItem(const CheckButton& checkButton)
168 const _CheckButton& _checkButton = _CheckButtonImpl::GetInstance(checkButton)->GetCore();
170 result r = GetCore().SetSelectedItem(const_cast<_CheckButton&>(_checkButton));
171 SysTryLog(NID_UI_CTRL, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
177 _RadioGroupImpl::GetSelectedItem(void) const
181 const _CheckButton* _pCheckButton = GetCore().GetSelectedItem();
188 _CheckButtonImpl* pCheckButtonImpl = static_cast<_CheckButtonImpl*>(_pCheckButton->GetUserData());
189 if (!pCheckButtonImpl)
194 const CheckButton* pCheckButton = dynamic_cast<CheckButton*>(&(pCheckButtonImpl->GetPublic()));
203 }}} // Tizen::Ui::Controls