}
result
-_GroupedListViewImpl::UpdateList(void)
+_GroupedListViewImpl::UpdateList(bool isRestoreFocus)
{
__needReloadItems = true;
- result r = GetCore().UpdateTableView();
+ result r = GetCore().UpdateTableView(isRestoreFocus);
CheckEmptyListShowState();
if (__isOrientationChanged)
{
+ __isOrientationChanged = false;
+
if (GetCore().IsTableViewFocused() && GetCore().IsFocusModeStateEnabled())
{
GetCore().RestoreFocus(true);
+ UpdateList(true);
+ }
+ else
+ {
+ UpdateList();
}
- __isOrientationChanged = false;
- UpdateList();
}
}
}
result
-_ListViewImpl::UpdateList(void)
+_ListViewImpl::UpdateList(bool isRestoreFocus)
{
__needReloadItems = true;
- result r = GetCore().UpdateTableView();
+ result r = GetCore().UpdateTableView(isRestoreFocus);
CheckEmptyListShowState();
if (__isOrientationChanged)
{
__isOrientationChanged = false;
+
if (GetCore().IsTableViewFocused() && GetCore().IsFocusModeStateEnabled())
{
GetCore().RestoreFocus(true);
+ UpdateList(true);
}
- UpdateList();
+ else
+ {
+ UpdateList();
+ }
+
}
}
result
-_TableView::UpdateTableView(void)
+_TableView::UpdateTableView(bool isRestoreFocus)
{
if (IsOnProcessing())
{
return E_INVALID_OPERATION;
}
- return __pTableViewPresenter->UpdateTableView();
+ return __pTableViewPresenter->UpdateTableView(isRestoreFocus);
}
result
}
result
-_TableViewPresenter::UpdateTableView(void)
+_TableViewPresenter::UpdateTableView(bool isRestoreFocus)
{
+ if (!isRestoreFocus)
+ {
+ __isTableViewFocused = false;
+ __focusItemTag.groupIndex = -1;
+ __focusItemTag.itemIndex = -1;
+ __isRestoreFocus = false;
+ __isAnnexFocused = false;
+ }
+
if (__isUpdatingTableView)
{
return E_SUCCESS;
result RefreshList(int groupIndex, int itemIndex, int elementId);
- result UpdateList(void);
+ result UpdateList(bool isRestoreFocus = false);
result GetItemIndexFromPosition(const Tizen::Graphics::FloatPoint& position, int& groupIndex, int& itemIndex) const;
result RefreshList(int index, int elementId);
- result UpdateList(void);
+ result UpdateList(bool isRestoreFocus = false);
int GetItemIndexFromPosition(const Tizen::Graphics::FloatPoint& position) const;
result RefreshTableView(int groupIndex, int itemIndex, TableViewRefreshType type, bool animation = true);
result RefreshAllItems(void);
- result UpdateTableView(void);
+ result UpdateTableView(bool isRestoreFocus = false);
result GetItemIndexFromPosition(const Tizen::Graphics::Point& position, int& groupIndex, int& itemIndex) const;
result GetItemIndexFromPosition(const Tizen::Graphics::FloatPoint& position, int& groupIndex, int& itemIndex) const;
result RefreshTableView(int groupIndex, int itemIndex, TableViewRefreshType type, bool animation);
result RefreshAllItems(void);
- result UpdateTableView(void);
+ result UpdateTableView(bool isRestoreFocus);
result GetItemIndexFromPosition(const Tizen::Graphics::FloatPoint& position, int& groupIndex, int& itemIndex) const;
result GetItemFromPosition(const Tizen::Graphics::FloatPoint& position, TableViewItemTag& itemPos) const;