Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / controls / FUiCtrl_HeaderItemImpl.cpp
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_HeaderItemImpl.cpp
19 * @brief                This is the implementation file for _HeaderItemImpl class.
20 */
21
22 #include <FBaseSysLog.h>
23 #include "FUiCtrl_HeaderItemImpl.h"
24
25 using namespace Tizen::Base;
26 using namespace Tizen::Graphics;
27
28 namespace Tizen { namespace Ui { namespace Controls
29 {
30
31 _HeaderItemImpl::_HeaderItemImpl(HeaderItem* pPublic)
32         : __actionId(-1)
33         , __itemText(L"")
34 {
35         for (int i = 0; i < HEADER_ITEM_MAX_STATE_COUNT; i++)
36         {
37                 __pIconBitmap[i] = null;
38                 __pHeaderItemBackgroundBitmap[i] = null;
39         }
40 }
41
42 _HeaderItemImpl::~_HeaderItemImpl(void)
43 {
44         for (int i = 0; i < HEADER_ITEM_MAX_STATE_COUNT; i++)
45         {
46                 __pIconBitmap[i] = null;
47                 __pHeaderItemBackgroundBitmap[i] = null;
48         }
49 }
50
51 const _HeaderItemImpl*
52 _HeaderItemImpl::GetInstance(const HeaderItem& headerItem)
53 {
54         return static_cast<const _HeaderItemImpl*> (headerItem.__pImpl);
55 }
56
57 _HeaderItemImpl*
58 _HeaderItemImpl::GetInstance(HeaderItem& headerItem)
59 {
60         return static_cast<_HeaderItemImpl*> (headerItem.__pImpl);
61 }
62
63 result
64 _HeaderItemImpl::Construct(int actionId)
65 {
66         SysTryReturnResult(NID_UI_CTRL, (actionId >= HEADER_ITEM_ACTION_ID_MIN && actionId <= HEADER_ITEM_ACTION_ID_MAX),
67                                 E_INVALID_ARG, "[E_INVALID_ARG] The actionId is invalid.");
68
69         __actionId = actionId;
70         __itemText = String(L"");
71
72         for (int i = 0; i < HEADER_ITEM_MAX_STATE_COUNT; i++)
73         {
74                 __pIconBitmap[i] = null;
75                 __pHeaderItemBackgroundBitmap[i] = null;
76         }
77
78         return E_SUCCESS;
79 }
80
81 int
82 _HeaderItemImpl::GetActionId(void) const
83 {
84         ClearLastResult();
85
86         return __actionId;
87 }
88
89 const Bitmap*
90 _HeaderItemImpl::GetBackgroundBitmap(HeaderItemStatus status) const
91 {
92         ClearLastResult();
93
94         SysTryReturn(NID_UI_CTRL, (status >= HEADER_ITEM_STATUS_NORMAL && status < HEADER_ITEM_MAX_STATE_COUNT), null, E_INVALID_ARG,
95                                 "[E_INVALID_ARG] status is invalid.");
96
97         return __pHeaderItemBackgroundBitmap[status];
98 }
99
100 const Bitmap*
101 _HeaderItemImpl::GetIcon(HeaderItemStatus status) const
102 {
103         ClearLastResult();
104
105         SysTryReturn(NID_UI_CTRL, (status >= HEADER_ITEM_STATUS_NORMAL && status < HEADER_ITEM_MAX_STATE_COUNT), null, E_INVALID_ARG,
106                                 "[E_INVALID_ARG] status is invalid.");
107
108         return __pIconBitmap[status];
109 }
110
111 String
112 _HeaderItemImpl::GetText(void) const
113 {
114         ClearLastResult();
115
116         return __itemText;
117 }
118
119 result
120 _HeaderItemImpl::SetActionId(int actionId)
121 {
122         SysTryReturnResult(NID_UI_CTRL, (actionId >= HEADER_ITEM_ACTION_ID_MIN && actionId <= HEADER_ITEM_ACTION_ID_MAX),
123                                 E_INVALID_ARG, "[E_INVALID_ARG] The actionId is invalid.");
124
125         __actionId = actionId;
126
127         return E_SUCCESS;
128 }
129
130 result
131 _HeaderItemImpl::SetBackgroundBitmap(HeaderItemStatus status, const Bitmap* pBitmap)
132 {
133         SysTryReturnResult(NID_UI_CTRL, (status >= HEADER_ITEM_STATUS_NORMAL && status < HEADER_ITEM_MAX_STATE_COUNT), E_INVALID_ARG,
134                                 "[E_INVALID_ARG] status is invalid.");
135
136         __pHeaderItemBackgroundBitmap[status] = pBitmap;
137
138         return E_SUCCESS;
139 }
140
141 result
142 _HeaderItemImpl::SetIcon(HeaderItemStatus status, const Bitmap* pIcon)
143 {
144         SysTryReturnResult(NID_UI_CTRL, (status >= HEADER_ITEM_STATUS_NORMAL && status < HEADER_ITEM_MAX_STATE_COUNT), E_INVALID_ARG,
145                                 "[E_INVALID_ARG] status is invalid.");
146
147         __pIconBitmap[status] = pIcon;
148
149         return E_SUCCESS;
150 }
151
152 result
153 _HeaderItemImpl::SetText(const String& text)
154 {
155         __itemText = text;
156
157         return E_SUCCESS;
158 }
159
160 }}} // Tizen::Ui::Controls