From 3625e0aa476915885c72f4d12bcd412175e801e8 Mon Sep 17 00:00:00 2001 From: "sr.shashank" Date: Wed, 3 Jul 2013 12:57:58 +0530 Subject: [PATCH] Resetting the Arrow and Divider line bounds for the item to item bounds, when SetItem is called. Change-Id: I641bda4f205c2e012e628396f72f88e9253b9d01 Signed-off-by: sr.shashank --- src/ui/controls/FUiCtrl_OptionMenuItem.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/ui/controls/FUiCtrl_OptionMenuItem.cpp b/src/ui/controls/FUiCtrl_OptionMenuItem.cpp index 3f5ceb7..d61efa5 100755 --- a/src/ui/controls/FUiCtrl_OptionMenuItem.cpp +++ b/src/ui/controls/FUiCtrl_OptionMenuItem.cpp @@ -605,16 +605,11 @@ _OptionMenuItem::DrawArrow(void) pArrowBitmap = null; } - arrowbounds = FloatRectangle(bounds.x + bounds.width - __arrowMargin - __rightMargin, - (__itemHeight - __pArrowBitmap->GetHeight())/2.0f, __pArrowBitmap->GetWidth(), __pArrowBitmap->GetHeight()); - if (__pArrowLabel == null) { __pArrowLabel = _Label::CreateLabelN(); SysTryCatch(NID_UI_CTRL, (__pArrowLabel != null), , r, "[%s] Propagating.", GetErrorMessage(r)); - __pArrowLabel->SetBounds(FloatRectangle(arrowbounds)); - AttachChild(*__pArrowLabel); _AccessibilityContainer* pContainer = __pArrowLabel->GetAccessibilityContainer(); @@ -624,6 +619,10 @@ _OptionMenuItem::DrawArrow(void) } } + arrowbounds = FloatRectangle(bounds.x + bounds.width - __arrowMargin - __rightMargin, + (__itemHeight - __pArrowBitmap->GetHeight())/2.0f, __pArrowBitmap->GetWidth(), __pArrowBitmap->GetHeight()); + __pArrowLabel->SetBounds(FloatRectangle(arrowbounds)); + if (__selected == true) { if (__pArrowPressedBitmap) @@ -659,14 +658,14 @@ CATCH: void _OptionMenuItem::DrawItemUpperDivider(void) { + FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f); + Color dividerLineColor(0, 0, 0, 0); + if (__pUpperDividerLineLabel == null) { __pUpperDividerLineLabel = _Label::CreateLabelN(); SysTryReturnVoidResult(NID_UI_CTRL, __pUpperDividerLineLabel, E_OUT_OF_MEMORY, "[%s] Propagating.", GetErrorMessage(GetLastResult())); - FloatRectangle bounds = GetBoundsF(); - __pUpperDividerLineLabel->SetBounds(FloatRectangle(__leftMargin, 0.0f, bounds.width - __leftMargin - __rightMargin, __dividerHeight)); - AttachChild(*__pUpperDividerLineLabel); _AccessibilityContainer* pContainer = __pUpperDividerLineLabel->GetAccessibilityContainer(); @@ -676,12 +675,13 @@ _OptionMenuItem::DrawItemUpperDivider(void) } } - Color dividerLineColor = Color(0, 0, 0, 0); + bounds = GetBoundsF(); if (__selected == false) { dividerLineColor = __upperDividerLineColor; } + __pUpperDividerLineLabel->SetBounds(FloatRectangle(__leftMargin, 0.0f, bounds.width - __leftMargin - __rightMargin, __dividerHeight)); __pUpperDividerLineLabel->SetBackgroundColor(dividerLineColor); __pUpperDividerLineLabel->Invalidate(); } @@ -758,14 +758,14 @@ _OptionMenuItem::DrawItemBackground(void) void _OptionMenuItem::DrawItemLowerDivider(void) { + FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f); + Color dividerLineColor(0, 0, 0, 0); + if (__pLowerDividerLineLabel == null) { __pLowerDividerLineLabel = _Label::CreateLabelN(); SysTryReturnVoidResult(NID_UI_CTRL, __pLowerDividerLineLabel, E_OUT_OF_MEMORY, "[%s] Propagating.", GetErrorMessage(GetLastResult())); - FloatRectangle bounds = GetBoundsF(); - __pLowerDividerLineLabel->SetBounds(FloatRectangle(__leftMargin, bounds.height - __dividerHeight, bounds.width - __leftMargin - __rightMargin, __dividerHeight)); - AttachChild(*__pLowerDividerLineLabel); _AccessibilityContainer* pContainer = __pLowerDividerLineLabel->GetAccessibilityContainer(); @@ -775,12 +775,13 @@ _OptionMenuItem::DrawItemLowerDivider(void) } } - Color dividerLineColor = Color(0, 0, 0, 0); + bounds = GetBoundsF(); if (__selected == false) { dividerLineColor = __lowerDividerLineColor; } + __pLowerDividerLineLabel->SetBounds(FloatRectangle(__leftMargin, bounds.height - __dividerHeight, bounds.width - __leftMargin - __rightMargin, __dividerHeight)); __pLowerDividerLineLabel->SetBackgroundColor(dividerLineColor); __pLowerDividerLineLabel->Invalidate(); } -- 2.7.4