if (enabled)
{
__pButtonItems[position]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+
+ SetFocusNavigateEnabled(true);
+
_AccessibilityElement* pElement = __pButtonItems[position]->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
{
else
{
__pButtonItems[position]->SetButtonStatus(_BUTTON_STATUS_DISABLED);
+
+ bool AllItemDisabled = true;
+
+ for (int i = 0; i < __itemCount ; i++)
+ {
+ if (__pItems.at(i)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ AllItemDisabled = false;
+ break;
+ }
+ }
+
+ bool AllButtonDisabled = false;
+
+ if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED
+ && __pButtonItems[RIGHT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ else
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ }
+ else
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ else
+ {
+ AllButtonDisabled = true;
+ }
+ }
+
+ if (AllItemDisabled == true && AllButtonDisabled == true)
+ {
+ SetFocusNavigateEnabled(false);
+ }
+
_AccessibilityElement* pElement = __pButtonItems[position]->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
{
SysTryReturnResult(NID_UI_CTRL, (itemIndex >= 0 && itemIndex < __itemCount), E_OUT_OF_RANGE,
"[E_OUT_OF_RANGE] The itemIndex is out of range.");
- if (pButton->GetActionId() < TOOLBAR_ACTION_ID_MIN || pButton->GetActionId() > TOOLBAR_ACTION_ID_MAX)
+ if (pButton->GetActionId() < TOOLBAR_ACTION_ID_MIN)
{
SysLog(NID_UI_CTRL, "[E_INVALID_ARG] The actionId is invalid.");
return E_OUT_OF_RANGE;
SysTryReturnResult(NID_UI_CTRL, (null != __pItems.at(itemIndex)), E_INVALID_OPERATION,
"[E_INVALID_OPERATION] No button item is at the position.");
+ result r = E_SUCCESS;
+
if (enabled)
{
_AccessibilityElement* pElement = __pItems.at(itemIndex)->GetAccessibilityContainer()->GetChildElement(0);
pElement->SetStatus(L"");
pElement->SetHintDisabled(false);
}
- return __pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+
+ r = __pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+
+ SetFocusNavigateEnabled(true);
+
+ return r;
}
else
{
pElement->SetStatus(L"");
pElement->SetHintDisabled(true);
}
- return __pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_DISABLED);
+
+ r = __pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_DISABLED);
+
+ bool AllItemDisabled = true;
+
+ for (int i = 0; i < __itemCount ; i++)
+ {
+ if (__pItems.at(i)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ AllItemDisabled = false;
+ break;
+ }
+ }
+
+ bool AllButtonDisabled = false;
+
+ if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED
+ && __pButtonItems[RIGHT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ else
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ }
+ else
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() == _BUTTON_STATUS_DISABLED)
+ {
+ AllButtonDisabled = true;
+ }
+ }
+ else
+ {
+ AllButtonDisabled = true;
+ }
+ }
+
+ if (AllItemDisabled == true && AllButtonDisabled == true)
+ {
+ SetFocusNavigateEnabled(false);
+ }
+
+ return r;
}
return E_SUCCESS;
void
_Toolbar::OnDrawFocus(void)
{
- if (IsFocusModeStateEnabled() == false)
+ if (IsFocusModeStateEnabled() == true)
{
if (__itemCount == 0)
{