_Button* pSrcButton = null;
pSrcButton = GetItem(srcIndex);
+ SysTryReturnResult(NID_UI_CTRL, pSrcButton, E_INVALID_STATE, "[E_INVALID_ARG] No item at the pressed index.");
_Button* pDestButton = null;
pDestButton = GetItem(destIndex);
+ SysTryReturnResult(NID_UI_CTRL, pDestButton, E_INVALID_STATE, "[E_INVALID_ARG] No item at the released index.");
+
+ if (pDestButton->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ SetItemSelected(GetSelectedItemIndex(), true, false);
+
+ return E_INVALID_OPERATION;
+ }
__pItems.erase(__pItems.begin() + destIndex);
__pItems.insert(__pItems.begin() + destIndex, pSrcButton);
for (int i = 0; i < __itemCount; i++)
{
- __pItems.at(i)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ if (__pItems.at(i)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(i)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ }
+
_AccessibilityElement* pElement = __pItems.at(i)->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
{