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 #ifndef _FUI_CTRL_INTERNAL_TABBAR_IMPL_H_
19 #define _FUI_CTRL_INTERNAL_TABBAR_IMPL_H_
21 #include <FUiCtrlTabBar.h>
22 #include <FUiIActionEventListener.h>
23 #include "FUi_ControlImpl.h"
24 #include "FUiCtrl_TabBar.h"
25 #include "FUiCtrl_IActionEventListener.h"
26 #include "FUiCtrl_PublicActionEvent.h"
28 namespace Tizen { namespace Ui { namespace Controls
33 , public _IActionEventListener
34 , virtual public Tizen::Base::Runtime::IEventListener
39 class TabBarSizeInfo : public _ControlImpl::SizeInfo
41 virtual Tizen::Graphics::Dimension GetDefaultMinimumSize(_ControlOrientation orientation) const;
45 virtual ~_TabBarImpl(void);
47 static _TabBarImpl* CreateTabBarImplN(TabBar* pTabBar, const Tizen::Graphics::Rectangle& bounds);
49 result AddItem(const Tizen::Base::String& text, int actionId);
50 result InsertItemAt(int index, const Tizen::Base::String& text, int actionId);
51 result SetItemAt(int index, const Tizen::Base::String& text, int actionId);
52 result RemoveItemAt(int index);
53 result RemoveAllItems(void);
56 result SetColor(const Tizen::Graphics::Color& color);
57 Tizen::Graphics::Color GetColor(void) const;
59 result SetSelectedItemColor(const Tizen::Graphics::Color& color);
60 Tizen::Graphics::Color GetSelectedItemColor(void) const;
62 result SetItemTextColor(TabBarItemStatus status, const Tizen::Graphics::Color& color);
63 Tizen::Graphics::Color GetItemTextColor(TabBarItemStatus status) const;
65 result SetItemSelected(int index);
66 int GetSelectedItemIndex(void) const;
68 int GetItemCount(void) const;
70 result SetWidth(int width);
72 void AddActionEventListener(Tizen::Ui::IActionEventListener& listener);
73 void RemoveActionEventListener(Tizen::Ui::IActionEventListener& listener);
75 static _TabBarImpl* GetInstance(TabBar& tabBar);
76 static const _TabBarImpl* GetInstance(const TabBar& tabBar);
78 virtual TabBar& GetPublic(void);
79 virtual const TabBar& GetPublic(void) const;
80 virtual const char* GetPublicClassName(void) const;
81 virtual const _TabBar& GetCore(void) const;
82 virtual _TabBar& GetCore(void);
84 virtual void OnActionPerformed(const Tizen::Ui::_Control& source, int actionId);
87 _TabBarImpl(TabBar* pTabBar, _TabBar* pCore);
89 _TabBarImpl(const _TabBarImpl& rhs);
90 _TabBarImpl& operator =(const _TabBarImpl& rhs);
92 _PublicActionEvent* __pPublicActionEvent;
95 }}} // Tizen::Ui::Controls
97 #endif //_FUI_CTRL_INTERNAL_TABBAR_IMPL_H_