return true;
}
+ else
+ {
+ prevItem.groupIndex = currentItemPos.groupIndex - 1;
+ prevItem.itemIndex = __pListModel->GetItemCountInGroup(prevItem.groupIndex) - 1;
+
+ return true;
+ }
}
if (__pListModel->IsGroupExpanded(currentItemPos.groupIndex) == false)
{
- if (currentItemPos.groupIndex == 0 && currentItemPos.itemIndex == -1)
+ if (currentItemPos.itemIndex >= 0)
{
- return false;
+ prevItem.groupIndex = currentItemPos.groupIndex;
+ prevItem.itemIndex = -1;
}
- prevItem.groupIndex = currentItemPos.groupIndex - 1;
- prevItem.itemIndex = __pListModel->GetItemCountInGroup(prevItem.groupIndex) - 1;
-
return true;
}
pItem->GetItemIndex(itemPos.groupIndex, itemPos.itemIndex);
TableViewItemTag lastItemPos = {-1, -1};
GetLastItem(lastItemPos);
- if (itemPos.groupIndex == lastItemPos.groupIndex && itemPos.itemIndex == lastItemPos.itemIndex)
+ if (itemPos.groupIndex == lastItemPos.groupIndex && (itemPos.itemIndex == lastItemPos.itemIndex || __pListModel->IsGroupExpanded(itemPos.groupIndex) == false))
{
SetTableViewFocused(false);
return false;
TableViewItemTag lastItemPos = {-1, -1};
GetLastItem(lastItemPos);
- if (itemPos.groupIndex == lastItemPos.groupIndex && itemPos.itemIndex == lastItemPos.itemIndex)
+ if (itemPos.groupIndex == lastItemPos.groupIndex && (itemPos.itemIndex == lastItemPos.itemIndex
+ || __pListModel->IsGroupExpanded(itemPos.groupIndex) == false))
{
SetTableViewFocused(false);
return false;
ScrollToItem(itemPos.groupIndex, itemPos.itemIndex, TABLE_VIEW_SCROLL_ITEM_ALIGNMENT_TOP);
pItem = FindItem(itemPos);
- SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_SYSTEM, "Failed to get Focussed Item.");
- if (pItem->GetEnableState() && pItem->GetVisibleState()
- && pItem->IsFocusable())
+ if (pItem != null && pItem->GetEnableState() && pItem->GetVisibleState() && pItem->IsFocusable())
{
SetItemFocus(pItem, itemPos);
return;
ScrollToItem(itemPos.groupIndex, itemPos.itemIndex, TABLE_VIEW_SCROLL_ITEM_ALIGNMENT_BOTTOM);
pItem = FindItem(itemPos);
- SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_SYSTEM, "Failed to get Focussed Item.");
-
- if (pItem->GetEnableState() && pItem->GetVisibleState()
- && pItem->IsFocusable())
+ if (pItem != null && pItem->GetEnableState() && pItem->GetVisibleState() && pItem->IsFocusable())
{
SetItemFocus(pItem, itemPos);
return;