fix buttonitem disabled
authorMyung Jin Kim <critical.kim@samsung.com>
Sat, 27 Apr 2013 11:13:04 +0000 (20:13 +0900)
committerMyung Jin Kim <critical.kim@samsung.com>
Sat, 27 Apr 2013 11:13:04 +0000 (20:13 +0900)
Change-Id: I7e43bef6bad380333edbb4a171e1e310547493b3

src/ui/controls/FUiCtrl_ToolbarPresenter.cpp

index 380b50d..b6de7ba 100644 (file)
@@ -1102,23 +1102,26 @@ _ToolbarPresenter::OnTouchPressed(const _Control& source, const _TouchInfo& touc
        {
                _Label* pLabel = dynamic_cast<_Label*>(const_cast<_Control*>(&source));
 
-               if (__pToolbar->GetButton(LEFT_BUTTON) != null)
+               if (pLabel != null)
                {
-                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
-
-                       if (pLabel == pTempBadgeIcon)
+                       if (__pToolbar->GetButton(LEFT_BUTTON) != null && __pToolbar->GetButton(LEFT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                        {
-                               __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED, false);
-                       }
-               }
+                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
 
-               if (__pToolbar->GetButton(RIGHT_BUTTON) != null)
-               {
-                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
+                               if (pLabel == pTempBadgeIcon)
+                               {
+                                       __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED, false);
+                               }
+                       }
 
-                       if (pLabel == pTempBadgeIcon)
+                       if (__pToolbar->GetButton(RIGHT_BUTTON) != null && __pToolbar->GetButton(RIGHT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                        {
-                               __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED, false);
+                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
+
+                               if (pLabel == pTempBadgeIcon)
+                               {
+                                       __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED, false);
+                               }
                        }
                }
        }
@@ -1265,37 +1268,40 @@ _ToolbarPresenter::OnTouchReleased(const _Control& source, const _TouchInfo& tou
                                {
                                        _Label* pLabel = dynamic_cast<_Label*>(const_cast<_Control*>(&source));
 
-                                       if (__pToolbar->GetButton(LEFT_BUTTON) != null)
+                                       if (pLabel != null)
                                        {
-                                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
-
-                                               if (pLabel == pTempBadgeIcon)
+                                               if (__pToolbar->GetButton(LEFT_BUTTON) != null && __pToolbar->GetButton(LEFT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                                                {
-                                                       FloatRectangle buttonItemBounds = __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF();
+                                                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
 
-                                                       if (buttonItemBounds.Contains(touchPoint))
+                                                       if (pLabel == pTempBadgeIcon)
                                                        {
-                                                               __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_SELECTED, true);
-                                                       }
+                                                               FloatRectangle buttonItemBounds = __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF();
 
-                                                       __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL, false);
-                                               }
-                                       }
+                                                               if (buttonItemBounds.Contains(touchPoint))
+                                                               {
+                                                                       __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_SELECTED, true);
+                                                               }
 
-                                       if (__pToolbar->GetButton(RIGHT_BUTTON) != null)
-                                       {
-                                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
+                                                               __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL, false);
+                                                       }
+                                               }
 
-                                               if (pLabel == pTempBadgeIcon)
+                                               if (__pToolbar->GetButton(RIGHT_BUTTON) != null && __pToolbar->GetButton(RIGHT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                                                {
-                                                       FloatRectangle buttonItemBounds = __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF();
+                                                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
 
-                                                       if (buttonItemBounds.Contains(touchPoint))
+                                                       if (pLabel == pTempBadgeIcon)
                                                        {
-                                                               __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_SELECTED, true);
-                                                       }
+                                                               FloatRectangle buttonItemBounds = __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF();
+
+                                                               if (buttonItemBounds.Contains(touchPoint))
+                                                               {
+                                                                       __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_SELECTED, true);
+                                                               }
 
-                                                       __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL, false);
+                                                               __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL, false);
+                                                       }
                                                }
                                        }
                                }
@@ -1342,40 +1348,43 @@ _ToolbarPresenter::OnTouchMoved(const _Control& source, const _TouchInfo& touchi
        {
                _Label* pLabel = dynamic_cast<_Label*>(const_cast<_Control*>(&source));
 
-               if (__pToolbar->GetButton(LEFT_BUTTON) != null)
+               if (pLabel != null)
                {
-                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
-
-                       if (pLabel == pTempBadgeIcon)
+                       if (__pToolbar->GetButton(LEFT_BUTTON) != null && __pToolbar->GetButton(LEFT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                        {
-                               FloatRectangle buttonItemBounds = __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF();
+                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(LEFT_BUTTON)->GetChild(0));
 
-                               if (buttonItemBounds.Contains(touchPoint))
+                               if (pLabel == pTempBadgeIcon)
                                {
-                                       __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED);
-                               }
-                               else
-                               {
-                                       __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+                                       FloatRectangle buttonItemBounds = __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF();
+
+                                       if (buttonItemBounds.Contains(touchPoint))
+                                       {
+                                               __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED);
+                                       }
+                                       else
+                                       {
+                                               __pToolbar->GetButton(LEFT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+                                       }
                                }
                        }
-               }
 
-               if (__pToolbar->GetButton(RIGHT_BUTTON) != null)
-               {
-                       _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
-
-                       if (pLabel == pTempBadgeIcon)
+                       if (__pToolbar->GetButton(RIGHT_BUTTON) != null && __pToolbar->GetButton(RIGHT_BUTTON)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
                        {
-                               FloatRectangle buttonItemBounds = __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF();
+                               _Label* pTempBadgeIcon = dynamic_cast<_Label*>(__pToolbar->GetButton(RIGHT_BUTTON)->GetChild(0));
 
-                               if (buttonItemBounds.Contains(touchPoint))
+                               if (pLabel == pTempBadgeIcon)
                                {
-                                       __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED);
-                               }
-                               else
-                               {
-                                       __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+                                       FloatRectangle buttonItemBounds = __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF();
+
+                                       if (buttonItemBounds.Contains(touchPoint))
+                                       {
+                                               __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_PRESSED);
+                                       }
+                                       else
+                                       {
+                                               __pToolbar->GetButton(RIGHT_BUTTON)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+                                       }
                                }
                        }
                }