Fixed N_SE-37251; Changed to show ellipsis when TabBar item's text is long.
authorclone <ingyou.park@samsung.com>
Mon, 13 May 2013 03:00:53 +0000 (12:00 +0900)
committerclone <ingyou.park@samsung.com>
Mon, 13 May 2013 06:01:43 +0000 (15:01 +0900)
Change-Id: I72b74c9952587c97df687535254f886fef270b94
Signed-off-by: clone <ingyou.park@samsung.com>
src/ui/controls/FUiCtrl_TabBarPresenter.cpp
src/ui/inc/FUiCtrl_TabBarPresenter.h

index 4bcdd05..5eeef05 100644 (file)
@@ -56,6 +56,7 @@ _TabBarPresenter::_TabBarPresenter(_TabBar& tabBar)
        , __sideMargin(0.0f)
        , __itemMargin(0.0f)
        , __arrowMargin(0.0f)
+       , __itemMaxWidth(0.0f)
        , __pBgBitmapCached(null)
        , __pBgEffectBitmapCached(null)
        , __pLeftArrowBitmapCached(null)
@@ -66,10 +67,11 @@ _TabBarPresenter::_TabBarPresenter(_TabBar& tabBar)
                __pItemBgBitmapCached[i] = null;
        }
 
-       GET_SHAPE_CONFIG(TABBAR::TOP_MARGIN,   _CONTROL_ORIENTATION_PORTRAIT, __topMargin);
-       GET_SHAPE_CONFIG(TABBAR::SIDE_MARGIN,  _CONTROL_ORIENTATION_PORTRAIT, __sideMargin);
-       GET_SHAPE_CONFIG(TABBAR::ITEM_MARGIN,  _CONTROL_ORIENTATION_PORTRAIT, __itemMargin);
-       GET_SHAPE_CONFIG(TABBAR::ARROW_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __arrowMargin);
+       GET_SHAPE_CONFIG(TABBAR::TOP_MARGIN,     _CONTROL_ORIENTATION_PORTRAIT, __topMargin);
+       GET_SHAPE_CONFIG(TABBAR::SIDE_MARGIN,    _CONTROL_ORIENTATION_PORTRAIT, __sideMargin);
+       GET_SHAPE_CONFIG(TABBAR::ITEM_MARGIN,    _CONTROL_ORIENTATION_PORTRAIT, __itemMargin);
+       GET_SHAPE_CONFIG(TABBAR::ARROW_MARGIN,   _CONTROL_ORIENTATION_PORTRAIT, __arrowMargin);
+       GET_SHAPE_CONFIG(TABBAR::ITEM_MAX_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, __itemMaxWidth);
 }
 
 _TabBarPresenter::~_TabBarPresenter(void)
@@ -722,6 +724,15 @@ _TabBarPresenter::DrawItem(Tizen::Graphics::Canvas* pCanvas)
                __pTextObject->SetBounds(textRect);
                __pTextObject->SetFont(__pFont, 0, __pTextObject->GetTextLength());
                __pTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_NONE);
+               if (itemBounds.width < __itemMaxWidth)
+               {
+                       __pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_NONE);
+               }
+               else
+               {
+                       __pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_ABBREV);
+                       __pTextObject->SetTextObjectEllipsisType(TEXT_OBJECT_ELLIPSIS_TYPE_TAIL);
+               }
                __pTextObject->Draw(*_CanvasImpl::GetInstance(*pCanvas));
        } // end for loop
 }
index a5eda15..f48aa44 100644 (file)
@@ -137,6 +137,7 @@ private:
        float __sideMargin;
        float __itemMargin;
        float __arrowMargin;
+       float __itemMaxWidth;
 
        Tizen::Graphics::Bitmap* __pBgBitmapCached;
        Tizen::Graphics::Bitmap* __pBgEffectBitmapCached;