apply backbutton concept
authorMyung Jin Kim <critical.kim@samsung.com>
Fri, 19 Apr 2013 10:45:03 +0000 (19:45 +0900)
committerMyung Jin Kim <critical.kim@samsung.com>
Fri, 19 Apr 2013 10:45:03 +0000 (19:45 +0900)
Change-Id: I4c1def80a0c9d520d24bde3c0b1e1e8c9c855220

src/ui/controls/FUiCtrl_Toolbar.cpp

index b661c24..7655be2 100644 (file)
@@ -1381,6 +1381,17 @@ _Toolbar::RemoveButtonAt(ToolbarButton position)
                        StopWaitingAnimation(TOOLBAR_ANIMATION_POSITION_BUTTON_RIGHT);
                }
 
+               if (__pButtonItems[position]->GetChildCount() != 0)
+               {
+                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pButtonItems[position]->GetChild(0));
+                       SysTryReturnResult(NID_UI_CTRL, pTempBadgeIcon, E_INVALID_STATE, "[E_INVALID_STATE] Couldn't get a badge icon.");
+
+                       __pButtonItems[position]->DetachChild(*pTempBadgeIcon);
+
+                       delete pTempBadgeIcon;
+                       pTempBadgeIcon = null;
+               }
+
                DetachChild(*__pButtonItems[position]);
                delete __pButtonItems[position];
                __pButtonItems[position] = null;
@@ -1521,6 +1532,11 @@ _Toolbar::SetButton(ToolbarButton position, _Button* pButton)
                                break;
 
                        case BACK_BUTTON:
+                               if (IsButtonSet(RIGHT_BUTTON) == true)
+                               {
+                                       RemoveButtonAt(RIGHT_BUTTON);
+                               }
+
                                pButton->SetPosition(FloatPoint(toolbarWidth - buttonWidth, 0.0f));
                                if (__pBackEventListener)
                                {