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 * @file FUiCtrl_HeaderImpl.h
19 * @brief This is the header file for the _HeaderImpl class.
21 * This header file contains the declarations of the %_HeaderImpl class.
24 #ifndef _FUI_CTRL_INTERNAL_HEADER_IMPL_H_
25 #define _FUI_CTRL_INTERNAL_HEADER_IMPL_H_
28 #include <FUiCtrlHeader.h>
29 #include "FUi_ControlImpl.h"
30 #include "FUiCtrl_Button.h"
31 #include "FUiCtrl_Toolbar.h"
33 namespace Tizen { namespace Ui { namespace Controls
36 class _PublicActionEvent;
38 const int HEADER_MAX_ITEM_COUNT_WITH_BUTTON = 3;
39 const int HEADER_BUTTON_MAX_COUNT = 2;
40 const int HEADER_ITEM_MAX_COUNT = 4;
41 const int HEADER_MAX_WAITING_ANIMATION_POSITION = 3;
42 const int HEADER_TITLE_BUTTON_STYLE_MAX_ITEM_COUNT = 1;
43 const int HEADER_TAB_STYLE_MAX_ITEM_COUNT = 15;
44 const int HEADER_ACTION_ID_MIN = 0;
45 const int HEADER_ACTION_ID_MAX = INT_MAX;
46 const int HEADER_NUMBERD_BADGE_ICON_NUMBER_MAX = 99999;
47 const int HEADER_MORE_BUTTON_ACTION_ID = 500;
51 , public _IActionEventListener
52 , virtual public Tizen::Base::Runtime::IEventListener
55 static _HeaderImpl* CreateHeaderImplN(Header* pControl);
57 _HeaderImpl(Header* pPublic, _Toolbar* pCore);
59 virtual ~_HeaderImpl(void);
61 Header* GetHeader(void) const;
63 virtual const char* GetPublicClassName(void) const;
65 virtual const Header& GetPublic(void) const;
67 virtual Header& GetPublic(void);
69 virtual const _Toolbar& GetCore(void) const;
71 virtual _Toolbar& GetCore(void);
73 static const _HeaderImpl* GetInstance(const Header& header);
75 static _HeaderImpl* GetInstance(Header& header);
77 result AddItem(const HeaderItem& item);
79 ButtonItemStatus GetButtonStatus(ButtonPosition position) const;
81 Tizen::Graphics::Color GetButtonColor(ButtonItemStatus status) const;
83 Tizen::Graphics::Color GetButtonTextColor(ButtonItemStatus status) const;
85 Tizen::Base::String GetDescriptionText(void) const;
87 Tizen::Graphics::Color GetDescriptionTextColor(void) const;
89 Tizen::Graphics::Color GetItemColor(HeaderItemStatus status) const;
91 int GetItemCount(void) const;
93 result GetItemStatus(int itemIndex, HeaderItemStatus& status) const;
95 Tizen::Graphics::Color GetItemTextColor(HeaderItemStatus status) const;
97 HeaderStyle GetStyle(void) const;
99 int GetSelectedItemIndex(void) const;
101 Tizen::Base::String GetTitleText(void) const;
103 Tizen::Graphics::Color GetTitleTextColor(void) const;
105 Tizen::Graphics::Color GetColor(void) const;
107 AnimationStatus GetWaitingAnimationStatus(HeaderAnimationPosition animationPos) const;
109 result InsertItemAt(int itemIndex, const HeaderItem& item);
111 bool IsButtonSet(ButtonPosition position) const;
113 result PauseWaitingAnimation(HeaderAnimationPosition animationPos);
115 result PlayWaitingAnimation(HeaderAnimationPosition animationPos);
117 result RemoveAllButtons(void);
119 result RemoveAllItems(void);
121 result RemoveItemAt(int itemIndex);
123 result RemoveButtonAt(ButtonPosition position);
125 result SetBackgroundBitmap(const Tizen::Graphics::Bitmap* pBitmap);
127 result SetButton(ButtonPosition position, const ButtonItem& button);
129 result SetButtonColor(ButtonItemStatus status, const Tizen::Graphics::Color& color);
131 result SetButtonEnabled(ButtonPosition position, bool enable);
133 result SetButtonTextColor(ButtonItemStatus status, const Tizen::Graphics::Color& color);
135 result SetButtonBadgeIcon(ButtonPosition position, const Tizen::Graphics::Bitmap* pBadgeIcon);
137 result SetButtonNumberedBadgeIcon(ButtonPosition position, int number);
139 result SetItemAt(int itemIndex, const HeaderItem& item);
141 result SetItemBadgeIcon(int itemIndex, const Tizen::Graphics::Bitmap* pBadgeIcon);
143 result SetItemNumberedBadgeIcon(int itemIndex, int number);
145 result SetItemColor(HeaderItemStatus status, const Tizen::Graphics::Color& color);
147 result SetItemEnabled(int itemIndex, bool enable);
149 result SetItemTextColor(HeaderItemStatus status, const Tizen::Graphics::Color& color);
151 result SetItemSelected(int itemIndex);
153 result SetColor(const Tizen::Graphics::Color& color);
155 result SetStyle(HeaderStyle style);
157 result SetTitleIcon(const Tizen::Graphics::Bitmap* pIcon);
159 result SetTitleText(const Tizen::Base::String& text);
161 result SetTitleTextColor(const Tizen::Graphics::Color& color);
163 result SetTransparent(bool transparent);
165 result SetDescriptionText(const Tizen::Base::String& text);
167 result SetDescriptionTextColor(const Tizen::Graphics::Color& color);
169 result StopWaitingAnimation(HeaderAnimationPosition animationPos);
171 bool IsTabEditModeEnabled(void) const;
173 result SetTabEditModeEnabled(bool enable);
175 result SetBackButton(void);
177 bool IsBackButtonSet(void) const;
179 void RemoveBackButton(void);
181 result SetBackButtonEnabled(bool enable);
183 ButtonItemStatus GetBackButtonStatus(void) const;
185 Tizen::Graphics::Rectangle GetButtonBounds(ButtonPosition position) const;
187 void AddActionEventListener(Tizen::Ui::IActionEventListener& listener);
189 void RemoveActionEventListener(Tizen::Ui::IActionEventListener& listener);
191 virtual void OnActionPerformed(const Tizen::Ui::_Control& source, int actionId);
195 result CheckItemValidate(const HeaderItem& item);
197 ToolbarStyle ConvertHeaderStyle(HeaderStyle style);
199 _Button* ConvertButtonItem(const ButtonItem& buttonItem);
201 _Button* ConvertHeaderItem(const HeaderItem& headerItem);
203 ButtonItemStatus ConvertButtonItemStatus(_ButtonStatus status) const;
205 HeaderItemStatus ConvertHeaderItemStatus(_ButtonStatus status) const;
207 _ButtonStatus ConvertButtonStatus(ButtonItemStatus status) const;
209 _ButtonStatus ConvertButtonStatus(HeaderItemStatus status) const;
211 _HeaderImpl(const _HeaderImpl&);
213 _HeaderImpl& operator =(const _HeaderImpl&);
219 _PublicActionEvent* __pPublicActionEvent;
221 //bool __calledBySetItemSelected;
224 }}} // Tizen::Ui::Controls
226 #endif // _FUI_CTRL_INTERNAL_HEADER_IMPL_H_