Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_RadioGroupImpl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
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  * @file                FUiCtrl_RadioGroupImpl.h
19  * @brief               This is the header file for the _RadioGroupImpl class.
20  *
21  * This header file contains the declarations of the %_RadioGroupImpl class.
22  */
23 #ifndef _FUI_CTRL_INTERNAL_RADIO_GROUP_IMPL_H_
24 #define _FUI_CTRL_INTERNAL_RADIO_GROUP_IMPL_H_
25
26 #include <FUiCtrlRadioGroup.h>
27 #include "FUi_ControlImpl.h"
28 #include "FUiCtrl_RadioGroup.h"
29
30 namespace Tizen { namespace Graphics
31 {
32         class Dimension;
33 }} // Tizen::Graphics
34
35 namespace Tizen { namespace Ui { namespace Controls
36 {
37
38 class _RadioGroupImpl
39         : public _ControlImpl
40 {
41 public:
42         class RadioGroupSizeInfo : public _ControlImpl::SizeInfo
43         {
44                 virtual Tizen::Graphics::Dimension GetDefaultMinimumSize(_ControlOrientation orientation) const;
45         }; // RadioGroupSizeInfo
46
47 public:
48         virtual ~_RadioGroupImpl(void);
49         static _RadioGroupImpl* CreateRadioGroupImplN(RadioGroup* pControl);
50
51         virtual const char* GetPublicClassName(void) const;
52         virtual const RadioGroup& GetPublic(void) const;
53         virtual RadioGroup& GetPublic(void);
54         virtual const _RadioGroup& GetCore(void) const;
55         virtual _RadioGroup& GetCore(void);
56
57         virtual result OnAttachedToMainTree(void);
58
59 public:
60         result Add(const CheckButton& checkButton);
61         result Remove(const CheckButton& checkButton);
62
63         int GetItemCount(void) const;
64
65         result SetSelectedItem(const CheckButton& checkButton);
66         const CheckButton* GetSelectedItem(void) const;
67
68 public:
69         static Tizen::Graphics::Color GetColorOnError(void);
70
71         static _RadioGroupImpl* GetInstance(RadioGroup& radioGroup);
72         static const _RadioGroupImpl* GetInstance(const RadioGroup& radioGroup);
73
74 private:
75         _RadioGroupImpl(RadioGroup* pPublic, _RadioGroup* pCore);
76
77         _RadioGroupImpl(const _RadioGroupImpl& rhs);
78         _RadioGroupImpl& operator =(const _RadioGroupImpl& rhs);
79
80 }; // _RadioGroupImpl
81
82 }}} // Tizen::Ui::Controls
83
84 #endif //_ FUI_CTRL_INTERNAL_RADIO_GROUP_IMPL_H_