fix N_SE-40802 and apply New GUI
authorMyung Jin Kim <critical.kim@samsung.com>
Thu, 27 Jun 2013 22:04:38 +0000 (07:04 +0900)
committerMyung Jin Kim <critical.kim@samsung.com>
Thu, 27 Jun 2013 22:04:38 +0000 (07:04 +0900)
Change-Id: Iecc7e682d3f2698e43a5ab5cf466e1e9be215625

14 files changed:
src/ui/controls/FUiCtrl_Button.cpp
src/ui/controls/FUiCtrl_ButtonPresenter.cpp
src/ui/controls/FUiCtrl_FooterImpl.cpp
src/ui/controls/FUiCtrl_HeaderImpl.cpp
src/ui/controls/FUiCtrl_Label.cpp
src/ui/controls/FUiCtrl_Toolbar.cpp
src/ui/controls/FUiCtrl_ToolbarPresenter.cpp
src/ui/inc/FUiCtrl_Button.h
src/ui/inc/FUiCtrl_ButtonPresenter.h
src/ui/inc/FUiCtrl_Label.h
src/ui/inc/FUi_ResourceFooterConfig.h
src/ui/inc/FUi_ResourceHeaderConfig.h
src/ui/resource/FUi_ResourceFooterConfig.cpp
src/ui/resource/FUi_ResourceHeaderConfig.cpp

index f902427..37fd71e 100644 (file)
@@ -100,6 +100,8 @@ _Button::_Button()
        }
 
        __pUnderlineBitmap = null;
+       __pTabTextDimLeftBitmap = null;
+       __pTabTextDimRightBitmap = null;
 
        GET_COLOR_CONFIG(BUTTON::BG_NORMAL, __color[_BUTTON_STATUS_NORMAL]);
        GET_COLOR_CONFIG(BUTTON::BG_DISABLED, __color[_BUTTON_STATUS_DISABLED]);
@@ -207,6 +209,18 @@ _Button::~_Button(void)
                __pUnderlineBitmap = null;
        }
 
+       if (__pTabTextDimLeftBitmap)
+       {
+               delete __pTabTextDimLeftBitmap;
+               __pTabTextDimLeftBitmap = null;
+       }
+
+       if (__pTabTextDimRightBitmap)
+       {
+               delete __pTabTextDimRightBitmap;
+               __pTabTextDimRightBitmap = null;
+       }
+
        if (__pTextElement)
        {
                __pTextElement->Activate(false);
@@ -926,7 +940,7 @@ _Button::GetToolbarItemBackgroundBitmap(_ButtonStatus status) const
 }
 
 result
-_Button::SetUnderlineBitmap(const Tizen::Graphics::Bitmap& bitmap)
+_Button::SetUnderlineBitmap(const Bitmap& bitmap)
 {
        result r = E_SYSTEM;
 
@@ -953,13 +967,69 @@ _Button::ShowUnderlineBitmap(bool show)
        return __pButtonPresenter->ShowUnderlineBitmap(show);
 }
 
-Tizen::Graphics::Bitmap*
+Bitmap*
 _Button::GetUnderlineBitmap(void) const
 {
        return __pUnderlineBitmap;
 }
 
 result
+_Button::SetTabTextDimLeftBitmap(const Bitmap& bitmap)
+{
+       result r = E_SYSTEM;
+
+       Bitmap* pClonedBitmap = _BitmapImpl::CloneN(bitmap);
+
+       if (pClonedBitmap)
+       {
+               if (__pTabTextDimLeftBitmap != null)
+               {
+                       delete __pTabTextDimLeftBitmap;
+               }
+
+               __pTabTextDimLeftBitmap = pClonedBitmap;
+
+               r = E_SUCCESS;
+       }
+
+       return r;
+}
+
+Bitmap*
+_Button::GetTabTextDimLeftBitmap(void) const
+{
+       return __pTabTextDimLeftBitmap;
+}
+
+result
+_Button::SetTabTextDimRightBitmap(const Bitmap& bitmap)
+{
+       result r = E_SYSTEM;
+
+       Bitmap* pClonedBitmap = _BitmapImpl::CloneN(bitmap);
+
+       if (pClonedBitmap)
+       {
+               if (__pTabTextDimRightBitmap != null)
+               {
+                       delete __pTabTextDimRightBitmap;
+               }
+
+               __pTabTextDimRightBitmap = pClonedBitmap;
+
+               r = E_SUCCESS;
+       }
+
+       return r;
+}
+
+Bitmap*
+_Button::GetTabTextDimRightBitmap(void) const
+{
+       return __pTabTextDimRightBitmap;
+}
+
+result
 _Button::SetBackgroundBitmap(_ButtonStatus status, const Bitmap& bitmap)
 {
        result r = E_SYSTEM;
@@ -1399,13 +1469,13 @@ _Button::GetBottomMarginF(void) const
        return __bottomMargin;
 }
 
-Tizen::Graphics::FloatDimension
+FloatDimension
 _Button::GetContentSizeF(bool horizontalMode, bool verticalMode) const
 {
        return GetContentSizeInternalF(horizontalMode, verticalMode);
 }
 
-Tizen::Graphics::FloatDimension
+FloatDimension
 _Button::GetContentSizeInternalF(bool horizontalMode, bool verticalMode) const
 {
        for (int i = 0; i < NUMBER_OF_BUTTON_STATUS; i++)
index 79e44fc..60e3f28 100644 (file)
@@ -432,25 +432,18 @@ _ButtonPresenter::DrawBackground(void)
                                                pCanvas->DrawBitmap(bounds, *pBackgroundBitmap, FloatRectangle(0.0f, 0.0f, pBackgroundBitmap->GetWidthF(), pBackgroundBitmap->GetHeightF()));
                                        }
                                }
-                       }
 
-                       pCanvas = __pButton->GetCanvasN();
-                       if (pCanvas == null)
-                       {
-                               SysLog(NID_UI_CTRL, "Cannot get a canvas.");
-                               return;
-                       }
-
-                       if (pHighlightedBackgroundBitmap)
-                       {
-                               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pHighlightedBackgroundBitmap))
+                               if (pHighlightedBackgroundBitmap)
                                {
-                                       pCanvas->DrawNinePatchedBitmap(bounds, *pHighlightedBackgroundBitmap);
-                               }
-                               else
-                               {
-                                       pCanvas->DrawBitmap(bounds, *pHighlightedBackgroundBitmap,
-                                                       FloatRectangle(0.0f, 0.0f, pHighlightedBackgroundBitmap->GetWidthF(), pHighlightedBackgroundBitmap->GetHeightF()));
+                                       if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pHighlightedBackgroundBitmap))
+                                       {
+                                               pCanvas->DrawNinePatchedBitmap(bounds, *pHighlightedBackgroundBitmap);
+                                       }
+                                       else
+                                       {
+                                               pCanvas->DrawBitmap(bounds, *pHighlightedBackgroundBitmap,
+                                                               FloatRectangle(0.0f, 0.0f, pHighlightedBackgroundBitmap->GetWidthF(), pHighlightedBackgroundBitmap->GetHeightF()));
+                                       }
                                }
                        }
                }
@@ -892,6 +885,8 @@ _ButtonPresenter::DrawText(void)
        {
                __pTextObject->DrawWithOffset(*_CanvasImpl::GetInstance(*pCanvas));
 
+               DrawTabTextDimBitmap();
+
                TimerForTitleSlideStart();
        }
        else
@@ -1381,6 +1376,8 @@ _ButtonPresenter::TimerForTitleSlideTimeout(void)
        {
                __pTextObject->DrawWithOffset(*_CanvasImpl::GetInstance(*pCanvas));
 
+               DrawTabTextDimBitmap();
+
                TimerForTitleSlideStart();
        }
        else
@@ -1393,4 +1390,107 @@ _ButtonPresenter::TimerForTitleSlideTimeout(void)
        return E_SUCCESS;
 }
 
+void
+_ButtonPresenter::DrawTabTextDimBitmap(void)
+{
+       _ButtonStatus status = __pButton->GetButtonStatus();
+       Bitmap* pToolbarItemBackgroundBitmap = __pButton->GetToolbarItemBackgroundBitmap(status);
+
+       if (pToolbarItemBackgroundBitmap)
+       {
+               return;
+       }
+
+       float textDimWidth = 0.0f;
+       float textDimHeight = 0.0f;
+
+       GET_SHAPE_CONFIG(HEADER::TAB_TEXT_DIM_WIDTH, __pButton->GetOrientation(), textDimWidth);
+       GET_SHAPE_CONFIG(HEADER::TAB_LARGE_TEXT_HEIGHT, __pButton->GetOrientation(), textDimHeight);
+
+       Bitmap* pTabTextDimLeftBitmap = __pButton->GetTabTextDimLeftBitmap();
+
+       if (pTabTextDimLeftBitmap)
+       {
+               Canvas* pCanvas = __pButton->GetCanvasN();
+               FloatRectangle bounds = FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f);
+
+               if (pCanvas == null)
+               {
+                       SysLog(NID_UI_CTRL, "Cannot get a canvas.");
+                       return;
+               }
+
+               if (__pButton->UserDefinedText() && (__pButton->GetBitmap(_BUTTON_STATUS_NORMAL) || __pButton->GetBitmap(_BUTTON_STATUS_DISABLED)
+                               || __pButton->GetBitmap(_BUTTON_STATUS_PRESSED) || __pButton->GetBitmap(_BUTTON_STATUS_HIGHLIGHTED)))
+               {
+                       bounds.x = __pButton->GetUserDefinedTextAreaF().x;
+                       bounds.y = __pButton->GetUserDefinedTextAreaF().y;
+                       bounds.width = textDimWidth;
+                       bounds.height = textDimHeight;
+               }
+               else
+               {
+                       bounds.x = 0.0f;
+                       bounds.y = (__pButton->GetSizeF().height - textDimHeight) / 2.0f;
+                       bounds.width = textDimWidth;
+                       bounds.height = textDimHeight;
+               }
+
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pTabTextDimLeftBitmap))
+               {
+                       pCanvas->DrawNinePatchedBitmap(bounds, *pTabTextDimLeftBitmap);
+               }
+               else
+               {
+                       pCanvas->DrawBitmap(bounds, *pTabTextDimLeftBitmap,
+                                       FloatRectangle(0.0f, 0.0f, pTabTextDimLeftBitmap->GetWidthF(), pTabTextDimLeftBitmap->GetHeightF()));
+               }
+
+               delete pCanvas;
+       }
+
+       Bitmap* pTabTextDimRightBitmap = __pButton->GetTabTextDimRightBitmap();
+
+       if (pTabTextDimRightBitmap)
+       {
+               Canvas* pCanvas = __pButton->GetCanvasN();
+               FloatRectangle bounds = FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f);
+
+               if (pCanvas == null)
+               {
+                       SysLog(NID_UI_CTRL, "Cannot get a canvas.");
+                       return;
+               }
+
+               if (__pButton->UserDefinedText() && (__pButton->GetBitmap(_BUTTON_STATUS_NORMAL) || __pButton->GetBitmap(_BUTTON_STATUS_DISABLED)
+                               || __pButton->GetBitmap(_BUTTON_STATUS_PRESSED) || __pButton->GetBitmap(_BUTTON_STATUS_HIGHLIGHTED)))
+               {
+                       bounds.x = __pButton->GetSizeF().width - textDimWidth;
+                       bounds.y = __pButton->GetUserDefinedTextAreaF().y;
+                       bounds.width = textDimWidth;
+                       bounds.height = textDimHeight;
+               }
+               else
+               {
+                       bounds.x = __pButton->GetSizeF().width - textDimWidth;
+                       bounds.y = (__pButton->GetSizeF().height - textDimHeight) / 2.0f;
+                       bounds.width = textDimWidth;
+                       bounds.height = textDimHeight;
+               }
+
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pTabTextDimRightBitmap))
+               {
+                       pCanvas->DrawNinePatchedBitmap(bounds, *pTabTextDimRightBitmap);
+               }
+               else
+               {
+                       pCanvas->DrawBitmap(bounds, *pTabTextDimRightBitmap,
+                                       FloatRectangle(0.0f, 0.0f, pTabTextDimRightBitmap->GetWidthF(), pTabTextDimRightBitmap->GetHeightF()));
+               }
+
+               delete pCanvas;
+       }
+
+       return;
+}
 }}} // Tizen::Ui::Controls
index b25b3fe..4f6f302 100644 (file)
@@ -160,11 +160,6 @@ _FooterImpl::AddItem(const FooterItem& item)
                        || __style == FOOTER_STYLE_TAB || __style == FOOTER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == FOOTER_STYLE_TAB_LARGE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().AddItem(pButton);
@@ -298,11 +293,6 @@ _FooterImpl::InsertItemAt(int itemIndex, const FooterItem& item)
                        || __style == FOOTER_STYLE_TAB || __style == FOOTER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == FOOTER_STYLE_TAB_LARGE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().InsertItemAt(itemIndex, pButton);
@@ -466,11 +456,6 @@ _FooterImpl::SetItemAt(int itemIndex, const FooterItem& item)
                        || __style == FOOTER_STYLE_TAB || __style == FOOTER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == FOOTER_STYLE_TAB_LARGE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().SetItemAt(itemIndex, pButton);
@@ -1058,6 +1043,11 @@ _FooterImpl::ConvertFooterItem(const FooterItem& footerItem)
 
                delete pColorReplacedBitmap;
                delete pSelectedBitmap;
+
+               if (__style == FOOTER_STYLE_TAB_LARGE)
+               {
+                       pButton->SetTabTextSlide(true);
+               }
        }
        else if (__style == FOOTER_STYLE_BUTTON_TEXT || __style == FOOTER_STYLE_BUTTON_ICON || __style == FOOTER_STYLE_BUTTON_ICON_TEXT)
        {
index becc27c..0b4cd2f 100644 (file)
@@ -167,11 +167,6 @@ _HeaderImpl::AddItem(const HeaderItem& item)
                        || __style == HEADER_STYLE_TAB || __style == HEADER_STYLE_TAB_WITH_TITLE || __style == HEADER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == HEADER_STYLE_TAB_LARGE || __style == HEADER_STYLE_SEGMENTED_WITH_TITLE || __style == HEADER_STYLE_TAB_WITH_TITLE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().AddItem(pButton);
@@ -326,11 +321,6 @@ _HeaderImpl::InsertItemAt(int itemIndex, const HeaderItem& item)
                        || __style == HEADER_STYLE_TAB || __style == HEADER_STYLE_TAB_WITH_TITLE || __style == HEADER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == HEADER_STYLE_TAB_LARGE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().InsertItemAt(itemIndex, pButton);
@@ -656,11 +646,6 @@ _HeaderImpl::SetItemAt(int itemIndex, const HeaderItem& item)
                        || __style == HEADER_STYLE_TAB || __style == HEADER_STYLE_TAB_WITH_TITLE || __style == HEADER_STYLE_TAB_LARGE)
        {
                pButton->SetButtonStyle(_BUTTON_STYLE_SEGMENT);
-
-               if (__style == HEADER_STYLE_TAB_LARGE)
-               {
-                       pButton->SetTabTextSlide(true);
-               }
        }
 
        return GetCore().SetItemAt(itemIndex, pButton);
@@ -1089,40 +1074,11 @@ _HeaderImpl::ConvertHeaderStyle(HeaderStyle style)
 _Button*
 _HeaderImpl::ConvertButtonItem(const ButtonItem& buttonItem)
 {
-       _Button* pButton = _Button::CreateButtonN();
-
-       float buttonItemWidth = 0.0f;
-       float buttonItemHeight = 0.0f;
-
-       if (__style == HEADER_STYLE_BUTTON)
-       {
-               GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH, GetCore().GetOrientation(), buttonItemWidth);
-               GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_HEIGHT, GetCore().GetOrientation(), buttonItemHeight);
-       }
-       else
-       {
-               if (buttonItem.GetText() != L"")
-               {
-                       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH_WITH_TEXT, GetCore().GetOrientation(), buttonItemWidth);
-               }
-               else
-               {
-                       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH, GetCore().GetOrientation(), buttonItemWidth);
-               }
+       result r = E_SUCCESS;
 
-               GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_HEIGHT, GetCore().GetOrientation(), buttonItemHeight);
-       }
+       _Button* pButton = _Button::CreateButtonN();
 
        pButton->SetMargin(0.0f, 0.0f, 0.0f, 0.0f);
-       pButton->SetBounds(FloatRectangle(0.0f, 0.0f, buttonItemWidth, buttonItemHeight));
-
-       pButton->SetActionId(buttonItem.GetActionId());
-
-       pButton->SetText(buttonItem.GetText());
-
-       pButton->SetTextMaxLine(2);
-
-       result r = E_SUCCESS;
 
        float fontSize = 0.0f;
        float multilineFontSize = 0.0f;
@@ -1156,6 +1112,57 @@ _HeaderImpl::ConvertButtonItem(const ButtonItem& buttonItem)
                }
        }
 
+       pButton->SetText(buttonItem.GetText());
+
+       float buttonItemWidth = 0.0f;
+       float buttonItemHeight = 0.0f;
+       float textMargin = 0.0f;
+
+       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_HEIGHT, GetCore().GetOrientation(), buttonItemHeight);
+       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH, GetCore().GetOrientation(), buttonItemWidth);
+       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_MARGIN_WITH_TEXT, GetCore().GetOrientation(), textMargin);
+
+       if (__style == HEADER_STYLE_TITLE || __style == HEADER_STYLE_TITLE_BUTTON)
+       {
+               if (buttonItem.GetText() != L"")
+               {
+                       pButton->SetBounds(FloatRectangle(0.0f, 0.0f, buttonItemWidth, buttonItemHeight));
+
+                       float extentSize = 0.0f;
+                       float extentSizeMax = 0.0f;
+                       float extentSizeMin = 0.0f;
+
+                       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH_WITH_TEXT, GetCore().GetOrientation(), extentSizeMax);
+                       GET_SHAPE_CONFIG(HEADER::BUTTON_ITEM_WIDTH, GetCore().GetOrientation(), extentSizeMin);
+
+                       extentSize = pButton->GetTextExtentSizeF() + textMargin * 2;
+
+                       if (extentSize > extentSizeMax)
+                       {
+                               extentSize = extentSizeMax;
+                       }
+
+                       if (extentSize < extentSizeMin)
+                       {
+                               extentSize = extentSizeMin;
+                       }
+
+                       pButton->SetMargin(textMargin, 0.0f, textMargin, 0.0f);
+                       pButton->SetBounds(FloatRectangle(0.0f, 0.0f, extentSize, buttonItemHeight));
+               }
+               else
+               {
+                       pButton->SetBounds(FloatRectangle(0.0f, 0.0f, buttonItemWidth, buttonItemHeight));
+               }
+       }
+       else
+       {
+               pButton->SetBounds(FloatRectangle(0.0f, 0.0f, buttonItemWidth, buttonItemHeight));
+       }
+
+       pButton->SetActionId(buttonItem.GetActionId());
+       pButton->SetTextMaxLine(2);
+
        float iconSize = 0.0f;
 
        if (__style == HEADER_STYLE_BUTTON)
@@ -1427,6 +1434,11 @@ _HeaderImpl::ConvertHeaderItem(const HeaderItem& headerItem)
 
                delete pColorReplacedBitmap;
                delete pSelectedBitmap;
+
+               if (__style == HEADER_STYLE_TAB_LARGE || __style == HEADER_STYLE_SEGMENTED_WITH_TITLE || __style == HEADER_STYLE_TAB_WITH_TITLE)
+               {
+                       pButton->SetTabTextSlide(true);
+               }
        }
        else // __style == HEADER_STYLE_BUTTON
        {
index 031b57d..ec2b46d 100644 (file)
@@ -53,6 +53,8 @@ _Label::_Label(void)
        , __topMargin(0.0f)
        , __rightMargin(0.0f)
        , __bottomMargin(0.0f)
+       , __contented(false)
+       , __contentedDimension(FloatDimension(0.0f, 0.0f))
        , __pTextElement(null)
 {
        result r = E_SUCCESS;
@@ -222,6 +224,8 @@ _Label::OnTouchMoveHandled(const _Control& control)
 void
 _Label::OnBoundsChanged(void)
 {
+       __contented = false;
+
        if(__pTextElement)
        {
                __pTextElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
@@ -233,6 +237,8 @@ _Label::OnBoundsChanged(void)
 void
 _Label::OnFontChanged(Font* pFont)
 {
+       __contented = false;
+
        __pLabelPresenter->OnFontChanged(pFont);
 
        _Control::OnFontChanged(pFont);
@@ -243,6 +249,8 @@ _Label::OnFontChanged(Font* pFont)
 void
 _Label::OnFontInfoRequested(unsigned long& style, int& size)
 {
+       __contented = false;
+
        __pLabelPresenter->OnFontInfoRequested(style, size);
 
        return;
@@ -263,6 +271,8 @@ _Label::SetText(const String& text)
 result
 _Label::SetPropertyText(const Variant& text)
 {
+       __contented = false;
+
        __text = text.ToString();
 
        if(__pTextElement)
@@ -349,6 +359,8 @@ _Label::GetBackgroundEffectBitmap(void) const
 result
 _Label::SetTextHorizontalAlignment(HorizontalAlignment alignment)
 {
+       __contented = false;
+
        __horizontalAlignment = alignment;
        return E_SUCCESS;
 }
@@ -356,6 +368,8 @@ _Label::SetTextHorizontalAlignment(HorizontalAlignment alignment)
 result
 _Label::SetTextVerticalAlignment(VerticalAlignment alignment)
 {
+       __contented = false;
+
        __verticalAlignment = alignment;
        return E_SUCCESS;
 }
@@ -381,6 +395,8 @@ _Label::SetTextConfig(float size, LabelTextStyle style)
 result
 _Label::SetPropertyTextSize(const Variant& textSize)
 {
+       __contented = false;
+
        __textSize = textSize.ToFloat();
 
        return E_SUCCESS;
@@ -464,6 +480,8 @@ _Label::SetMargin(int topMargin, int leftMargin)
 result
 _Label::SetMargin(float topMargin, float leftMargin)
 {
+       __contented = false;
+
        __topMargin = topMargin;
        __leftMargin = leftMargin;
 
@@ -484,6 +502,8 @@ _Label::SetMargin(int leftMargin, int topMargin, int rightMargin, int bottomMarg
 result
 _Label::SetMargin(float leftMargin, float topMargin, float rightMargin, float bottomMargin)
 {
+       __contented = false;
+
        __leftMargin = leftMargin;
        __topMargin = topMargin;
        __rightMargin = rightMargin;
@@ -549,71 +569,64 @@ _Label::GetContentSizeF(bool horizontalMode, bool verticalMode) const
 FloatDimension
 _Label::GetContentSizeInternalF(bool horizontalMode, bool verticalMode) const
 {
+       if (__contented)
+       {
+               return __contentedDimension;
+       }
+
        if (__text.IsEmpty() && __pBackgroundBitmap == null)
        {
                return FloatDimension(GetBoundsF().width, GetBoundsF().height);
        }
 
+       FloatDimension textSize(0.0f, 0.0f);
        FloatDimension dimension(0.0f, 0.0f);
        FloatRectangle contentRect(0.0f, 0.0f, 0.0f , 0.0f);
 
        TextObject* pTextObject = __pLabelPresenter->GetTextObject();
-       Font* pFont = __pLabelPresenter->GetFont();
 
-       TextObjectActionType previousActionType = pTextObject->GetAction();
-       TextObjectWrapType previousWrapType = pTextObject->GetWrap();
        FloatRectangle previousRect = pTextObject->GetBoundsF();
 
-       pTextObject->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width - __leftMargin * 2, GetBoundsF().height - __topMargin * 2));
-       pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_NONE);
-       pTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_WORD);
-       pTextObject->SetFont(pFont, 0, pTextObject->GetTextLength());
-       pTextObject->Compose();
+       dimension.width = GetBoundsF().width - __leftMargin * 2;
+       dimension.height = GetBoundsF().height - __topMargin * 2;
 
        _ControlOrientation orientation = GetOrientation();
        if (orientation == _CONTROL_ORIENTATION_PORTRAIT)
        {
                contentRect.width = _ControlManager::GetInstance()->GetScreenSizeF().width;
+               contentRect.height = _ControlManager::GetInstance()->GetScreenSizeF().height;
        }
        else
        {
                contentRect.width = _ControlManager::GetInstance()->GetScreenSizeF().height;
+               contentRect.height = _ControlManager::GetInstance()->GetScreenSizeF().width;
        }
 
        if (horizontalMode == true)
        {
-               dimension = pTextObject->GetTextExtentF(0, pTextObject->GetTextLength());
+               FloatRectangle bounds(0.0f, 0.0f, contentRect.width - GetBoundsF().x - __leftMargin, dimension.height);
+               pTextObject->SetBounds(bounds);
+               pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_NONE);
+               pTextObject->Compose();
 
-               if (dimension.width > contentRect.width - GetBoundsF().x - __leftMargin * 2)
-               {
-                       dimension.width = contentRect.width - GetBoundsF().x - __leftMargin * 2;
+               textSize = pTextObject->GetTextExtentF();
 
-                       pTextObject->SetBounds(FloatRectangle(previousRect.x, previousRect.y, dimension.width, previousRect.height));
-                       pTextObject->Compose();
-
-                       dimension.height = pTextObject->GetTotalHeightF();
-               }
+               dimension.width = (textSize.width < bounds.width) ? textSize.width : bounds.width;
        }
 
        if (verticalMode == true)
        {
-               dimension = pTextObject->GetTextExtentF();
+               FloatRectangle bounds(0.0f, 0.0f, dimension.width, dimension.height);
+               pTextObject->SetBounds(bounds);
+               pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_NONE);
+               pTextObject->Compose();
 
-               if (dimension.width > GetBoundsF().width - __leftMargin * 2)
-               {
-                       dimension.width = GetBoundsF().width - __leftMargin * 2;
-
-                       pTextObject->SetBounds(FloatRectangle(previousRect.x, previousRect.y, dimension.width, previousRect.height));
-                       pTextObject->Compose();
+               textSize = pTextObject->GetTextExtentF();
 
-                       dimension.height = pTextObject->GetTotalHeightF();
-               }
+               dimension.height = textSize.height;
        }
 
        pTextObject->SetBounds(previousRect);
-       pTextObject->SetAction(previousActionType);
-       pTextObject->SetWrap(previousWrapType);
-       pTextObject->Compose();
 
        dimension.width += __leftMargin * 2;
        dimension.height += __topMargin * 2;
@@ -624,6 +637,9 @@ _Label::GetContentSizeInternalF(bool horizontalMode, bool verticalMode) const
                dimension.height = GetBoundsF().height;
        }
 
+       const_cast<_Label*>(this)->__contented = true;
+       const_cast<_Label*>(this)->__contentedDimension = dimension;
+
        return dimension;
 }
 
index b0d9c35..c529e30 100644 (file)
@@ -6437,20 +6437,62 @@ _Toolbar::ApplyUserGUI(ButtonType buttonType, _Button* pButton)
                        //}
                }
 
-#if 0
-               if (__style != TOOLBAR_SOFTKEY)
+               if (__style == TOOLBAR_TAB_LARGE || __style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_TAB_WITH_TITLE)
                {
-                       if (pPressedBackgroundEffectBitmap)
+                       pButton->SetTabTextSlide(true);
+
+                       Bitmap* pTabTextDimLeftBitmap = null;
+                       Bitmap* pTabTextDimRightBitmap = null;
+                       Bitmap* pReColorTabTextDimLeftBitmap = null;
+                       Bitmap* pReColorTabTextDimRightBitmap = null;
+
+                       Color tabTextDimColor;
+
+                       if (__header == true)
                        {
-                               pColorReplacedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pPressedBackgroundEffectBitmap,
-                                               Color::GetColor(COLOR_ID_MAGENTA), __itemBackgroundColor[_BUTTON_STATUS_PRESSED]);
-                               pButton->SetBackgroundEffectBitmap(_BUTTON_STATUS_PRESSED, *pColorReplacedBitmap);
+                               GET_BITMAP_CONFIG_N(HEADER::TAB_TEXT_DIM_EFFECT_LEFT, BITMAP_PIXEL_FORMAT_ARGB8888, pTabTextDimLeftBitmap);
+                               GET_BITMAP_CONFIG_N(HEADER::TAB_TEXT_DIM_EFFECT_RIGHT, BITMAP_PIXEL_FORMAT_ARGB8888, pTabTextDimRightBitmap);
+                               if (__transparent == true)
+                               {
+                                       GET_COLOR_CONFIG(HEADER::TAB_TEXT_DIM_TRANSLUCENT_NORMAL, tabTextDimColor);
+                               }
+                               else
+                               {
+                                       GET_COLOR_CONFIG(HEADER::TAB_TEXT_DIM_NORMAL, tabTextDimColor);
+                               }
+                       }
+                       else
+                       {
+                               GET_BITMAP_CONFIG_N(FOOTER::TAB_TEXT_DIM_EFFECT_LEFT, BITMAP_PIXEL_FORMAT_ARGB8888, pTabTextDimLeftBitmap);
+                               GET_BITMAP_CONFIG_N(FOOTER::TAB_TEXT_DIM_EFFECT_RIGHT, BITMAP_PIXEL_FORMAT_ARGB8888, pTabTextDimRightBitmap);
+                               if (__transparent == true)
+                               {
+                                       GET_COLOR_CONFIG(FOOTER::TAB_TEXT_DIM_TRANSLUCENT_NORMAL, tabTextDimColor);
+                               }
+                               else
+                               {
+                                       GET_COLOR_CONFIG(FOOTER::TAB_TEXT_DIM_NORMAL, tabTextDimColor);
+                               }
+                       }
 
-                               delete pColorReplacedBitmap;
-                               delete pPressedBackgroundEffectBitmap;
+                       pReColorTabTextDimLeftBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pTabTextDimLeftBitmap, Color::GetColor(COLOR_ID_MAGENTA), tabTextDimColor);
+                       pReColorTabTextDimRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pTabTextDimRightBitmap, Color::GetColor(COLOR_ID_MAGENTA), tabTextDimColor);
+
+                       if (pReColorTabTextDimLeftBitmap)
+                       {
+                               pButton->SetTabTextDimLeftBitmap(*pReColorTabTextDimLeftBitmap);
                        }
+
+                       if (pReColorTabTextDimRightBitmap)
+                       {
+                               pButton->SetTabTextDimRightBitmap(*pReColorTabTextDimRightBitmap);
+                       }
+
+                       delete pTabTextDimLeftBitmap;
+                       delete pTabTextDimRightBitmap;
+                       delete pReColorTabTextDimLeftBitmap;
+                       delete pReColorTabTextDimRightBitmap;
                }
-#endif
        }
 
        return E_SUCCESS;
@@ -8403,7 +8445,7 @@ _Toolbar::RearrangeButtonItems(void)
                        }
                }
 
-               __pItems.at(i)->SetMargin(__pItems.at(i)->GetLeftMarginF(), 0.0f, __pItems.at(i)->GetRightMarginF(), 0.0f);
+               //__pItems.at(i)->SetMargin(__pItems.at(i)->GetLeftMarginF(), 0.0f, __pItems.at(i)->GetRightMarginF(), 0.0f);
                __pItems.at(i)->SetTextSize(fontSize, FONT_STYLE_BOLD);
                __pItems.at(i)->SetMultilineTextSize(multilineFontSize);
        }
index dcafd08..bd547bd 100644 (file)
@@ -933,7 +933,7 @@ _ToolbarPresenter::DrawTitleText(Canvas* pCanvas)
 
        __pTitleTextObject->SetForegroundColor(__pToolbar->GetTitleTextColor(), 0, __pTitleTextObject->GetTextLength());
        __pTitleTextObject->SetBounds(__titleRect);
-       __pTitleTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_NONE);
+       //__pTitleTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_NONE);
        __pTitleTextObject->Compose();
 
        if (__pTitleTextObject->IsActionOn() == true)
@@ -1081,6 +1081,7 @@ _ToolbarPresenter::SetTitleText(const String& title, HorizontalAlignment alignme
                return E_OUT_OF_MEMORY;
        }
        __pTitleTextObject->Construct();
+       __pTitleTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_NONE);
        TextSimple* pSimpleText = new (std::nothrow) TextSimple(tempString, length, TEXT_ELEMENT_SOURCE_TYPE_EXTERNAL);
        __pTitleTextObject->AppendElement(*pSimpleText);
 
@@ -1116,7 +1117,7 @@ _ToolbarPresenter::SetTitleText(const String& title, HorizontalAlignment alignme
 
        __pTitleTextObject->SetFont(__pTitleTextFont, 0, __pTitleTextObject->GetTextLength());
 
-       __pTitleTextObject->Compose();
+       //__pTitleTextObject->Compose();
 
        return r;
 }
index 39992cd..054b0f9 100644 (file)
@@ -188,6 +188,12 @@ public:
        result SetUnderlineBitmap(const Tizen::Graphics::Bitmap& bitmap);
        Tizen::Graphics::Bitmap* GetUnderlineBitmap(void) const;
 
+       result SetTabTextDimLeftBitmap(const Tizen::Graphics::Bitmap& bitmap);
+       Tizen::Graphics::Bitmap* GetTabTextDimLeftBitmap(void) const;
+
+       result SetTabTextDimRightBitmap(const Tizen::Graphics::Bitmap& bitmap);
+       Tizen::Graphics::Bitmap* GetTabTextDimRightBitmap(void) const;
+
        result SetBackgroundBitmap(_ButtonStatus status, const Tizen::Graphics::Bitmap& bitmap);
        Tizen::Graphics::Bitmap* GetBackgroundBitmap(_ButtonStatus status) const;
 
@@ -299,6 +305,8 @@ private:
        Tizen::Graphics::Bitmap* __pBackgroundBitmap[NUMBER_OF_BUTTON_STATUS];
        Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap[NUMBER_OF_BUTTON_STATUS];
        Tizen::Graphics::Bitmap* __pUnderlineBitmap;
+       Tizen::Graphics::Bitmap* __pTabTextDimLeftBitmap;
+       Tizen::Graphics::Bitmap* __pTabTextDimRightBitmap;
 
        HorizontalAlignment __horizontalAlignment;
        VerticalAlignment __verticalAlignment;
index 703e236..6ef34ee 100644 (file)
@@ -106,6 +106,7 @@ private:
        void DrawBitmap(void);
        void DrawText(void);
        void DrawUnderlineBitmap(void);
+       void DrawTabTextDimBitmap(void);
 
        bool IsEnabledStateChanged(void);
 
index dc9cd5b..f737138 100644 (file)
@@ -154,6 +154,9 @@ private:
        float __rightMargin;
        float __bottomMargin;
 
+       bool __contented;
+       Tizen::Graphics::FloatDimension __contentedDimension;
+
        Tizen::Ui::_AccessibilityElement* __pTextElement;
 
        static const float SENSITIVE = 0.08f;
index 2a92723..30a37e8 100644 (file)
@@ -125,6 +125,8 @@ DECLARE_UI_CONFIG(FOOTER);
        DECLARE_COLOR_CONFIG(MORE_ICON_HIGHLIGHTED, 98);
        DECLARE_COLOR_CONFIG(SELECTED_BAR_BG_NORMAL, 99);
        DECLARE_COLOR_CONFIG(SELECTED_BAR_TRANSLUCENT_BG_NORMAL, 100);
+       DECLARE_COLOR_CONFIG(TAB_TEXT_DIM_NORMAL, 101);
+       DECLARE_COLOR_CONFIG(TAB_TEXT_DIM_TRANSLUCENT_NORMAL, 102);
 
        // BITMAP
        DECLARE_IMAGE_CONFIG(BG_NORMAL, 1);
@@ -265,6 +267,9 @@ DECLARE_UI_CONFIG(FOOTER);
        DECLARE_IMAGE_CONFIG(BUTTON_ITEM_TRANSLUCENT_BG_EFFECT_NORMAL, 131);
        DECLARE_IMAGE_CONFIG(BUTTON_ITEM_TRANSLUCENT_BG_EFFECT_PRESSED, 132);
 
+       DECLARE_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_LEFT, 133);
+       DECLARE_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_RIGHT, 134);
+
        //SHAPE
        DECLARE_SHAPE_CONFIG(HEIGHT, 1);
        DECLARE_SHAPE_CONFIG(WIDTH, 2);
index 215946b..e4c0c61 100644 (file)
@@ -118,7 +118,8 @@ DECLARE_UI_CONFIG(HEADER);
        DECLARE_COLOR_CONFIG(SELECTED_BAR_BG_NORMAL, 91);
        DECLARE_COLOR_CONFIG(SELECTED_BAR_TRANSLUCENT_BG_NORMAL, 92);
        DECLARE_COLOR_CONFIG(BOUNCING_EFFECT, 93);
-
+       DECLARE_COLOR_CONFIG(TAB_TEXT_DIM_NORMAL, 94);
+       DECLARE_COLOR_CONFIG(TAB_TEXT_DIM_TRANSLUCENT_NORMAL, 95);
 
        // BITMAP
        DECLARE_IMAGE_CONFIG(BG_NORMAL, 1);
@@ -204,6 +205,7 @@ DECLARE_UI_CONFIG(HEADER);
 
        DECLARE_IMAGE_CONFIG(TITLE_TEXT_DIM_EFFECT_LEFT, 76);
        DECLARE_IMAGE_CONFIG(TITLE_TEXT_DIM_EFFECT_RIGHT, 77);
+
        DECLARE_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_LEFT, 78);
        DECLARE_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_RIGHT, 79);
 
@@ -284,6 +286,9 @@ DECLARE_UI_CONFIG(HEADER);
        DECLARE_SHAPE_CONFIG(TAB_LARGE_TOP_MARGIN, 73);
        DECLARE_SHAPE_CONFIG(TAB_LARGE_TEXT_HEIGHT, 74);
        DECLARE_SHAPE_CONFIG(TAB_LARGE_DIVIDER_HEIGHT, 75);
+       DECLARE_SHAPE_CONFIG(BUTTON_ITEM_MARGIN_WITH_TEXT, 76);
+       DECLARE_SHAPE_CONFIG(TAB_TEXT_DIM_WIDTH, 77);
+
 
 DECLARE_END_UI_CONFIG(HEADER);
 
index f5bb451..1857f8e 100644 (file)
@@ -153,6 +153,9 @@ START_UI_CONFIG(FOOTER);
        ADD_COLOR_CONFIG(SELECTED_BAR_BG_NORMAL, $B052L6P);
        ADD_COLOR_CONFIG(SELECTED_BAR_TRANSLUCENT_BG_NORMAL, $B052L6P);
 
+       ADD_COLOR_CONFIG(TAB_TEXT_DIM_NORMAL, $B0515L1);
+       ADD_COLOR_CONFIG(TAB_TEXT_DIM_TRANSLUCENT_NORMAL, $B013);
+
        // BITMAP
        ADD_IMAGE_CONFIG(BG_NORMAL, #00_toolbar_bg.#.png);
        ADD_IMAGE_CONFIG(TRANSLUCENT_BG_NORMAL, #00_toolbar_bg.#.png);
@@ -321,6 +324,9 @@ START_UI_CONFIG(FOOTER);
        ADD_IMAGE_CONFIG(TAB_ITEM_BOUNCING_EFFECT_LEFT_HORIZONTAL, #00_effect_toolbar_tab_bounce_left_h.png);//85
        ADD_IMAGE_CONFIG(TAB_ITEM_BOUNCING_EFFECT_RIGHT_HORIZONTAL, #00_effect_toolbar_tab_bounce_right_h.png);//85
 
+       ADD_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_LEFT,   #00_effect_tab_text_dim_left.#.png);
+       ADD_IMAGE_CONFIG(TAB_TEXT_DIM_EFFECT_RIGHT,  #00_effect_tab_text_dim_right.#.png);
+
        //SHAPE
        START_UI_CONFIG_MODE(720x1280);
                ADD_SHAPE_CONFIG(HEIGHT, 98);
@@ -343,10 +349,10 @@ START_UI_CONFIG(FOOTER);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_TOP_MARGIN, 6);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_3, 26);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_4, 26);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_5, 24);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_3_WITH_ICON, 24);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_4_WITH_ICON, 24);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_5_WITH_ICON, 20);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_5, 26);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_3_WITH_ICON, 26);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_4_WITH_ICON, 26);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_TEXT_FONT_SIZE_ITEM_5_WITH_ICON, 26);
                ADD_SHAPE_CONFIG(SEGMENTED_ITEM_FONT_SIZE, 30);
                ADD_SHAPE_CONFIG(SEGMENTED_ICON_TEXT_GAP, 20);
                ADD_SHAPE_CONFIG(FOOTER_ITEM_WIDTH_1_MAX, 496);
index e872803..7399014 100644 (file)
@@ -136,6 +136,9 @@ START_UI_CONFIG(HEADER);
 
        ADD_COLOR_CONFIG(BOUNCING_EFFECT, $B018);
 
+       ADD_COLOR_CONFIG(TAB_TEXT_DIM_NORMAL, $B0511);
+       ADD_COLOR_CONFIG(TAB_TEXT_DIM_TRANSLUCENT_NORMAL, $B013);
+
        // BITMAP
        ADD_IMAGE_CONFIG(BG_NORMAL, #00_title_bg.#.png);
        ADD_IMAGE_CONFIG(TRANSLUCENT_BG_NORMAL, #00_title_bg.#.png);
@@ -300,7 +303,8 @@ START_UI_CONFIG(HEADER);
                ADD_SHAPE_CONFIG(DESCRIPTION_TEXT_HEIGHT, 37);
 
                ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH, 115);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH_WITH_TEXT, 124);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH_WITH_TEXT, 183);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_MARGIN_WITH_TEXT, 16);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_HEIGHT, 96);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_GAP, 2);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_TOP_MARGIN, 0);
@@ -358,6 +362,8 @@ START_UI_CONFIG(HEADER);
                ADD_SHAPE_CONFIG(TAB_LARGE_TEXT_HEIGHT, 34);
                ADD_SHAPE_CONFIG(TAB_LARGE_DIVIDER_HEIGHT, 88);
 
+               ADD_SHAPE_CONFIG(TAB_TEXT_DIM_WIDTH, 45);
+
        END_UI_CONFIG_MODE(720x1280);
 
        START_UI_CONFIG_MODE(1280x720);
@@ -394,7 +400,8 @@ START_UI_CONFIG(HEADER);
                ADD_SHAPE_CONFIG(DESCRIPTION_TEXT_HEIGHT, 30);
 
                ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH, 115);
-               ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH_WITH_TEXT, 124);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_WIDTH_WITH_TEXT, 183);
+               ADD_SHAPE_CONFIG(BUTTON_ITEM_MARGIN_WITH_TEXT, 16);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_HEIGHT, 91);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_GAP, 2);
                ADD_SHAPE_CONFIG(BUTTON_ITEM_TOP_MARGIN, 0);
@@ -452,6 +459,8 @@ START_UI_CONFIG(HEADER);
                ADD_SHAPE_CONFIG(TAB_LARGE_TEXT_HEIGHT, 34);
                ADD_SHAPE_CONFIG(TAB_LARGE_DIVIDER_HEIGHT, 88);
 
+               ADD_SHAPE_CONFIG(TAB_TEXT_DIM_WIDTH, 45);
+
        END_UI_CONFIG_MODE(1280x720);
 }
 END_UI_CONFIG(HEADER);