Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_TabImpl.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_TabImpl.h
19  * @brief               This is the header file for the _TabImpl class.
20  *
21  * This header file contains the declarations of the %_TabImpl class.
22  */
23
24 #ifndef _FUICTRL_TAB_IMPL_H_
25 #define _FUICTRL_TAB_IMPL_H_
26
27 #include <FUiCtrlTab.h>
28 #include <FUiIActionEventListener.h>
29 #include "FUi_ControlImpl.h"
30 #include "FUiCtrl_Tab.h"
31 #include "FUiCtrl_IActionEventListener.h"
32 #include "FUiCtrl_PublicActionEvent.h"
33
34 namespace Tizen { namespace Ui { namespace Controls {
35
36         class _PublicActionEvent;
37
38 /**
39  * @class _TabImpl
40  * @brief
41  * @since 2.0
42  *
43  *
44  *
45  *
46  */
47 class _TabImpl
48         : public _ControlImpl
49         , public _IActionEventListener
50         , virtual public Tizen::Base::Runtime::IEventListener
51 {
52 public:
53         static _TabImpl* CreateTabImplN(Tab* pPublic);
54         virtual ~_TabImpl(void);
55
56         virtual const char* GetPublicClassName(void) const;
57
58         Tab* GetTab(void);
59
60         virtual Tab& GetPublic(void);
61         virtual const Tab& GetPublic(void) const;
62
63         virtual const _Tab& GetCore(void) const;
64         virtual _Tab& GetCore(void);
65
66 private:
67         _TabImpl(Tab* pPublic, _Tab* pCore);
68
69         _TabImpl(const _TabImpl& value);
70         _TabImpl& operator =(const _TabImpl& value);
71
72 public:
73         static _TabImpl* GetInstance(Tab& pControl);
74         static const _TabImpl* GetInstance(const Tab& pControl);
75
76         static Tab* CreateTabN(void);
77         static void DeleteTab(Tab* pTab);
78
79         virtual bool IsMovable(void) const;
80         virtual bool IsResizable(void) const;
81
82
83         result AddItem(const Tizen::Graphics::Bitmap& icon, const Tizen::Base::String& text, int actionId);
84         result AddItem(const Tizen::Graphics::Bitmap& icon, int actionId);
85         result AddItem(const Tizen::Base::String& text, int actionId);
86
87         result InsertItemAt(int index, const Tizen::Graphics::Bitmap& icon, const Tizen::Base::String& text, int actionId);
88         result InsertItemAt(int index, const Tizen::Graphics::Bitmap& icon, int actionId);
89         result InsertItemAt(int index, const Tizen::Base::String& text, int actionId);
90
91         result SetItemAt(int index, const Tizen::Graphics::Bitmap& icon, const Tizen::Base::String& text, int actionId);
92         result SetItemAt(int index, const Tizen::Graphics::Bitmap& icon, int actionId);
93         result SetItemAt(int index, const Tizen::Base::String& text, int actionId);
94
95         result RemoveItemAt(int index);
96         result RemoveAllItems(void);
97
98         result SetBadgeIcon(int actionId, const Tizen::Graphics::Bitmap* pBadgeIcon);
99
100         int GetItemCount(void) const;
101
102         int GetItemIndexFromActionId(int actionId) const;
103         int GetItemActionIdAt(int index) const;
104
105         void SetSelectedItem(int index);
106         int GetSelectedItemIndex(void) const;
107
108         void SetEditModeEnabled(bool enable);
109         bool IsEditModeEnabled(void) const;
110
111         result SetBackgroundBitmap(const Tizen::Graphics::Bitmap& bitmap);
112         result SetFocusedItemBackgroundBitmap (const Tizen::Graphics::Bitmap& bitmap);
113
114         void SetTextColor(const Tizen::Graphics::Color& textColor);
115         Tizen::Graphics::Color GetTextColor(void) const;
116
117         void SetSelectedTextColor(const Tizen::Graphics::Color& textColor);
118         Tizen::Graphics::Color GetSelectedTextColor(void) const;
119
120         result SetHighlightedItemBackgroundBitmap (const Tizen::Graphics::Bitmap& bitmap);
121
122         void SetHighlightedTextColor(const Tizen::Graphics::Color& color);
123         Tizen::Graphics::Color GetHighlightedTextColor(void) const;
124
125         void AddActionEventListener(Tizen::Ui::IActionEventListener& listener);
126         void RemoveActionEventListener(Tizen::Ui::IActionEventListener& listener);
127
128         virtual void OnActionPerformed(const Tizen::Ui::_Control& source, int actionId);
129
130 private:
131         _PublicActionEvent* __pActionEvent;
132
133 };
134
135 }}} // Tizen::Ui::Controls
136
137 #endif //_FUICTRL_TAB_IMPL_H_