, __transparent(false)
, __isUserBackgroundBitmap(false)
, __highlightedItemIndex(0)
+ , __lastHighlightedItemIndex(0)
+ , __highlighted(false)
, __titleTextArea(FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f))
, __itemArea(FloatRectangle(0.0f, 0.0f, 0.0f, 0.0f))
, __pTitleTextElement(null)
__pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, fire);
__pItems.at(itemIndex)->Draw();
- __highlightedItemIndex = itemIndex;
-
_AccessibilityElement* pElement = __pItems.at(currentSelectedItemIndex)->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
{
}
__pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, fire);
- __highlightedItemIndex = itemIndex;
-
_AccessibilityElement* pElement = __pItems.at(itemIndex)->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
{
__pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, fire);
__highlightedItemIndex = itemIndex;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
_AccessibilityElement* pElement = __pItems.at(currentSelectedItemIndex)->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
__pItems.at(itemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, fire);
__highlightedItemIndex = itemIndex;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
_AccessibilityElement* pElement = __pItems.at(itemIndex)->GetAccessibilityContainer()->GetChildElement(0);
if (pElement)
__descriptionText = L"";
__highlightedItemIndex = 0;
+ __lastHighlightedItemIndex = 0;
+ __highlighted = false;
if (__style == TOOLBAR_TITLE || __style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_TAB_WITH_TITLE)
{
{
if (__header == true && __style != TOOLBAR_TEXT) // right align
{
+ if (__itemCount != 0)
+ {
+ if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
+ || __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __highlightedItemIndex = GetSelectedItemIndex();
+ }
+ else // not segmented
+ {
+ __highlightedItemIndex = 0;
+ }
+ }
+
OnHeaderFocusGained(source);
}
else
{
+ if (__itemCount != 0)
+ {
+ if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
+ || __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __highlightedItemIndex = GetSelectedItemIndex();
+ }
+ else // not segmented
+ {
+ __highlightedItemIndex = 0;
+ }
+ }
+
OnFooterFocusGained(source);
}
{
if (__itemCount == 0)
{
- if (__pButtonItems[MENU_BUTTON] || __pButtonItems[LEFT_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON])
{
- if (__pButtonItems[MENU_BUTTON])
+ if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
- __highlightedItemIndex = __itemCount;
- }
- else
+ __highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
{
- if (__pButtonItems[BACK_BUTTON] || __pButtonItems[RIGHT_BUTTON])
+ if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__pButtonItems[BACK_BUTTON])
- {
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- }
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
}
- else if (__pButtonItems[LEFT_BUTTON])
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ }
+ }
+ else // itemCount != 0
+ {
+ if (__pItems.at(__highlightedItemIndex))
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ if (__highlightedItemIndex < __itemCount - 1)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ __highlightedItemIndex++;
- __highlightedItemIndex = __itemCount;
+ OnHeaderFocusGained(source);
}
- else
+ else if (__highlightedItemIndex == __itemCount - 1)
{
- if (__pButtonItems[BACK_BUTTON] || __pButtonItems[RIGHT_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON])
{
- if (__pButtonItems[BACK_BUTTON])
+ if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
- else if (__pButtonItems[RIGHT_BUTTON])
+ else
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
-
- __highlightedItemIndex = __itemCount + 1;
}
- }
- }
- }
- else if (__pButtonItems[BACK_BUTTON] || __pButtonItems[RIGHT_BUTTON])
- {
- if (__pButtonItems[BACK_BUTTON])
- {
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
-
- __highlightedItemIndex = __itemCount;
- }
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
- __highlightedItemIndex = __itemCount;
+ __highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ }
}
}
}
}
- else // itemCount != 0
- {
- if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
- || __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
- {
- __highlightedItemIndex = GetSelectedItemIndex();
- }
- else // not segmented
- {
- __highlightedItemIndex = 0;
- }
-
- if (__pItems.at(__highlightedItemIndex))
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
return E_SUCCESS;
}
result
_Toolbar::OnFooterFocusGained(const _Control& source)
{
- __highlightedItemIndex = 0;
-
if (__itemCount == 0)
{
if (__pButtonItems[MENU_BUTTON] || __pButtonItems[LEFT_BUTTON])
__pButtonItems[MENU_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
{
__pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[BACK_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
{
__pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex =__highlightedItemIndex;
+ __highlighted = true;
}
}
-
- __highlightedItemIndex = __itemCount + 1;
}
}
}
__pButtonItems[LEFT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
{
__pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[BACK_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
{
__pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
-
- __highlightedItemIndex = __itemCount + 1;
}
}
}
__pButtonItems[BACK_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
__pButtonItems[RIGHT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
}
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else // not segmented
__pButtonItems[MENU_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
break;
}
}
__pButtonItems[BACK_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
__pButtonItems[RIGHT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
}
__pButtonItems[LEFT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
break;
}
}
__pButtonItems[BACK_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
__pButtonItems[RIGHT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount + 1;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
}
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
__pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
break;
}
}
__pButtonItems[BACK_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
else if (__pButtonItems[RIGHT_BUTTON])
__pButtonItems[RIGHT_BUTTON]->Invalidate();
__highlightedItemIndex = __itemCount;
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
}
}
return E_SUCCESS;
}
-#if 0
-result
-_Toolbar::OnHeaderFocusGained(const _Control& source)
+bool
+_Toolbar::OnFocusLost(const _Control& source)
{
if (__itemCount == 0)
{
{
if (__pButtonItems[MENU_BUTTON])
{
- if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
- || __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
- {
- if (__pItems.empty() == true)
- {
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else
- {
- __highlightedItemIndex = GetSelectedItemIndex();
-
- if (__pItems.at(__highlightedItemIndex))
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
- }
- else // not segmented
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__pItems.empty() == true)
- {
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else
- {
- if (__pItems.at(0))
- {
- __pItems.at(0)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pItems.at(0)->Invalidate();
- }
- }
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
}
}
else if (__pButtonItems[LEFT_BUTTON])
{
- if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
- || __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
- {
- if (__pItems.empty() == true)
- {
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else
- {
- __highlightedItemIndex = GetSelectedItemIndex();
-
- if (__pItems.at(__highlightedItemIndex))
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
- }
- else // not segmented
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__pItems.empty() == true)
- {
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else
- {
- if (__pItems.at(0))
- {
- __pItems.at(0)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pItems.at(0)->Invalidate();
- }
- }
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
}
}
}
{
if (__pButtonItems[BACK_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[BACK_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
{
if (__pButtonItems[MENU_BUTTON])
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[MENU_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[LEFT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
{
if (__pButtonItems[BACK_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[BACK_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
}
}
- else
+ else // __itemCount != 0
{
if (__highlightedItemIndex < __itemCount)
{
if(__pItems.at(__highlightedItemIndex))
{
- if(__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pItems.at(__highlightedItemIndex)->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
else
{
if (__pButtonItems[MENU_BUTTON])
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[MENU_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[LEFT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
else if (__highlightedItemIndex == __itemCount + 1)
{
if (__pButtonItems[BACK_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[BACK_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
{
if (__pButtonItems[MENU_BUTTON])
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[MENU_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[LEFT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
{
if (__pButtonItems[BACK_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[BACK_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
}
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
}
}
}
}
}
+
+ int selectedItemIndex = GetSelectedItemIndex();
+
+ if(selectedItemIndex != -1 && __pItems.at(selectedItemIndex))
+ {
+ if (__pItems.at(selectedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(selectedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(selectedItemIndex)->Invalidate();
+ }
+ }
}
- return E_SUCCESS;
+ return true;
}
-result
-_Toolbar::OnFooterFocusGained(const _Control& source)
+bool
+_Toolbar::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
{
- if (__itemCount == 0)
+ _KeyCode keyCode = keyInfo.GetKeyCode();
+
+ int selectedItemIndex = GetSelectedItemIndex();
+
+ if (keyCode == _KEY_RIGHT)
{
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
+ __highlighted = false;
+
+ if (__header == true && __style != TOOLBAR_TEXT) // right align
{
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
+ if (__itemCount != 0)
{
- if (__highlightedItemIndex == __itemCount)
+ if (__highlightedItemIndex < (__itemCount - 1)) // 0,1
{
- if (__pButtonItems[MENU_BUTTON])
+ if (__pItems.at(__highlightedItemIndex) != null)
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__highlightedItemIndex == selectedItemIndex)
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+
+ __highlightedItemIndex++;
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
+ if (__highlightedItemIndex - __pToolbarPresenter->GetFirstLoadedItemIndex() == SEGMENTED_ITEM_MAX)
+ {
+ if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __pToolbarPresenter->SetItemFit(__highlightedItemIndex - (SEGMENTED_ITEM_MAX - 1));
+ }
+ }
}
else
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ OnKeyReleased(source, keyInfo);
}
}
}
- else if (__highlightedItemIndex == __itemCount + 1)
+ else // 2, L, R, B,
{
- if (__pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
+ if (__highlightedItemIndex == __itemCount - 1)
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ if (__pItems.at(__highlightedItemIndex) != null)
+ {
+ if (__highlightedItemIndex == selectedItemIndex)
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ else
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ }
}
}
- else if (__pButtonItems[RIGHT_BUTTON])
+
+ if (__pButtonItems[LEFT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__highlightedItemIndex == __itemCount - 1)
+ {
+ __highlightedItemIndex++;
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount)
+ {
+ __highlightedItemIndex++;
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+ }
+
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
}
else
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ if (__highlightedItemIndex == __itemCount - 1)
+ {
+ __highlightedItemIndex++;
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
}
}
- }
- }
- else
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[MENU_BUTTON])
+ else
{
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else
+ if (__pButtonItems[RIGHT_BUTTON])
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ if (__highlightedItemIndex == __itemCount - 1)
+ {
+ __highlightedItemIndex++;
+
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
}
}
- else if (__pButtonItems[LEFT_BUTTON])
+ }
+
+ if (__highlighted == false)
+ {
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
+ if (__highlightedItemIndex < __itemCount)
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pItems.at(__highlightedItemIndex))
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- }
- }
- }
- else
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[BACK_BUTTON])
- {
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- }
- }
- }
- }
- else
- {
- if (__highlightedItemIndex < __itemCount)
- {
- if(__pItems.at(__highlightedItemIndex))
- {
- if(__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- }
- else
- {
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[MENU_BUTTON])
- {
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
- else if (__highlightedItemIndex == __itemCount + 1)
+ else if (__highlightedItemIndex == __itemCount)
{
- if (__pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON])
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
- }
- else
- {
- if (__highlightedItemIndex == __itemCount)
+ else if (__highlightedItemIndex == __itemCount + 1)
{
- if (__pButtonItems[MENU_BUTTON])
- {
- if(__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else
- {
- __highlightedItemIndex++;
- OnFocusGained(source);
- }
- }
- else if (__pButtonItems[LEFT_BUTTON])
+ if (__pButtonItems[RIGHT_BUTTON])
{
- if(__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
+
+ __highlighted = true;
}
}
- else
+ else // itemCount == 0
{
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON])
{
- if (__highlightedItemIndex == __itemCount)
+ if (__pButtonItems[RIGHT_BUTTON])
{
- if (__pButtonItems[BACK_BUTTON])
+ if (__highlightedItemIndex == 0)
{
- if(__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
+ __highlightedItemIndex++;
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
}
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- if(__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
- __highlightedItemIndex++;
- OnFocusGained(source);
+ OnKeyReleased(source, keyInfo);
}
}
}
}
- }
- }
- }
-
- return E_SUCCESS;
-}
-#endif
-
-bool
-_Toolbar::OnFocusLost(const _Control& source)
-{
- if (__itemCount == 0)
- {
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[MENU_BUTTON])
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- }
- else if (__highlightedItemIndex == __itemCount + 1)
- {
- if (__pButtonItems[BACK_BUTTON])
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- }
- }
- else
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[MENU_BUTTON])
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- }
- }
- }
- else
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[BACK_BUTTON])
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- }
- }
- }
- }
- else // __itemCount != 0
- {
- if (__highlightedItemIndex < __itemCount)
- {
- if(__pItems.at(__highlightedItemIndex))
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
- else
- {
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
+ if (__highlighted == false)
{
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
if (__highlightedItemIndex == __itemCount)
{
- if (__pButtonItems[MENU_BUTTON])
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- }
- else if (__highlightedItemIndex == __itemCount + 1)
- {
- if (__pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- }
- }
- else
- {
- if (__highlightedItemIndex == __itemCount)
- {
- if (__pButtonItems[MENU_BUTTON])
- {
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[LEFT_BUTTON])
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
}
}
- }
- }
- else
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount)
+ else if (__highlightedItemIndex == __itemCount + 1)
{
- if (__pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
}
}
+
+ __highlighted = true;
}
}
}
-
- int selectedItemIndex = GetSelectedItemIndex();
-
- if(selectedItemIndex != -1 && __pItems.at(selectedItemIndex))
- {
- __pItems.at(selectedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(selectedItemIndex)->Invalidate();
- }
- }
-
- return true;
-}
-
-bool
-_Toolbar::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
-{
- _KeyCode keyCode = keyInfo.GetKeyCode();
-
- int selectedItemIndex = GetSelectedItemIndex();
-
- if (keyCode == _KEY_RIGHT)
- {
- if (__header == true && __style != TOOLBAR_TEXT) // right align
+ else // footer // right key
{
if (__itemCount != 0)
{
- if (__highlightedItemIndex < (__itemCount - 1)) // 0,1
+ if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
{
- if (__pItems.at(__highlightedItemIndex) != null)
+ if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // L Item R
{
- if (__highlightedItemIndex == selectedItemIndex)
- {
- if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
- else
- {
- if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
-
- __highlightedItemIndex++;
-
- if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__highlightedItemIndex == __itemCount)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
-
- if (__highlightedItemIndex - __pToolbarPresenter->GetFirstLoadedItemIndex() == SEGMENTED_ITEM_MAX)
+ if (__pButtonItems[MENU_BUTTON])
{
- if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pToolbarPresenter->SetItemFit(__highlightedItemIndex - (SEGMENTED_ITEM_MAX - 1));
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
}
}
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
- }
- else // 2, L, R, B,
- {
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount - 1)
- {
- if (__pItems.at(__highlightedItemIndex) != null)
+ else if (__pButtonItems[LEFT_BUTTON])
{
- if (__highlightedItemIndex == selectedItemIndex)
- {
- if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- }
- else
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
}
}
- }
- }
-
- if (__pButtonItems[LEFT_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__pButtonItems[BACK_BUTTON])
- {
- if (__highlightedItemIndex == __itemCount - 1)
- {
- __highlightedItemIndex++;
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
- else if (__highlightedItemIndex == __itemCount)
- {
- __highlightedItemIndex++;
+ __highlightedItemIndex = 0;
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
- if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
- else if (__pButtonItems[RIGHT_BUTTON])
+ else
{
- if (__highlightedItemIndex == __itemCount - 1)
- {
- __highlightedItemIndex++;
-
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
- else if (__highlightedItemIndex == __itemCount)
- {
- __highlightedItemIndex++;
-
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
-
- if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
+ OnKeyReleased(source, keyInfo);
}
}
- else
+ else if (__highlightedItemIndex < __itemCount - 1)
{
- if (__highlightedItemIndex == __itemCount - 1)
+ if (__highlightedItemIndex == selectedItemIndex)
{
- __highlightedItemIndex++;
-
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
}
}
- }
- }
- else
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__pButtonItems[BACK_BUTTON])
+ else
{
- if (__highlightedItemIndex == __itemCount - 1)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __highlightedItemIndex++;
-
- if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
}
}
- else if (__pButtonItems[RIGHT_BUTTON])
+
+ __highlightedItemIndex++;
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__highlightedItemIndex == __itemCount - 1)
- {
- __highlightedItemIndex++;
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
- if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
- }
- else
- {
- OnKeyReleased(source, keyInfo);
- }
- }
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
}
}
- }
- }
- }
- else // itemCount == 0
- {
- if (__pButtonItems[LEFT_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
- {
- if (__pButtonItems[BACK_BUTTON])
+ else if (__highlightedItemIndex == __itemCount -1)
{
- if (__highlightedItemIndex == 0)
+ if (__highlightedItemIndex == selectedItemIndex)
{
- __highlightedItemIndex++;
-
- if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ else
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
}
+ }
+ __highlightedItemIndex = __itemCount + 1;
+
+ if (__pButtonItems[BACK_BUTTON])
+ {
if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
__pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[BACK_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
OnKeyReleased(source, keyInfo);
}
}
- }
- else if (__pButtonItems[RIGHT_BUTTON])
- {
- if (__highlightedItemIndex == 0)
+ else if (__pButtonItems[RIGHT_BUTTON])
{
- __highlightedItemIndex++;
-
- if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
- {
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
- }
-
if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
__pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
}
}
}
- }
- }
- }
- else // footer // right key
- {
- if (__itemCount != 0)
- {
- if (__pButtonItems[LEFT_BUTTON] || __pButtonItems[MENU_BUTTON])
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // L Item R
+ else // L, M Item
{
if (__highlightedItemIndex == __itemCount)
{
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+ }
}
__highlightedItemIndex = 0;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- else if (__highlightedItemIndex < __itemCount - 1)
- {
- if (__highlightedItemIndex == selectedItemIndex)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ OnKeyReleased(source, keyInfo);
}
-
- __highlightedItemIndex++;
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
}
- else if (__highlightedItemIndex == __itemCount -1)
+ else if (__highlightedItemIndex < __itemCount - 1)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
- __highlightedItemIndex = __itemCount + 1;
+ __highlightedItemIndex++;
- if (__pButtonItems[BACK_BUTTON])
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
- else if (__pButtonItems[RIGHT_BUTTON])
+ else
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ OnKeyReleased(source, keyInfo);
}
}
}
- else // L Item
+ }
+ else // L is null
+ {
+ if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // Item R, B
{
- if (__highlightedItemIndex == __itemCount)
+ if (__highlightedItemIndex < __itemCount - 1)
{
- if (__pButtonItems[MENU_BUTTON])
+ if (__highlightedItemIndex == selectedItemIndex)
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
- else if (__pButtonItems[LEFT_BUTTON])
+ else
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
- __highlightedItemIndex = 0;
+ __highlightedItemIndex++;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
- else if (__highlightedItemIndex < __itemCount - 1)
+ else if (__highlightedItemIndex == __itemCount -1)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex++;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[BACK_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
}
}
- }
- else // L is null
- {
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // Item R
+ else // Item
{
if (__highlightedItemIndex < __itemCount - 1)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex++;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
+ if (__highlightedItemIndex - __pToolbarPresenter->GetFirstLoadedItemIndex() == SEGMENTED_ITEM_MAX)
+ {
+ if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __pToolbarPresenter->SetItemFit(__highlightedItemIndex - (SEGMENTED_ITEM_MAX - 1));
+ }
+ }
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
- else if (__highlightedItemIndex == __itemCount -1)
+ }
+ }
+
+ if (__highlighted == false)
+ {
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
+ if (__highlightedItemIndex < __itemCount)
+ {
+ if (__pItems.at(__highlightedItemIndex))
{
- if (__highlightedItemIndex == selectedItemIndex)
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[MENU_BUTTON])
+ {
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
- else
+ }
+ else if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
-
- __highlightedItemIndex++;
-
- if (__pButtonItems[BACK_BUTTON])
+ }
+ else if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
__pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
}
- else if (__pButtonItems[RIGHT_BUTTON])
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
__pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
}
}
}
- else // Item
+ else if (__highlightedItemIndex == __itemCount + 1)
{
- if (__highlightedItemIndex < __itemCount - 1)
+ if (__pButtonItems[BACK_BUTTON])
{
- if (__highlightedItemIndex == selectedItemIndex)
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- else
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
-
- __highlightedItemIndex++;
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
-
- if (__highlightedItemIndex - __pToolbarPresenter->GetFirstLoadedItemIndex() == SEGMENTED_ITEM_MAX)
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
- {
- __pToolbarPresenter->SetItemFit(__highlightedItemIndex - (SEGMENTED_ITEM_MAX - 1));
- }
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
+
+ __highlighted = true;
}
}
else // __itemCount = 0
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+ }
}
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[BACK_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ }
+ }
+ }
+
+ if (__highlighted == false)
+ {
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
+ if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[MENU_BUTTON])
+ {
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
__pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
}
}
}
+ else if (__highlightedItemIndex == __itemCount + 1)
+ {
+ if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ }
+
+ __highlighted = true;
}
}
}
if (keyCode == _KEY_LEFT)
{
+ __highlighted = false;
+
if (__header == true && __style != TOOLBAR_TEXT) // right align
{
if (__itemCount != 0)
if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
}
- else if (__pButtonItems[BACK_BUTTON])
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
- }
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
else if (__highlightedItemIndex == __itemCount)
{
if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
+ }
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
- else if (__pButtonItems[BACK_BUTTON])
+ else
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ OnKeyReleased(source, keyInfo);
}
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
}
else if (__highlightedItemIndex > 0)
{
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex--;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
+ if (__pToolbarPresenter->GetFirstLoadedItemIndex() > __highlightedItemIndex)
+ {
+ if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __pToolbarPresenter->SetItemFit(__highlightedItemIndex);
+ }
+ }
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ }
+
+ if (__highlighted == false)
+ {
+ __highlightedItemIndex = __lastHighlightedItemIndex;
- if (__pToolbarPresenter->GetFirstLoadedItemIndex() > __highlightedItemIndex)
+ if (__highlightedItemIndex < __itemCount)
+ {
+ if (__pItems.at(__highlightedItemIndex))
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount + 1)
+ {
+ if (__pButtonItems[RIGHT_BUTTON])
{
- if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pToolbarPresenter->SetItemFit(__highlightedItemIndex);
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
+
+ __highlighted = true;
+ }
+ }
+ else // __itemCount == 0
+ {
+ if (__highlightedItemIndex == __itemCount + 1)
+ {
+ __highlightedItemIndex--;
+
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
+ }
+
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
- }
- else // __itemCount == 0
- {
- if (__highlightedItemIndex == __itemCount + 1)
+
+ if (__highlighted == false)
{
- __highlightedItemIndex--;
+ __highlightedItemIndex = __lastHighlightedItemIndex;
- if (__pButtonItems[RIGHT_BUTTON])
+ if (__highlightedItemIndex == __itemCount)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
}
- else if (__pButtonItems[BACK_BUTTON])
+ else if (__highlightedItemIndex == __itemCount + 1)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
}
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ __highlighted = true;
}
}
}
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex = __itemCount;
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
}
}
else if (__highlightedItemIndex < __itemCount)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex--;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
else if (__highlightedItemIndex == __itemCount + 1)
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[BACK_BUTTON]->Invalidate();
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
}
__highlightedItemIndex = __itemCount - 1;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
}
- else // L Item
+ else // L, M Item
{
if (__highlightedItemIndex == 0)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex = __itemCount;
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
}
}
else if (__highlightedItemIndex < __itemCount)
{
if (__highlightedItemIndex == selectedItemIndex)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ else
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+
+ __highlightedItemIndex--;
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ }
+ }
+ else // L is null
+ {
+ if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // Item R
+ {
+ if (__highlightedItemIndex == 0)
+ {
+ // empty
+ }
+ else if (__highlightedItemIndex < __itemCount)
+ {
+ if (__highlightedItemIndex == selectedItemIndex)
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ else
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+
+ __highlightedItemIndex--;
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[BACK_BUTTON]->Invalidate();
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
+ }
+
+ __highlightedItemIndex--;
+
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
__pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
+ }
+ }
+ else // Item
+ {
+ if (__highlightedItemIndex == 0)
+ {
+ // empty
+ }
+ else if (__highlightedItemIndex < __itemCount)
+ {
+ if (__highlightedItemIndex == selectedItemIndex)
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
+ }
+ else
+ {
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+ }
}
__highlightedItemIndex--;
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pItems.at(__highlightedItemIndex)->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+
+ if (__pToolbarPresenter->GetFirstLoadedItemIndex() > __highlightedItemIndex)
+ {
+ if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
+ {
+ __pToolbarPresenter->SetItemFit(__highlightedItemIndex);
+ }
+ }
+ }
+ else
+ {
+ OnKeyReleased(source, keyInfo);
+ }
}
}
}
- else // L is null
+
+ if (__highlighted == false)
{
- if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON]) // Item R
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
+ if (__highlightedItemIndex < __itemCount)
{
- if (__highlightedItemIndex == 0)
+ if (__pItems.at(__highlightedItemIndex))
{
- // empty
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
}
- else if (__highlightedItemIndex < __itemCount)
+ }
+ else if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[MENU_BUTTON])
{
- if (__highlightedItemIndex == selectedItemIndex)
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
- else
+ }
+ else if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
-
- __highlightedItemIndex--;
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
}
- else if (__highlightedItemIndex == __itemCount)
+ else if (__pButtonItems[BACK_BUTTON])
{
- if (__pButtonItems[BACK_BUTTON])
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
- else if (__pButtonItems[RIGHT_BUTTON])
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
-
- __highlightedItemIndex--;
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
}
}
- else // Item
+ else if (__highlightedItemIndex == __itemCount + 1)
{
- if (__highlightedItemIndex == 0)
- {
- // empty
- }
- else if (__highlightedItemIndex < __itemCount)
+ if (__pButtonItems[BACK_BUTTON])
{
- if (__highlightedItemIndex == selectedItemIndex)
- {
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_SELECTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
- }
- else
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pItems.at(__highlightedItemIndex)->Invalidate();
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
-
- __highlightedItemIndex--;
-
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pItems.at(__highlightedItemIndex)->Invalidate();
-
- if (__pToolbarPresenter->GetFirstLoadedItemIndex() > __highlightedItemIndex)
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
{
- if (__style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
- {
- __pToolbarPresenter->SetItemFit(__highlightedItemIndex);
- }
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
+
+ __highlighted = true;
}
}
else // __itemCount == 0
{
if (__pButtonItems[RIGHT_BUTTON] || __pButtonItems[BACK_BUTTON])
{
- if (__highlightedItemIndex == __itemCount)
+ if (__highlightedItemIndex == __itemCount + 1)
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[BACK_BUTTON]->Invalidate();
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[BACK_BUTTON]->Invalidate();
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
- __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_NORMAL);
+ __pButtonItems[RIGHT_BUTTON]->Invalidate();
+ }
}
__highlightedItemIndex--;
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[MENU_BUTTON]->Invalidate();
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[MENU_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ __pButtonItems[LEFT_BUTTON]->Invalidate();
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
+ else
+ {
+ //empty
+ }
+ }
+ }
+ }
+ }
+
+ if (__highlighted == false)
+ {
+ __highlightedItemIndex = __lastHighlightedItemIndex;
+
+ if (__highlightedItemIndex == __itemCount)
+ {
+ if (__pButtonItems[MENU_BUTTON])
+ {
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[LEFT_BUTTON])
+ {
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
__pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
- __pButtonItems[LEFT_BUTTON]->Invalidate();
+ }
+ }
+ else if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ }
+ else if (__highlightedItemIndex == __itemCount + 1)
+ {
+ if (__pButtonItems[BACK_BUTTON])
+ {
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
+ }
+ }
+ else if (__pButtonItems[RIGHT_BUTTON])
+ {
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED, false);
}
}
}
+
+ __highlighted = true;
}
}
}
if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
|| __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
{
- SetItemHighlighted(__highlightedItemIndex, true, false);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ SetItemHighlighted(__highlightedItemIndex, true, false);
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
else if (__highlightedItemIndex == __itemCount)
{
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
else if (__highlightedItemIndex == __itemCount + 1)
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
|| __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
{
- SetItemHighlighted(__highlightedItemIndex, true, false);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ SetItemHighlighted(__highlightedItemIndex, true, false);
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
else if (__highlightedItemIndex == __itemCount)
{
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
|| __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
{
- SetItemHighlighted(__highlightedItemIndex, true, false);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ SetItemHighlighted(__highlightedItemIndex, true, false);
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
else if (__highlightedItemIndex == __itemCount)
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
if (__style == TOOLBAR_HEADER_SEGMENTED || __style ==TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || __style == TOOLBAR_SEGMENTED
|| __style == TOOLBAR_TAB || __style == TOOLBAR_TAB_WITH_TITLE)
{
- SetItemHighlighted(__highlightedItemIndex, true, false);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ SetItemHighlighted(__highlightedItemIndex, true, false);
+ }
}
else
{
- __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pItems.at(__highlightedItemIndex)->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pItems.at(__highlightedItemIndex)->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
{
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
else if (__highlightedItemIndex == 1)
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
{
if (__pButtonItems[MENU_BUTTON])
{
- __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[MENU_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[MENU_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[LEFT_BUTTON])
{
- __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[LEFT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[LEFT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}
{
if (__pButtonItems[BACK_BUTTON])
{
- __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[BACK_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[BACK_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
else if (__pButtonItems[RIGHT_BUTTON])
{
- __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+ if (__pButtonItems[RIGHT_BUTTON]->GetButtonStatus() != _BUTTON_STATUS_DISABLED)
+ {
+ __pButtonItems[RIGHT_BUTTON]->SetButtonStatus(_BUTTON_STATUS_HIGHLIGHTED);
+
+ __lastHighlightedItemIndex = __highlightedItemIndex;
+ __highlighted = true;
+ }
}
}
}