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_TabImpl.cpp
19 * @brief This is the implementation file for the _TabImpl class.
23 #include <FUiControl.h>
24 #include "FUi_ResourceManager.h"
25 #include "FUiCtrl_TabImpl.h"
27 using namespace Tizen::Base;
28 using namespace Tizen::Ui;
29 using namespace Tizen::Graphics;
31 namespace Tizen { namespace Ui { namespace Controls {
33 _TabImpl::_TabImpl(Tab* pPublic, _Tab* pCore)
34 : _ControlImpl(pPublic, pCore)
35 , __pActionEvent(null)
39 _TabImpl::~_TabImpl(void)
43 delete __pActionEvent;
44 __pActionEvent = null;
49 _TabImpl::CreateTabImplN(Tab* pPublic)
54 Rectangle rect(0, 0, 0, 0);
57 pCore = _Tab::CreateTabN();
60 _TabImpl* pTabImpl = new (std::nothrow) _TabImpl(pPublic, pCore);
61 SysTryCatch(NID_UI_CTRL, pTabImpl, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
72 _TabImpl::GetTab(void)
74 return dynamic_cast<Tab*>(&(_ControlImpl::GetPublic()));
79 _TabImpl::GetPublicClassName(void) const
81 return "Controls::Tab";
86 _TabImpl::GetPublic(void) const
88 return static_cast<const Tab&>(_ControlImpl::GetPublic());
93 _TabImpl::GetPublic(void)
95 return static_cast<Tab&>(_ControlImpl::GetPublic());
100 _TabImpl::GetCore(void) const
102 return static_cast<const _Tab&>(_ControlImpl::GetCore());
107 _TabImpl::GetCore(void)
109 return static_cast<_Tab&>(_ControlImpl::GetCore());
114 _TabImpl::GetInstance(Tab& pTab)
116 return static_cast<_TabImpl*>(pTab._pControlImpl);
121 _TabImpl::GetInstance(const Tab& pTab)
123 return static_cast<const _TabImpl*>(pTab._pControlImpl);
128 _TabImpl::CreateTabN(void)
130 result r = E_SUCCESS;
132 Tab* pTab = new (std::nothrow) Tab;
133 SysTryReturn(NID_UI_CTRL, (pTab != null), null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
135 r = pTab->Construct();
136 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to construct Tab instance.");
142 _TabImpl::DeleteTab(Tab* pTab)
153 _TabImpl::IsMovable(void) const
159 _TabImpl::IsResizable(void) const
166 _TabImpl::AddItem(const Bitmap& icon, const String& text, int actionId)
170 result r = GetCore().AddItem(icon, text, actionId);
174 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to add item to tab.");
183 _TabImpl::AddItem(const Bitmap& icon, int actionId)
187 result r = GetCore().AddItem(icon, actionId);
191 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to add item to tab.");
199 _TabImpl::AddItem(const String& text, int actionId)
203 result r = GetCore().AddItem(text, actionId);
207 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to add item to tab.");
216 _TabImpl::InsertItemAt(int index, const Bitmap& icon, const String& text, int actionId)
220 result r = GetCore().InsertItemAt(index, icon, text, actionId);
224 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to insert item to tab.");
233 _TabImpl::InsertItemAt(int index, const Bitmap& icon, int actionId)
237 result r = GetCore().InsertItemAt(index, icon, actionId);
241 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to insert item to tab.");
250 _TabImpl::InsertItemAt(int index, const String& text, int actionId)
254 result r = GetCore().InsertItemAt(index, text, actionId);
258 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to insert item to tab.");
267 _TabImpl::SetItemAt(int index, const Bitmap& icon, const String& text, int actionId)
271 result r = GetCore().SetItemAt(index, icon, text, actionId);
275 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to set item to tab.");
284 _TabImpl::SetItemAt(int index, const Bitmap& icon, int actionId)
288 result r = GetCore().SetItemAt(index, icon, actionId);
292 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to set item to tab.");
301 _TabImpl::SetItemAt(int index, const String& text, int actionId)
305 result r = GetCore().SetItemAt(index, text, actionId);
309 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to set item to tab.");
318 _TabImpl::RemoveItemAt(int index)
322 return GetCore().RemoveItemAt(index);
327 _TabImpl::RemoveAllItems(void)
331 return GetCore().RemoveAllItems();
336 _TabImpl::SetBadgeIcon(int actionId, const Bitmap* pBadgeIcon)
340 return GetCore().SetBadgeIcon(actionId, pBadgeIcon);
345 _TabImpl::GetItemCount(void) const
349 return GetCore().GetItemCount();
354 _TabImpl::GetItemIndexFromActionId(int actionId) const
358 return GetCore().GetItemIndexFromActionId(actionId);
363 _TabImpl::GetItemActionIdAt(int index) const
367 return GetCore().GetItemActionIdAt(index);
372 _TabImpl::SetSelectedItem(int index)
376 GetCore().SetSelectedItemIndex(index);
381 _TabImpl::GetSelectedItemIndex(void) const
385 return GetCore().GetSelectedItemIndex();
390 _TabImpl::SetEditModeEnabled(bool enable)
394 GetCore().SetEditModeEnabled(enable);
399 _TabImpl::IsEditModeEnabled(void) const
403 return GetCore().IsEditModeEnabled();
408 _TabImpl::SetBackgroundBitmap(const Bitmap& bitmap)
412 return GetCore().SetBackgroundBitmap(bitmap);
417 _TabImpl::SetFocusedItemBackgroundBitmap(const Bitmap& bitmap)
421 return GetCore().SetSelectedItemBackgroundBitmap(bitmap);
426 _TabImpl::SetTextColor(const Color& textColor)
430 GetCore().SetTextColor(textColor);
435 _TabImpl::GetTextColor(void) const
439 return GetCore().GetTextColor();
444 _TabImpl::SetSelectedTextColor(const Color& textColor)
448 GetCore().SetSelectedTextColor(textColor);
453 _TabImpl::GetSelectedTextColor(void) const
457 return GetCore().GetSelectedTextColor();
462 _TabImpl::SetHighlightedItemBackgroundBitmap(const Bitmap& bitmap)
466 return GetCore().SetHighlightedItemBackgroundBitmap(bitmap);
471 _TabImpl::SetHighlightedTextColor(const Color& color)
475 GetCore().SetHighlightedTextColor(color);
480 _TabImpl::GetHighlightedTextColor(void) const
484 return GetCore().GetHighlightedTextColor();
489 _TabImpl::AddActionEventListener(IActionEventListener& listener)
493 if (__pActionEvent == null)
495 __pActionEvent = _PublicActionEvent::CreateInstanceN(GetPublic());
497 if (__pActionEvent == null || IsFailed(GetLastResult()))
499 SysLog(NID_UI_CTRL, "[E_SYSTEM] A system error has occurred. Failed to construct a _PublicActionEvent instance.");
500 SetLastResult(E_SYSTEM);
501 delete __pActionEvent;
506 __pActionEvent->AddListener(listener);
508 GetCore().AddActionEventListener(*this);
513 _TabImpl::RemoveActionEventListener(IActionEventListener& listener)
515 __pActionEvent->RemoveListener(listener);
517 GetCore().RemoveActionEventListener(*this);
522 _TabImpl::OnActionPerformed(const _Control& source, int actionId)
524 if (__pActionEvent != null)
526 __pActionEvent->Fire(*_PublicActionEvent::CreateActionEventArgN(actionId));
531 }}} // Tizen::Ui::Controls