Blocking traversaltag setting on KeyRelease: Fix for N_SE-53471
[platform/framework/native/uifw.git] / src / ui / controls / FUiCtrl_TableViewItem.cpp
index 2639eb2..a434ac3 100644 (file)
@@ -134,8 +134,9 @@ _TableViewItemControl*
 _TableViewItemControl::CreateTableViewItemControlN(void)
 {
        _TableViewItemControl* pItemControl = new (std::nothrow) _TableViewItemControl();
-       SysTryReturn(NID_UI_CTRL, pItemControl, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
-       SysTryCatch(NID_UI_CTRL, GetLastResult() == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] A system error occurred.");
+       SysTryReturn(NID_UI_CTRL, pItemControl, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+       SysTryCatch(NID_UI_CTRL, GetLastResult() == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred.", GetErrorMessage(E_SYSTEM));
+
 
        pItemControl->AcquireHandle();
 
@@ -239,6 +240,7 @@ _TableViewItem::_TableViewItem(float itemHeight)
        , __isTabSoundPlayed(false)
        , __isSelectedDetailButton(false)
        , __isSimpleLastItem(false)
+       , __isSectionItem(false)
        , __isTouchPressOnScroll(false)
        , __isTouchCancelOnPressRelease(false)
        , __pHighlightVisualElement(null)
@@ -276,11 +278,11 @@ _TableViewItem::~_TableViewItem()
 {
        __isAnimationCallbackBlocked = true;
 
-       StopTouchPressedTimer();
+       StopTouchPressedTimer(true);
        delete __pPressedTimer;
        __pPressedTimer = null;
 
-       StopTouchReleasedTimer();
+       StopTouchReleasedTimer(true);
        delete __pReleasedTimer;
        __pReleasedTimer = null;
 
@@ -400,12 +402,13 @@ _TableViewItem::CreateTableViewItemN(float itemHeight)
 
        _TableViewItem* pItem = null;
        pItem = new (std::nothrow) _TableViewItem(itemHeight);
-       SysTryReturn(NID_UI_CTRL, pItem, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryReturn(NID_UI_CTRL, pItem, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pItem->AcquireHandle();
 
        r = pItem->Initialize();
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r = E_SYSTEM, "[E_SYSTEM] Unable to create TableView Item");
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r = E_SYSTEM, "[%s] A system error has been occurred.", GetErrorMessage(E_SYSTEM));
+
 
        return pItem;
 
@@ -423,7 +426,7 @@ _TableViewItem::Initialize(void)
        result r = E_SUCCESS;
 
        __pHighlightVisualElement = new (std::nothrow) _VisualElement();
-       SysTryCatch(NID_UI_CTRL, __pHighlightVisualElement != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+       SysTryCatch(NID_UI_CTRL, __pHighlightVisualElement != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        r = __pHighlightVisualElement->Construct();
        SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Failed to construct Visual Element.", GetErrorMessage(r));
@@ -723,14 +726,14 @@ _TableViewItem::CreateDetailButton(void)
 }
 
 _Label*
-_TableViewItem::GetLabelCore(Label* label)
+_TableViewItem::GetLabelCore(Label* pLabel)
 {
-       if (label == null)
+       if (pLabel == null)
        {
                return null;
        }
 
-       _LabelImpl* pImpl = _LabelImpl::GetInstance(*label);
+       _LabelImpl* pImpl = _LabelImpl::GetInstance(*pLabel);
        return &pImpl->GetCore();
 }
 
@@ -806,7 +809,7 @@ _TableViewItem::SetItemBackgroundBitmap(ListItemState itemState, const Bitmap* p
        Bitmap* pCopyBitmap = null;
 
        pCopyBitmap = _BitmapImpl::CloneN(*pBitmap);
-       SysTryReturn(NID_UI_CTRL, pCopyBitmap != null, false, E_OUT_OF_MEMORY, ("[E_OUT_OF_MEMORY] The memory is insufficient."));
+       SysTryReturn(NID_UI_CTRL, pCopyBitmap != null, false, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        delete __pItemBgBitmap[itemState];
        __pItemBgBitmap[itemState] = pCopyBitmap;
@@ -830,7 +833,7 @@ _TableViewItem::SetItemBackgroundBitmap(ListItemState itemState, const Bitmap* p
                        result r = E_SUCCESS;
 
                        __pBitmapVisualElement = new (std::nothrow) _VisualElement();
-                       SysTryCatch(NID_UI_CTRL, __pBitmapVisualElement != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+                       SysTryCatch(NID_UI_CTRL, __pBitmapVisualElement != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                        r = __pBitmapVisualElement->Construct();
                        SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
@@ -1108,6 +1111,16 @@ _TableViewItem::GetItemTapSoundEnabled(void)
        return __isItemTapSoundEnabled;
 }
 
+void
+_TableViewItem::DrawAnnexFocus(void)
+{
+       if (__pItemAnnex)
+       {
+               __pItemAnnex->SetFocus();
+       }
+       return;
+}
+
 Tizen::Graphics::Canvas*
 _TableViewItem::OnCanvasRequestedN(const Tizen::Graphics::FloatRectangle& bounds)
 {
@@ -1119,7 +1132,7 @@ _TableViewItem::OnCanvasRequestedN(const Tizen::Graphics::FloatRectangle& bounds
                if (pDrawBitmap != null)
                {
                        pCanvas = __pBitmapVisualElement->GetCanvasN();
-                       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+                       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
                        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
                        pCanvas->Clear();
 
@@ -1401,7 +1414,7 @@ _TableViewItem::FireItemTouchPressed()
 }
 
 void
-_TableViewItem::FireItemTouchReleased()
+_TableViewItem::FireItemTouchReleased(bool isTouchRelease)
 {
        if (__isTouchCancelOnPressRelease == true)
        {
@@ -1501,6 +1514,20 @@ _TableViewItem::FireItemTouchReleased()
 
        if (fireItemEvent)
        {
+               if (isTouchRelease)
+               {
+                       int groupIndex = -1;
+                       int itemIndex = -1;
+                       GetItemIndex(groupIndex, itemIndex);
+                       if (GetParent())
+                       {
+                               _TableView* pTableView = dynamic_cast<_TableView*>(GetParent());
+                               if (pTableView)
+                               {
+                                       pTableView->SetFocusItemOnPressedState(groupIndex, itemIndex);
+                               }
+                       }
+               }
                FireItemEvent(selectedItem);
        }
 }
@@ -1587,16 +1614,7 @@ _TableViewItem::OnTouchCanceled(const _Control& source, const _TouchInfo& touchi
        __annexOnOffHandlerMoved = false;
        __itemTouchMoved = false;
 
-       __itemSelected = false;
-       __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
-
-       if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
-       {
-               __isSelectedDetailButton = false;
-       }
-
-       SetItemChanged(true);
-       Invalidate();
+       ResetItemState();
 
        if (&source != this)
        {
@@ -1674,6 +1692,8 @@ _TableViewItem::OnChildAttached(const _Control& child)
                }
        }
 
+       DeactivateChildAccessibilityContainer(child);
+
        pControl->SetTouchPressThreshold(SENSITIVE);
 
        FloatRectangle bounds = child.GetBoundsF();
@@ -1776,7 +1796,7 @@ _TableViewItem::StartTouchPressedTimer(const _Control& source, const _TouchInfo&
        if (__pPressedTimer == null)
        {
                __pPressedTimer = new (std::nothrow) Timer();
-               SysTryCatch(NID_UI_CTRL, __pPressedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+               SysTryCatch(NID_UI_CTRL, __pPressedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                r = __pPressedTimer->Construct(*this);
                SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage);
@@ -1785,7 +1805,7 @@ _TableViewItem::StartTouchPressedTimer(const _Control& source, const _TouchInfo&
        if (__isPressedTimerEnabled == false)
        {
                r = __pPressedTimer->Start(TOUCH_PRESSED_DURATION);
-               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage);
+               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
 
                __isPressedTimerEnabled = true;
        }
@@ -1805,7 +1825,7 @@ CATCH:
 }
 
 void
-_TableViewItem::StopTouchPressedTimer(void)
+_TableViewItem::StopTouchPressedTimer(bool forceStop)
 {
        result r = E_SUCCESS;
 
@@ -1814,7 +1834,7 @@ _TableViewItem::StopTouchPressedTimer(void)
                return;
        }
 
-       if (__isPressedTimerEnabled)
+       if (__isPressedTimerEnabled || forceStop)
        {
                r = __pPressedTimer->Cancel();
                SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
@@ -1833,7 +1853,8 @@ _TableViewItem::StartTouchReleasedTimer()
        if (__pReleasedTimer == null)
        {
                __pReleasedTimer = new (std::nothrow) Timer();
-               SysTryCatch(NID_UI_CTRL, __pReleasedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+               SysTryCatch(NID_UI_CTRL, __pReleasedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
 
                r = __pReleasedTimer->Construct(*this);
                SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage);
@@ -1842,7 +1863,7 @@ _TableViewItem::StartTouchReleasedTimer()
        if (!__isReleasedTimerEnabled)
        {
                r = __pReleasedTimer->Start(TOUCH_RELEASED_DURATION);
-               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage);
+               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
        }
        __isReleasedTimerEnabled = true;
 
@@ -1861,7 +1882,7 @@ CATCH:
 }
 
 void
-_TableViewItem::StopTouchReleasedTimer(void)
+_TableViewItem::StopTouchReleasedTimer(bool forceStop)
 {
        result r = E_SUCCESS;
 
@@ -1870,7 +1891,7 @@ _TableViewItem::StopTouchReleasedTimer(void)
                return;
        }
 
-       if (__isReleasedTimerEnabled)
+       if (__isReleasedTimerEnabled || forceStop)
        {
                r = __pReleasedTimer->Cancel();
                SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
@@ -1912,7 +1933,8 @@ _TableViewItem::StartCheckBoxAnimation(void)
        if (__pCheckedTimer == null)
        {
                __pCheckedTimer = new (std::nothrow) Timer();
-               SysTryCatch(NID_UI_CTRL, __pCheckedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+               SysTryCatch(NID_UI_CTRL, __pCheckedTimer != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+;
 
                r = __pCheckedTimer->Construct(*this);
                SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage);
@@ -1921,7 +1943,7 @@ _TableViewItem::StartCheckBoxAnimation(void)
        if (__isCheckedTimerEnabled == false)
        {
                r = __pCheckedTimer->Start(CHECKED_ANIMATION_DURATION);
-               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage);
+               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
 
                __isCheckedTimerEnabled = true;
        }
@@ -1945,7 +1967,8 @@ _TableViewItem::StopCheckBoxAnimation(void)
 {
        result r = E_SUCCESS;
 
-       SysTryReturnVoidResult(NID_UI_CTRL, __pCheckedTimer != null, E_SYSTEM, "[E_SYSTEM] Timer is invalid.");
+       SysTryReturnVoidResult(NID_UI_CTRL, __pCheckedTimer != null, E_SYSTEM, "[%s] A system error has been occurred. Timer is invalid.", GetErrorMessage(E_SYSTEM));
+
 
        if (__isCheckedTimerEnabled)
        {
@@ -1993,7 +2016,7 @@ _TableViewItem::PlayCheckBoxAnimation(void)
        bounds.SetBounds(0, 0, annexWidth, annexHeight);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY,  "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        r = pCanvas->Construct(bounds);
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -2018,7 +2041,7 @@ _TableViewItem::PlayCheckBoxAnimation(void)
        }
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY,  "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, bounds);
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
@@ -2095,13 +2118,23 @@ _TableViewItem::OnBoundsChanged(void)
        {
                __pAccessibilityElement->SetBounds(FloatRectangle(0.0f,0.0f, GetBoundsF().width, GetBoundsF().height));
        }
+
+       RemoveFocusRing(true);
+       if (IsFocusModeStateEnabled())
+       {
+               if (GetRootWindow() && GetRootWindow()->IsActivated()
+                               && IsFocused())
+               {
+                       DrawFocus();
+               }
+       }
 }
 
 void
 _TableViewItem::SetDrawingProperty(_ItemDrawingProperty* pDrawingProperty)
 {
 
-       SysTryReturnVoidResult(NID_UI_CTRL, pDrawingProperty != null, E_INVALID_ARG, "[E_INAVLID_ARG] pDrawingProperty is null");
+       SysTryReturnVoidResult(NID_UI_CTRL, pDrawingProperty != null, E_INVALID_ARG, "[%s] Invalid argument(s) is used. The pDrawingProperty is null.", GetErrorMessage(E_INVALID_ARG));
 
        __pDrawingProperty = pDrawingProperty;
 
@@ -2157,7 +2190,7 @@ _TableViewItem::DrawItemBackground(void)
                else
                {
                        pCanvas = __pBitmapVisualElement->GetCanvasN();
-                       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+                       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
                        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
                        pCanvas->Clear();
 
@@ -2267,11 +2300,9 @@ void
 _TableViewItem::DrawSectionStyleBackground(void)
 {
        Canvas* pCanvas = null;
-       Bitmap* pSectionBg = null;
-       Bitmap* pSectionPressBg = null;
-       Bitmap* pSectionDisabledBg = null;
        Bitmap* pReplacementSectionPressBg = null;
        Bitmap* pReplacementSectionBg = null;
+       Bitmap* pReplacementSectionDisabledBg = null;
        Color bgColor = __colorItemBg[__drawingStatus];
        FloatRectangle bounds = GetBoundsF();
        float dividerHeight = 0.0f;
@@ -2279,32 +2310,58 @@ _TableViewItem::DrawSectionStyleBackground(void)
        result r = E_SUCCESS;
 
        pCanvas = GetVisualElement()->GetCanvasN();
-       SysTryReturnVoidResult(NID_UI_CTRL, pCanvas != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+       SysTryReturnVoidResult(NID_UI_CTRL, pCanvas != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(r));
 
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
        pCanvas->Clear();
 
-       if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
-       {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBg);
-       }
-       else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
-       {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBg);
-       }
-       else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
-       {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBg);
-       }
-       else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
+       if (bgColor != null)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBg);
+               if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
+               }
+               else
+               {
+                       r = E_SYSTEM;
+               }
        }
        else
        {
-               r = E_SYSTEM;
+               if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDrawingProperty->sectionStyleBgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDrawingProperty->sectionStyleBgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDrawingProperty->sectionStyleBgColor, pReplacementSectionBg);
+               }
+               else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
+               {
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDrawingProperty->sectionStyleBgColor, pReplacementSectionBg);
+               }
+               else
+               {
+                       r = E_SYSTEM;
+               }
        }
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred.  SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
 
        if (__enabledState)
        {
@@ -2314,107 +2371,96 @@ _TableViewItem::DrawSectionStyleBackground(void)
                        {
                                if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_SINGLE_BG_PRESSED))
                                {
-                                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionPressBg);
-                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionPressBg);
+                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                                }
                        }
                        else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
                        {
                                if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_TOP_BG_PRESSED))
                                {
-                                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionPressBg);
-                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionPressBg);
+                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                                }
                        }
                        else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
                        {
                                if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_CENTER_BG_PRESSED))
                                {
-                                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionPressBg);
-                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionPressBg);
+                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                                }
                        }
                        else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
                        {
                                if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_BOTTOM_BG_PRESSED))
                                {
-                                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionPressBg);
-                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionPressBg);
+                                       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                                }
                        }
 
                        GET_FIXED_VALUE_CONFIG(TABLEVIEW::ITEM_DIVIDER_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, dividerHeight);
 
-                       if (pSectionPressBg)
+                       if (pReplacementSectionPressBg)
                        {
-                               pReplacementSectionPressBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionPressBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
+                               DrawBitmap(*pCanvas, FloatRectangle(0.0f, dividerHeight, bounds.width, bounds.height - (dividerHeight * 2)), *pReplacementSectionPressBg);
                        }
                        else
                        {
-                               pReplacementSectionPressBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
+                               DrawBitmap(*pCanvas, FloatRectangle(0.0f, dividerHeight, bounds.width, bounds.height - (dividerHeight * 2)), *pReplacementSectionBg);
                        }
-
-                       DrawBitmap(*pCanvas, FloatRectangle(0.0f, dividerHeight, bounds.width, bounds.height - (dividerHeight * 2)), *pReplacementSectionPressBg);
                }
                else
                {
-                       if (bgColor != null)
-                       {
-                               pReplacementSectionBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
-                       }
-                       else
-                       {
-                               pReplacementSectionBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBg, Color::GetColor(COLOR_ID_MAGENTA), __pDrawingProperty->sectionStyleBgColor);
-                       }
-
                        DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementSectionBg);
                }
        }
        else
        {
+               GET_COLOR_CONFIG(TABLEVIEW::ITEM_BG_DISABLED, bgColor);
+
                if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
                {
                        if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_SINGLE_BG_DISABLED))
                        {
-                               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionDisabledBg);
-                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionDisabledBg);
+                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                        }
                }
                else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
                {
                        if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_TOP_BG_DISABLED))
                        {
-                               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionDisabledBg);
-                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionDisabledBg);
+                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                        }
                }
                else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
                {
                        if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_CENTER_BG_DISABLED))
                        {
-                               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionDisabledBg);
-                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionDisabledBg);
+                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                        }
                }
                else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
                {
                        if (IS_CUSTOM_BITMAP(TABLEVIEW::SECTIONITEM_BOTTOM_BG_DISABLED))
                        {
-                               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionDisabledBg);
-                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+                               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionDisabledBg);
+                               SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
                        }
                }
 
-               GET_COLOR_CONFIG(TABLEVIEW::ITEM_BG_DISABLED, bgColor);
-               if (pSectionDisabledBg)
+               if (pReplacementSectionDisabledBg)
                {
-                       pReplacementSectionBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionDisabledBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
+                       DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementSectionDisabledBg);
                }
                else
                {
-                       pReplacementSectionBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
+                       DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementSectionBg);
                }
-               DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementSectionBg);
        }
 
        if (__pDrawingProperty->groupedLookEnabled == true)
@@ -2432,11 +2478,9 @@ _TableViewItem::DrawSectionStyleBackground(void)
        }
 
 CATCH:
-       delete pSectionBg;
-       delete pSectionPressBg;
-       delete pSectionDisabledBg;
        delete pReplacementSectionPressBg;
        delete pReplacementSectionBg;
+       delete pReplacementSectionDisabledBg;
        delete pCanvas;
 }
 
@@ -2449,80 +2493,75 @@ _TableViewItem::DrawSectionStyleBackgroundCover(void)
                return;
        }
 
-       Bitmap* pSectionBgCoverEf = null;
        Bitmap* pReplacementSectionBgEf = null;
        Bitmap* pReplacementSectionBg = null;
-       Bitmap* pSectionBgCoverBg = null;
        Bitmap* pMergeBitmap = null;
        Canvas* pCanvas = null;
        Color bgColor;
 
        result r = E_SUCCESS;
        FloatRectangle bounds = GetBoundsF();
+
+       if (__enabledState)
+       {
+               _TableView* pParent = dynamic_cast<_TableView*>(GetParent());
+               SysTryCatch(NID_UI_CTRL, pParent != null, , E_SYSTEM, "[%s] A system error has been occurred. SectionTableView  load failed", GetErrorMessage(E_SYSTEM));
+
+               bgColor = pParent->GetBackgroundColor();
+       }
+       else
+       {
+               GET_COLOR_CONFIG(TABLEVIEW::ITEM_BG_DISABLED, bgColor);
+       }
+
        if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverEf);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBgEf);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverEf);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBgEf);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverEf);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBgEf);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverEf);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_COVER_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBgEf);
        }
        else
        {
                r = E_SYSTEM;
        }
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
 
        if (__itemType == TABLE_VIEW_ITEM_TYPE_ONE)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverBg);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_SINGLE_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_TOP)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverBg);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_TOP_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_MIDDLE)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverBg);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_CENTER_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
        }
        else if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSectionBgCoverBg);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::SECTIONITEM_BOTTOM_COVER_ROUND_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementSectionBg);
        }
        else
        {
                r = E_SYSTEM;
        }
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] SectionStyle image load failed");
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. SectionStyle image load failed", GetErrorMessage(E_SYSTEM));
 
        __pItemCover->SetBounds(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height));
 
-       if (__enabledState)
-       {
-               _TableView* pParent = dynamic_cast<_TableView*>(GetParent());
-               SysTryCatch(NID_UI_CTRL, pParent != null, , E_SYSTEM, "[E_SYSTEM] SectionTableView load failed");
-
-               bgColor = pParent->GetBackgroundColor();
-       }
-       else
-       {
-               GET_COLOR_CONFIG(TABLEVIEW::ITEM_BG_DISABLED, bgColor);
-       }
-
-       pReplacementSectionBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBgCoverBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
-       pReplacementSectionBgEf = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pSectionBgCoverEf, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
-
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
-
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
        pCanvas->Construct(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height));
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
        pCanvas->Clear();
@@ -2531,7 +2570,7 @@ _TableViewItem::DrawSectionStyleBackgroundCover(void)
        DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementSectionBgEf);
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height));
 
@@ -2540,10 +2579,8 @@ _TableViewItem::DrawSectionStyleBackgroundCover(void)
        __pItemCover->SetBackgroundBitmap(*pMergeBitmap);
 
 CATCH:
-       delete pSectionBgCoverEf;
        delete pReplacementSectionBgEf;
        delete pReplacementSectionBg;
-       delete pSectionBgCoverBg;
        delete pCanvas;
        delete pMergeBitmap;
 }
@@ -2552,7 +2589,6 @@ void
 _TableViewItem::DrawContextItemBackground(void)
 {
        Canvas* pCanvas = null;
-       Bitmap* pContextBg = null;
        Bitmap* pContextBgEf = null;
        Bitmap* pReplacementContextBg = null;
        Color bgColor = __colorItemBg[__drawingStatus];
@@ -2560,18 +2596,6 @@ _TableViewItem::DrawContextItemBackground(void)
        FloatRectangle bounds = GetBoundsF();
        result r = E_SUCCESS;
 
-       r = GET_BITMAP_CONFIG_N(TABLEVIEW::QUICK_MENU_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pContextBg);
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] ContextItem image load failed");
-
-       r = GET_BITMAP_CONFIG_N(TABLEVIEW::QUICK_MENU_BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pContextBgEf);
-       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[E_SYSTEM] ContextItem image load failed");
-
-       pCanvas = GetVisualElement()->GetCanvasN();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
-
-       pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
-       pCanvas->Clear();
-
        if (__enabledState)
        {
                if (bgColor == null)
@@ -2583,15 +2607,24 @@ _TableViewItem::DrawContextItemBackground(void)
        {
                GET_COLOR_CONFIG(TABLEVIEW::ITEM_BG_DISABLED, bgColor);
        }
-       pReplacementContextBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pContextBg, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
-       SysTryCatch(NID_UI_CTRL, pReplacementContextBg != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+
+       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::QUICK_MENU_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, bgColor, pReplacementContextBg);
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. ContextItem image load failed", GetErrorMessage(E_SYSTEM));
+
+       r = GET_BITMAP_CONFIG_N(TABLEVIEW::QUICK_MENU_BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pContextBgEf);
+       SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , E_SYSTEM, "[%s] A system error has been occurred. ContextItem image load failed", GetErrorMessage(E_SYSTEM));
+
+       pCanvas = GetVisualElement()->GetCanvasN();
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
+       pCanvas->Clear();
 
        DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pReplacementContextBg);
        DrawBitmap(*pCanvas, FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pContextBgEf);
 
 CATCH:
        delete pCanvas;
-       delete pContextBg;
        delete pContextBgEf;
        delete pReplacementContextBg;
 }
@@ -2697,7 +2730,7 @@ _TableViewItem::DrawCheckBox(void)
        bounds.SetBounds(0.0f, 0.0f, annexWidth, annexHeight);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pCanvas->Construct(bounds);
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -2718,7 +2751,7 @@ _TableViewItem::DrawCheckBox(void)
        }
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, bounds);
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
@@ -2753,27 +2786,28 @@ _TableViewItem::DrawRadioBox(void)
                if (__drawingStatus == TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL)
                {
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButtonBg);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[E_SYSTEM] RadioButtonBg image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[%s] A system error has been occurred. RadioButtonBg image load failed", GetErrorMessage(E_SYSTEM));
 
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_BUTTON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButton);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[E_SYSTEM] CheckBox image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[%s] A system error has been occurred.CheckBox image load failed", GetErrorMessage(E_SYSTEM));
                }
                else if ((__drawingStatus == TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED) || (__drawingStatus == TABLE_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED))
                {
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButtonBg);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[E_SYSTEM] RadioButtonBg image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[%s] A system error has been occurred. RadioButtonBg image load failed", GetErrorMessage(E_SYSTEM));
+
 
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_BUTTON_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButton);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[E_SYSTEM] CheckBox image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[%s] A system error has been occurred.CheckBox image load failed", GetErrorMessage(E_SYSTEM));
                }
        }
        else
        {
                r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_NORMAL_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButtonBg);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[E_SYSTEM] RadioButtonBg image load failed");
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButtonBg != null), , E_SYSTEM, "[%s] A system error has been occurred. RadioButtonBg image load failed", GetErrorMessage(E_SYSTEM));
 
                r = GET_BITMAP_CONFIG_N(TABLEVIEW::RADIOBUTTON_BUTTON_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pRadioButton);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[E_SYSTEM] CheckBox image load failed");
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pRadioButton != null), , E_SYSTEM, "[%s] A system error has been occurred.CheckBox image load failed", GetErrorMessage(E_SYSTEM));
        }
 
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, annexWidth);
@@ -2781,7 +2815,7 @@ _TableViewItem::DrawRadioBox(void)
        bounds.SetBounds(0.0f, 0.0f, annexWidth, annexHeight);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pCanvas->Construct(bounds);
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -2795,7 +2829,7 @@ _TableViewItem::DrawRadioBox(void)
        }
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, bounds);
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
@@ -2850,7 +2884,7 @@ _TableViewItem::DrawOnOffButton(void)
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::ONOFFBUTTON_OFF_HANDLER_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pOnOffButtonHandler);
                }
        }
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), , E_SYSTEM, "[E_SYSTEM] OnOffButtonHandler image load failed");
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), , E_SYSTEM, "[%s] A system error has been occurred. OnOffButtonHandler image load failed", GetErrorMessage(E_SYSTEM));
 
        if (__enabledState)
        {
@@ -2860,14 +2894,14 @@ _TableViewItem::DrawOnOffButton(void)
        {
                r = GET_BITMAP_CONFIG_N(TABLEVIEW::ONOFFBUTTON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pOnOffButton);
        }
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButton != null), , E_SYSTEM, "[E_SYSTEM] OnOffButton image load failed");
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButton != null), , E_SYSTEM, "[%s] A system error has been occurred. OnOffButton image load failed", GetErrorMessage(E_SYSTEM));
 
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, annexWidth);
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, annexHeight);
        bounds.SetBounds(0, 0, annexWidth, annexHeight);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pCanvas->Construct(bounds);
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -2890,7 +2924,7 @@ _TableViewItem::DrawOnOffButton(void)
        DrawBitmap(*pCanvas, handlerBounds, *pOnOffButtonHandler);
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, bounds);
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
@@ -2931,7 +2965,7 @@ _TableViewItem::AdjustAnnexOnOffHandlerPosition()
        {
                r = GET_BITMAP_CONFIG_N(TABLEVIEW::ONOFFBUTTON_OFF_HANDLER, BITMAP_PIXEL_FORMAT_ARGB8888, pOnOffButtonHandler);
        }
-       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), E_SYSTEM, "[E_SYSTEM] OnOffHandlerButton button image load failed.");
+       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), E_SYSTEM, "[%s] A system error has been occurred. OnOffHandlerButton button image load failed.", GetErrorMessage(E_SYSTEM));
 
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, annexWidth);
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, annexHeight);
@@ -2946,7 +2980,7 @@ _TableViewItem::AdjustAnnexOnOffHandlerPosition()
                if (annexStartPositionX <= __annexOnOffHandlerPositionX
                        && annexEndPositionX >= __annexOnOffHandlerPositionX)
                {
-                       if (((annexEndPositionX - annexStartPositionX) / 2) < (__annexOnOffHandlerPositionX + (handlerBounds.width / 2)) - annexStartPositionX )
+                       if (((annexEndPositionX - annexStartPositionX) / 2) < (__annexOnOffHandlerPositionX + (handlerBounds.width / 2)) - annexStartPositionX)
                        {
                                handlerPositionX = annexEndPositionX;
                                SetChecked(true);
@@ -3001,7 +3035,7 @@ _TableViewItem::DrawAnnexOnOffHandler(float touchEndPosition)
        float nextHandlerX = 0.0f;
 
        r = GET_BITMAP_CONFIG_N(TABLEVIEW::ONOFFBUTTON_BG, BITMAP_PIXEL_FORMAT_ARGB8888, pOnOffButton);
-       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButton != null), E_SYSTEM, "[E_SYSTEM] OnOffButton image load failed.");
+       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButton != null), E_SYSTEM, "[%s] A system error has been occurred. OnOffButton image load failed", GetErrorMessage(E_SYSTEM));
 
        if (IsChecked() == true)
        {
@@ -3011,14 +3045,14 @@ _TableViewItem::DrawAnnexOnOffHandler(float touchEndPosition)
        {
                r = GET_BITMAP_CONFIG_N(TABLEVIEW::ONOFFBUTTON_OFF_HANDLER, BITMAP_PIXEL_FORMAT_ARGB8888, pOnOffButtonHandler);
        }
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), , E_SYSTEM, "[E_SYSTEM] OnOffHandlerButton image load failed");
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pOnOffButtonHandler != null), , E_SYSTEM, "[%s] A system error has been occurred. OnOffHandlerButton button image load failed.", GetErrorMessage(E_SYSTEM));
 
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, annexWidth);
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, annexHeight);
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_ONOFF_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, annexMargin);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pCanvas->Construct(FloatRectangle(0, 0, annexWidth, annexHeight));
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -3060,7 +3094,7 @@ _TableViewItem::DrawAnnexOnOffHandler(float touchEndPosition)
        DrawBitmap(*pCanvas, handlerBounds, *pOnOffButtonHandler);
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pMergeBitmap->Construct(*pCanvas, FloatRectangle(0, 0, annexWidth, annexHeight));
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
@@ -3080,8 +3114,6 @@ CATCH:
 void
 _TableViewItem::DrawDetailButton(void)
 {
-       Bitmap* pDetail = null;
-       Bitmap* pDetailBg = null;
        Bitmap* pDetailBgEffect = null;
        Bitmap* pDetailEffect = null;
        Bitmap* pReplacementDetail = null;
@@ -3101,24 +3133,22 @@ _TableViewItem::DrawDetailButton(void)
 
        if (__enabledState)
        {
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailBg);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBg != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
-
                if (__isSelectedDetailButton)
                {
                        if (!themeBackgroundBitmap)
                        {
                                r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailBgEffect);
-                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
 
                                r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailEffect);
-                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM,"[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
                        }
 
-                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pDetail);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetail != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
-
                        GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_PRESSED, replacementNewColor);
+
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, replacementNewColor, pReplacementDetail);
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pReplacementDetail != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
+
                        GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_BG_PRESSED, replacementNewBgColor);
                }
                else
@@ -3126,44 +3156,45 @@ _TableViewItem::DrawDetailButton(void)
                        if (!themeBackgroundBitmap)
                        {
                                r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailBgEffect);
-                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
 
                                r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailEffect);
-                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
                        }
 
-                       r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pDetail);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetail != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
-
                        GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_NORMAL, replacementNewColor);
+
+                       r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, replacementNewColor, pReplacementDetail);
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pReplacementDetail != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
+
                        GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_BG_NORMAL, replacementNewBgColor);
                }
        }
        else
        {
-
                if (!themeBackgroundBitmap)
                {
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_EFFECT_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailBgEffect);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBgEffect != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
 
                        r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailEffect);
-                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+                       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailEffect != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
                }
 
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pDetail);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetail != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+               GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_NORMAL, replacementNewColor);
 
-               r = GET_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pDetailBg);
-               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pDetailBg != null), , E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_REVEAL_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, replacementNewColor, pReplacementDetail);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pReplacementDetail != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
 
-               GET_COLOR_CONFIG(TABLEVIEW::ITEM_ANNEX_DETAIL_NORMAL, replacementNewColor);
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, replacementNewBgColor, pReplacementDetailBg);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pReplacementDetailBg != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
        }
-       pReplacementDetailBg = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pDetailBg, Color::GetColor(COLOR_ID_MAGENTA), replacementNewBgColor);
-       SysTryCatch(NID_UI_CTRL, pReplacementDetailBg != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
 
-       pReplacementDetail = Tizen::Graphics::_BitmapImpl::GetColorReplacedBitmapN(*pDetail, Color::GetColor(COLOR_ID_MAGENTA), replacementNewColor);
-       SysTryCatch(NID_UI_CTRL, pReplacementDetail != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Detail button image load failed");
+       if (pReplacementDetailBg == null)
+       {
+               r = GET_REPLACED_BITMAP_CONFIG_N(TABLEVIEW::CIRCLE_BUTTON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, replacementNewBgColor, pReplacementDetailBg);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS) && (pReplacementDetailBg != null), , E_SYSTEM, "[%s] A system error has been occurred. Detail button image load failed", GetErrorMessage(E_SYSTEM));
+       }
 
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_MORE_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, annexWidth);
        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_ANNEX_MORE_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, annexHeight);
@@ -3171,7 +3202,7 @@ _TableViewItem::DrawDetailButton(void)
        bounds.SetBounds(0, 0, annexWidth, annexHeight);
 
        pCanvas = new (std::nothrow) Canvas();
-       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       SysTryCatch(NID_UI_CTRL, pCanvas != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
        pCanvas->Construct(bounds);
        pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
@@ -3189,8 +3220,7 @@ _TableViewItem::DrawDetailButton(void)
        }
 
        pMergeBitmap = new (std::nothrow) Bitmap();
-       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
-
+       SysTryCatch(NID_UI_CTRL, pMergeBitmap != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
        pMergeBitmap->Construct(*pCanvas, bounds);
        _BitmapImpl::ConvertToNonpremultiplied(*pMergeBitmap, true);
 
@@ -3198,8 +3228,6 @@ _TableViewItem::DrawDetailButton(void)
        __pItemAnnex->Invalidate(false);
 
 CATCH:
-       delete pDetail;
-       delete pDetailBg;
        delete pDetailBgEffect;
        delete pDetailEffect;
        delete pReplacementDetail;
@@ -3221,7 +3249,8 @@ _TableViewItem::DrawItemDivider(void)
        if (__pDrawingProperty->itemDividerEnabled == false ||
                __itemType == TABLE_VIEW_ITEM_TYPE_HEADER ||
                __itemType == TABLE_VIEW_ITEM_TYPE_FOOTER ||
-               __itemDividerEnabled == false)
+               __itemDividerEnabled == false ||
+               __isSectionItem)
        {
                __pItemDivider->SetVisibleState(false);
                __pItemTopDivider->SetVisibleState(false);
@@ -3291,15 +3320,6 @@ _TableViewItem::DrawItemDivider(void)
                float lineLeftMargin = 0.0f;
                float lineHeight = 0.0f;
                bounds = GetBoundsF();
-               int groupIndex = -1;
-               int itemIndex = -1;
-
-               GetItemIndex(groupIndex, itemIndex);
-
-               if (itemIndex < 1)
-               {
-                       __pItemTopDivider->SetVisibleState(false);
-               }
 
                if (!IsContextItem())
                {
@@ -3308,6 +3328,7 @@ _TableViewItem::DrawItemDivider(void)
                                if (__itemType == TABLE_VIEW_ITEM_TYPE_BOTTOM || __itemType == TABLE_VIEW_ITEM_TYPE_ONE)
                                {
                                        __pItemDivider->SetVisibleState(false);
+                                       __pItemTopDivider->SetVisibleState(false);
                                }
                        }
                }
@@ -3322,7 +3343,7 @@ _TableViewItem::DrawItemDivider(void)
                lineHeight = Tizen::Graphics::CoordinateSystem::ConvertToLogicalY(lineHeight);
                bottomPoint = Tizen::Graphics::CoordinateSystem::AlignToDevice(FloatPoint(lineLeftMargin, (bounds.height)));
 
-               dividerTopBounds.SetBounds(lineLeftMargin, 0.0f, bounds.width - lineLeftMargin * 2.0f, lineHeight);
+               dividerTopBounds.SetBounds(lineLeftMargin, bottomPoint.y - (lineHeight * 2.0f), bounds.width - lineLeftMargin * 2.0f, lineHeight);
                dividerBottomBounds.SetBounds(lineLeftMargin, bottomPoint.y - lineHeight, bounds.width - lineLeftMargin * 2.0f, lineHeight);
        }
 
@@ -3449,12 +3470,12 @@ _TableViewItem::DrawBitmap(Canvas& canvas, const FloatRectangle& bounds, const B
        if (_BitmapImpl::CheckNinePatchedBitmapStrictly(bitmap))
        {
                r = canvas.DrawNinePatchedBitmap(bounds, bitmap);
-               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Fail to draw ninepatched bitmap.", GetErrorMessage(r))
+               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Fail to draw ninepatched bitmap.");
        }
        else
        {
                r = canvas.DrawBitmap(bounds, bitmap);
-               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Fail to draw bitmap.", GetErrorMessage(r))
+               SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Fail to draw bitmap.");
        }
 
        return r;
@@ -4013,9 +4034,20 @@ _TableViewItem::AdjustAnnexBounds(void)
                        float leftMargin = 0.0f;
 
                        GET_SHAPE_CONFIG(TABLEVIEW::ITEM_LEFT_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, leftMargin);
-                       leftMargin += __pDrawingProperty->scrollMargin;
+
+                       if (__pDrawingProperty != null)
+                       {
+                               leftMargin += __pDrawingProperty->scrollMargin;
+                       }
 
                        annexPositionX = GetBoundsF().width - annexBounds.width - leftMargin;
+                       if (__pDrawingProperty != null && __pDrawingProperty->groupedLookEnabled)
+                       {
+                               float groupedBarMargin = 0.0f;
+                               GET_SHAPE_CONFIG(TABLEVIEW::GROUPITEM_BAR_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, groupedBarMargin);
+
+                               annexPositionX += groupedBarMargin;
+                       }
 
                        if (!_FloatCompare(annexPositionX, annexBounds.x))
                        {
@@ -4164,7 +4196,7 @@ _TableViewItem::MoveItem(FloatPoint position, int duration, int delay)
        if (__pMoveItemAnimation == null)
        {
                __pMoveItemAnimation = new (std::nothrow) VisualElementValueAnimation;
-               SysTryCatch(NID_UI_CTRL, __pMoveItemAnimation != null, , E_OUT_OF_MEMORY, ("[E_OUT_OF_MEMORY] The memory is insufficient."));
+               SysTryCatch(NID_UI_CTRL, __pMoveItemAnimation != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                __pMoveItemAnimation->SetVisualElementAnimationTickEventListener(this);
                r = GetLastResult();
@@ -4214,7 +4246,7 @@ _TableViewItem::ZoomInOutItem(bool zoomOut, int duration, int delay)
        if (__pZoomInOutItemAnimation == null)
        {
                __pZoomInOutItemAnimation = new (std::nothrow) VisualElementValueAnimation;
-               SysTryCatch(NID_UI_CTRL, __pZoomInOutItemAnimation != null, , E_OUT_OF_MEMORY, ("[E_OUT_OF_MEMORY] The memory is insufficient."));
+               SysTryCatch(NID_UI_CTRL, __pZoomInOutItemAnimation != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                __pZoomInOutItemAnimation->SetVisualElementAnimationTickEventListener(this);
                r = GetLastResult();
@@ -4274,7 +4306,7 @@ _TableViewItem::FadeInOutItem(bool fadeOut, int duration, int delay)
        if (__pFadeInOutItemtAnimation == null)
        {
                __pFadeInOutItemtAnimation = new (std::nothrow) VisualElementValueAnimation;
-               SysTryCatch(NID_UI_CTRL, __pFadeInOutItemtAnimation != null, , E_OUT_OF_MEMORY, ("[E_OUT_OF_MEMORY] The memory is insufficient."));
+               SysTryCatch(NID_UI_CTRL, __pFadeInOutItemtAnimation != null, , E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                __pFadeInOutItemtAnimation->SetVisualElementAnimationTickEventListener(this);
                r = GetLastResult();
@@ -4550,7 +4582,7 @@ _TableViewItem::SetAccessibilityElement(void)
                if (__pAccessibilityElement == null)
                {
                        __pAccessibilityElement = new (std::nothrow) _AccessibilityElement(true);
-                       SysTryReturnVoidResult(NID_UI_CTRL, __pAccessibilityElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+                       SysTryReturnVoidResult(NID_UI_CTRL, __pAccessibilityElement, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                        __pAccessibilityElement->SetTrait(ACCESSIBILITY_TRAITS_NONE);
                        __pAccessibilityElement->SetName(L"TableViewItem");
@@ -4561,13 +4593,12 @@ _TableViewItem::SetAccessibilityElement(void)
 
                if (__pAccessibilityOnOffElement == null && __annexStyle == TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
                {
-                       String hintText(L"Double tap to select");
                        __pAccessibilityOnOffElement = new (std::nothrow) _AccessibilityElement(true);
-                       SysTryReturnVoidResult(NID_UI_CTRL, __pAccessibilityOnOffElement, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+                       SysTryReturnVoidResult(NID_UI_CTRL, __pAccessibilityOnOffElement, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
 
                        __pAccessibilityOnOffElement->SetTraitWithStringId("IDS_TPLATFORM_BODY_ON_OFF_BUTTON_T_TTS");
                        __pAccessibilityOnOffElement->SetName(L"OnOffButton");
-                       __pAccessibilityOnOffElement->SetHint(hintText);
+                       __pAccessibilityOnOffElement->SetHintWithStringId("IDS_TPLATFORM_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS");
 
                        pContainer->AddElement(*__pAccessibilityOnOffElement);
                        __pAccessibilityOnOffElement->SetBounds(FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f));
@@ -4589,7 +4620,7 @@ _TableViewItem::SetAccessibilityElementTrait(void)
        }
        int groupIndex = -1;
        int itemIndex = -1;
-       
+
        switch (__annexStyle)
        {
        case TABLE_VIEW_ANNEX_STYLE_NORMAL:
@@ -4630,7 +4661,7 @@ _TableViewItem::SetAccessibilityElementValue(void)
        {
                return;
        }
-       
+
        switch (__annexStyle)
        {
        case TABLE_VIEW_ANNEX_STYLE_MARK:
@@ -4718,25 +4749,8 @@ _TableViewItem::SetAccessibilityElementLabel(void)
                        continue;
                }
 
-               if (!IsIndividualSelectionEnabled(*pChildControl))
-               {
-                       _AccessibilityContainer* pContainer = pChildControl->GetAccessibilityContainer();
-                       LinkedListT<_AccessibilityElement*> accessibilityElements;
-                       _AccessibilityElement* pElement = null;
-
-                       pContainer->GetElements(accessibilityElements);
-                       pContainer->Activate(false);
-                       int elementCount = accessibilityElements.GetCount();
-
-                       for (int i = 0; i < elementCount; i++)
-                       {
-                               if (accessibilityElements.GetAt(i, pElement) == E_SUCCESS)
-                               {
-                                       accessibilityLabel += pElement->GetLabel();
-                                       accessibilityLabel += space;
-                               }
-                       }
-               }
+               accessibilityLabel += GetChildAccessibilityLabelContent(*pChildControl);
+               accessibilityLabel += space;
        }
 
        __pAccessibilityElement->SetLabel(accessibilityLabel);
@@ -4878,11 +4892,19 @@ _TableViewItem::OnAccessibilityValueDecreased(const _AccessibilityContainer& con
 bool
 _TableViewItem::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
 {
+       __isTouchCancelOnPressRelease = false;
+
        if (!IsFocusModeStateEnabled())
        {
                return false;
        }
 
+       if (IsReorderMode() || IsAnimationPlaying())
+       {
+               return false;
+       }
+
+       _TableView* pParent = dynamic_cast<_TableView*>(GetParent());
        _KeyCode keyCode = keyInfo.GetKeyCode();
        IListT<_Control*>* pFocusList = GetFocusListN();
        SysTryReturn(NID_UI_CTRL, pFocusList != null, true, GetLastResult(), "[%s] propagating.", GetErrorMessage(GetLastResult()));
@@ -4949,6 +4971,10 @@ _TableViewItem::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
                        if (pChildControl && pChildControl->GetEnableState()
                                        && pChildControl->GetVisibleState() && pChildControl->IsFocusable())
                        {
+                               if (pParent != null)
+                               {
+                                       pParent->SetAnnexFocused(true);
+                               }
                                pChildControl->SetFocused(true);
                                pChildControl->DrawFocus();
                        }
@@ -4960,6 +4986,10 @@ _TableViewItem::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
                                if (pItem != null && pItem->GetEnableState() && !pItem->IsFocused()
                                                && pItem->GetVisibleState() && pItem->IsFocusable())
                                {
+                                       if (pParent != null)
+                                       {
+                                               pParent->SetAnnexFocused(false);
+                                       }
                                        pItem->SetFocused(true);
                                        pItem->DrawFocus();
                                }
@@ -5036,6 +5066,10 @@ _TableViewItem::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
                if (pChildControl && pChildControl->GetEnableState() && pChildControl->GetVisibleState()
                                && pChildControl->IsFocusable())
                {
+                       if (pParent != null)
+                       {
+                               pParent->SetAnnexFocused(true);
+                       }
                        pChildControl->SetFocused(true);
                        pChildControl->DrawFocus();
                }
@@ -5093,6 +5127,11 @@ _TableViewItem::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
                return false;
        }
 
+       if (IsReorderMode() || IsAnimationPlaying())
+       {
+               return false;
+       }
+
        _KeyCode keyCode = keyInfo.GetKeyCode();
 
        if (keyCode == _KEY_ENTER)
@@ -5117,7 +5156,7 @@ _TableViewItem::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
                {
                        __releasedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
                }
-               FireItemTouchReleased();
+               FireItemTouchReleased(false);
                return true;
        }
        else if (keyCode == _KEY_LEFT || keyCode == _KEY_RIGHT)
@@ -5128,6 +5167,28 @@ _TableViewItem::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
        return false;
 }
 
+void
+_TableViewItem::OnFocusModeStateChanged(void)
+{
+       ResetItemState();
+}
+
+void
+_TableViewItem::ResetItemState(void)
+{
+       __itemSelected = false;
+       __drawingStatus = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL;
+       __releasedControl = TABLE_VIEW_ITEM_PRESSED_NONE;
+
+       if (__annexStyle == TABLE_VIEW_ANNEX_STYLE_DETAILED)
+       {
+               __isSelectedDetailButton = false;
+       }
+
+       SetItemChanged(true);
+       Invalidate();
+}
+
 _Control*
 _TableViewItem::GetPreviousFocusChildControl(const _Control& source)
 {
@@ -5245,6 +5306,12 @@ _TableViewItem::SetSimpleLastItemEnabled(bool enable)
 }
 
 void
+_TableViewItem::SetSectionItem(bool isSectionItem)
+{
+    __isSectionItem = isSectionItem;
+}
+
+void
 _TableViewItem::SetTouchPressOnScroll(bool isTouch)
 {
        __isTouchPressOnScroll = isTouch;
@@ -5259,7 +5326,7 @@ _TableViewItem::IsTouchPressOnScroll(void) const
 void
 _TableViewItem::OnVisibleStateChanged(void)
 {
-       if (IsFocused())
+       if (IsFocused() && !GetVisibleState())
        {
                RemoveFocusRing();
        }
@@ -5268,7 +5335,7 @@ _TableViewItem::OnVisibleStateChanged(void)
 void
 _TableViewItem::OnAncestorEnableStateChanged(const _Control& control)
 {
-       if (IsFocused())
+       if (IsFocused() && !IsEnabled())
        {
                RemoveFocusRing();
        }
@@ -5277,7 +5344,7 @@ _TableViewItem::OnAncestorEnableStateChanged(const _Control& control)
 void
 _TableViewItem::OnAncestorVisibleStateChanged(const _Control& control)
 {
-       if (IsFocused())
+       if (IsFocused() && !IsVisible())
        {
                RemoveFocusRing();
        }
@@ -5301,5 +5368,101 @@ _TableViewItem::SetPublicLabelUpdate(bool resetPublicLabelUpdate)
        }
 }
 
+String
+_TableViewItem::GetChildAccessibilityLabelContent(const _Control& source)
+{
+       String accessibilityLabel = L"";
+       String space = L" ";
+
+       if (IsIndividualSelectionEnabled(source))
+       {
+               return accessibilityLabel;
+       }
+
+       if (!source.IsVisible() || !source.GetEnableState())
+       {
+               return accessibilityLabel;
+       }
+
+       _Control* pSource = const_cast<_Control*>(&source);
+
+       if (pSource)
+       {
+               _AccessibilityContainer* pContainer = pSource->GetAccessibilityContainer();
+               LinkedListT<_AccessibilityElement*> accessibilityElements;
+               _AccessibilityElement* pElement = null;
+
+               if (pContainer)
+               {
+                       pContainer->GetElements(accessibilityElements);
+                       int elementCount = accessibilityElements.GetCount();
+
+                       for (int i = 0; i < elementCount; i++)
+                       {
+                               if (accessibilityElements.GetAt(i, pElement) == E_SUCCESS)
+                               {
+                                       accessibilityLabel += pElement->GetLabel();
+                                       accessibilityLabel += space;
+                               }
+                       }
+               }
+       }
+
+       //check for children
+       int childControlCount = source.GetChildCount();
+
+       for (int i = 0; i < childControlCount; i++)
+       {
+               _Control* pChildControl = source.GetChild(i);
+
+               if (pChildControl == null)
+               {
+                       continue;
+               }
+
+               accessibilityLabel += GetChildAccessibilityLabelContent(*pChildControl);
+       }
+
+       return accessibilityLabel;
+}
+
+void
+_TableViewItem::DeactivateChildAccessibilityContainer(const _Control& source)
+{
+       _Control* pControl = const_cast<_Control*>(&source);
+
+       if (pControl)
+       {
+               _AccessibilityContainer* pContainer = pControl->GetAccessibilityContainer();
+
+               if (pContainer)
+               {
+                       if (__individualSelectionControls.Contains(source))
+                       {
+                               pContainer->Activate(true);
+                       }
+                       else
+                       {
+                               pContainer->Activate(false);
+                       }
+               }
+       }
+
+       //check for children
+       int childControlCount = source.GetChildCount();
+
+       for (int i = 0; i < childControlCount; i++)
+       {
+               _Control* pChildControl = source.GetChild(i);
+
+               if (pChildControl == null)
+               {
+                       continue;
+               }
+
+               DeactivateChildAccessibilityContainer(*pChildControl);
+       }
+}
+
 }}} // Tizen::Ui::Controls