Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_TabItem.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_TabItem.h
19  * @brief               This is the header file for the _TabItem class.
20  *
21  * This header file contains the declarations of the %_Tab class.
22  */
23
24 #ifndef _FUICTRL_INTERNAL_TABITEM_H_
25 #define _FUICTRL_INTERNAL_TABITEM_H_
26
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
29 #include <FGrpRectangle.h>
30
31 namespace Tizen { namespace Graphics {
32         class Bitmap;
33 }} // Tizen::Graphics
34
35 namespace Tizen { namespace Ui { namespace Controls {
36
37 // enum
38 enum _TabItemStatus
39 {
40         _TABITEM_STATUS_NORMAL = 0,             /** The normal status */
41         _TABITEM_STATUS_PRESSED,                /** The pressed status */
42         _TABITEM_STATUS_SELECTED,               /** The selected status */
43         _TABITEM_STATUS_HIGHLIGHTED,    /** The focused status */
44         _TABITEM_STATUS_DISABLED,               /** The disabled status */
45
46         _TABITEM_STATUS_MAX
47 };
48
49 enum _TabItemStyle
50 {
51         _TABITEM_STYLE_TEXT,
52         _TABITEM_STYLE_ICON,
53         _TABITEM_STYLE_ICON_TEXT
54 };
55
56 /**
57  * @class _TabItem
58  * @brief
59  * @since 2.0
60  *
61  *
62  *
63  *
64  */
65 class _TabItem
66         : public Tizen::Base::Object
67 {
68 private:
69         _TabItem(const _TabItem& value);
70         _TabItem& operator =(const _TabItem& value);
71
72 public:
73         _TabItem(void);
74         virtual ~_TabItem(void);
75
76 public:
77         void SetActionId(int actionId);
78         int GetActionId(void) const;
79
80         void SetUpdateState(bool bUpdate);
81         int GetUpdateState(void) const;
82
83         void SetText(const Tizen::Base::String& text);
84         Tizen::Base::String GetText(void) const;
85
86         void SetIcon(const Tizen::Graphics::Bitmap& icon);
87         Tizen::Graphics::Bitmap* GetIcon(void) const;
88
89         void SetBadgeIcon(const Tizen::Graphics::Bitmap& icon);
90         Tizen::Graphics::Bitmap* GetBadgeIcon(void) const;
91
92         void SetItemBounds(Tizen::Graphics::Rectangle bounds);
93         Tizen::Graphics::Rectangle GetItemBounds(void) const;
94
95         void SetStatus(_TabItemStatus status);
96         _TabItemStatus GetStatus(void) const;
97
98         void SetStyle(int style);
99         _TabItemStyle GetStyle(void) const;
100
101
102 private:
103         int __actionId;
104         bool __bUpdate;
105
106         int __style;
107
108         Tizen::Base::String __text;
109
110         Tizen::Graphics::Bitmap* __pbmIcon;
111         Tizen::Graphics::Bitmap* __pbmBadge;
112
113         Tizen::Graphics::Rectangle __bounds;
114
115         _TabItemStatus __status;
116 };
117
118 }}} // Tizen::Ui::Controls
119
120 #endif // _FUICTRL_INTERNAL_TABITEM_H_