Merge "Modified item lazy deletion on ListView/GroupedListView(N-SE-38240)" into...
authorSuhwan_Park <suhwan0927.park@samsung.com>
Wed, 22 May 2013 01:57:32 +0000 (10:57 +0900)
committerGerrit Code Review <gerrit2@kim11>
Wed, 22 May 2013 01:57:32 +0000 (10:57 +0900)
src/ui/controls/FUiCtrl_GroupedListViewImpl.cpp
src/ui/controls/FUiCtrl_GroupedListViewItemProviderAdaptor.cpp
src/ui/controls/FUiCtrl_ListViewImpl.cpp
src/ui/controls/FUiCtrl_ListViewItemProviderAdaptor.cpp
src/ui/inc/FUiCtrl_GroupedListViewImpl.h
src/ui/inc/FUiCtrl_GroupedListViewItemProviderAdaptor.h
src/ui/inc/FUiCtrl_ListViewImpl.h
src/ui/inc/FUiCtrl_ListViewItemProviderAdaptor.h

index 05e7164..a85aaa1 100644 (file)
@@ -559,7 +559,6 @@ _GroupedListViewImpl::_GroupedListViewImpl(GroupedListView* pGroupedList, _Table
        , __redrawListView(true)
        , __isOrientationChanged(false)
        , __needReloadItems(false)
-       , __pItemNeedsLazyDeletion(null)
        , __pPropagatedTouchEventListener(null)
 {
        GET_COLOR_CONFIG(TABLEVIEW::EMPTY_CONTENTS_TEXT_NORMAL, __emptyTextColor);
@@ -973,9 +972,6 @@ _GroupedListViewImpl::ScrollToItem(int groupIndex, int itemIndex, ListScrollItem
 {
        result r = E_SUCCESS;
 
-       // for lazy delete item
-       SetItemNeedsLazyDeletion();
-
        if (itemAlignment == LIST_SCROLL_ITEM_ALIGNMENT_TOP)
        {
                r = GetCore().SetTopDrawnItemIndex(groupIndex, itemIndex);
@@ -1087,17 +1083,6 @@ _GroupedListViewImpl::RefreshList(int groupIndex, int itemIndex, ListRefreshType
                return E_OUT_OF_RANGE;
        }
 
-       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
-
-       // for lazy delete item
-       if (type != LIST_REFRESH_TYPE_ITEM_ADD)
-       {
-               if (__pItemNeedsLazyDeletion == pListViewItem)
-               {
-                       SetItemNeedsLazyDeletion();
-               }
-       }
-
        if (type == LIST_REFRESH_TYPE_ITEM_MODIFY)
        {
                int sweepGroupIndex = -1;
@@ -1127,6 +1112,7 @@ _GroupedListViewImpl::RefreshList(int groupIndex, int itemIndex, ListRefreshType
                }
                else
                {
+                       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
                        _ListViewItemStatus itemStatus;
                        memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
                        bool needChangeEventTarget = false;
@@ -1204,9 +1190,6 @@ _GroupedListViewImpl::UpdateList(void)
 {
        __needReloadItems = true;
 
-       // for lazy delete item
-       SetItemNeedsLazyDeletion();
-
        result r = GetCore().UpdateTableView();
 
        CheckEmptyListShowState();
@@ -1225,17 +1208,14 @@ _GroupedListViewImpl::UpdateList(void)
 }
 
 void
-_GroupedListViewImpl::SetItemNeedsLazyDeletion(void)
+_GroupedListViewImpl::SetItemNeedsLazyDeletion(_ListViewItem* pItem)
 {
-       if (__pItemNeedsLazyDeletion != null)
-       {
-               _GroupedListViewItemProviderAdaptor* pProviderAdaptor =
-                               static_cast <_GroupedListViewItemProviderAdaptor*>(GetCore().GetItemProviderAdaptor());
+       _GroupedListViewItemProviderAdaptor* pProviderAdaptor =
+                       static_cast <_GroupedListViewItemProviderAdaptor*>(GetCore().GetItemProviderAdaptor());
 
-               if (pProviderAdaptor != null)
-               {
-                       pProviderAdaptor->SetItemNeedsLazyDeletion(__pItemNeedsLazyDeletion);
-               }
+       if (pProviderAdaptor != null)
+       {
+               pProviderAdaptor->SetItemNeedsLazyDeletion(pItem);
        }
 }
 
@@ -1687,12 +1667,14 @@ _GroupedListViewImpl::OnListViewContextItemStateChanged(_Control& source, int gr
        {
                GetCore().ResetSweepItem();
 
-               __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
+               _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
+
+               SetItemNeedsLazyDeletion(pListViewItem);
 
                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(groupIndex, itemIndex, elementId, 0, NOTIFY_TYPE_SELCTED_CONTEXT_ITEM);
                __pListItemEvent->Fire(*pArg);
 
-               __pItemNeedsLazyDeletion = null;
+               SetItemNeedsLazyDeletion(null);
        }
 }
 
@@ -1758,12 +1740,14 @@ _GroupedListViewImpl::OnTableViewItemSwept(_TableView& tableView, int groupIndex
 {
        if (__pListItemEvent != null)
        {
-               __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
+               _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
+
+               SetItemNeedsLazyDeletion(pListViewItem);
 
                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(groupIndex, itemIndex, direction, 0, NOTIFY_TYPE_SWEPT_ITEM);
                __pListItemEvent->Fire(*pArg);
 
-               __pItemNeedsLazyDeletion = null;
+               SetItemNeedsLazyDeletion(null);
        }
 }
 
@@ -1774,10 +1758,10 @@ _GroupedListViewImpl::FireListViewItemEvent(int groupIndex, int itemIndex, _Tabl
        {
                _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(pItem);
 
-               __pItemNeedsLazyDeletion = pListViewItem;
-
                if (pListViewItem != null)
                {
+                       SetItemNeedsLazyDeletion(pListViewItem);
+
                        _ListViewItemStateChangedInfo itemInfo;
                        pListViewItem->GetLastStateChangedInfo(itemInfo);
 
@@ -1797,9 +1781,9 @@ _GroupedListViewImpl::FireListViewItemEvent(int groupIndex, int itemIndex, _Tabl
                        }
 
                        pListViewItem->ClearLastStateChangedInfo();
-               }
 
-               __pItemNeedsLazyDeletion = null;
+                       SetItemNeedsLazyDeletion(null);
+               }
        }
 }
 
@@ -1814,14 +1798,16 @@ _GroupedListViewImpl::FireListViewItemLongPressedEvent(void)
 
                if ((GetItemIndexFromPosition(GetCurrentTouchPosition(), groupIndex, itemIndex, elementId) == E_SUCCESS) && (itemIndex != -1))
                {
-                       __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
+                       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(groupIndex, itemIndex));
 
-                       if ((__pItemNeedsLazyDeletion != null) && (!__pItemNeedsLazyDeletion->IsContextItem()))
+                       if ((pListViewItem != null) && (!pListViewItem->IsContextItem()))
                        {
+                               SetItemNeedsLazyDeletion(pListViewItem);
+
                                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(groupIndex, itemIndex, elementId, 0, NOTIFY_TYPE_LONG_PRESSED_ITEM);
                                __pListItemEvent->Fire(*pArg);
 
-                               __pItemNeedsLazyDeletion = null;
+                               SetItemNeedsLazyDeletion(null);
                        }
                }
        }
index ce5ba10..39a51b3 100644 (file)
@@ -53,6 +53,7 @@ _GroupedListViewItemProviderAdaptor::_GroupedListViewItemProviderAdaptor(const I
        , __countOfAllGroups(0)
        , __countOfAllItems(0)
        , __pItemNeedsLazyDeletion(null)
+       , __pLazyDeletionItem(null)
        , __usingFloatingPoint(false)
 {
 }
@@ -69,6 +70,7 @@ _GroupedListViewItemProviderAdaptor::_GroupedListViewItemProviderAdaptor(const I
        , __countOfAllGroups(0)
        , __countOfAllItems(0)
        , __pItemNeedsLazyDeletion(null)
+       , __pLazyDeletionItem(null)
        , __usingFloatingPoint(true)
 {
 }
@@ -77,7 +79,7 @@ _GroupedListViewItemProviderAdaptor::~_GroupedListViewItemProviderAdaptor()
 {
        __descriptionTextShowItem.clear();
 
-       SetItemNeedsLazyDeletion(null);
+       SetItemLazyDeletion(null);
 }
 
 void
@@ -161,10 +163,10 @@ _GroupedListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
        _ListViewItem* pListViewItem = pItemBaseImpl->GetListViewItem();
        SysAssert(pListViewItem != null);
 
-       pListViewItem->SetFont(__fontName);
        pListViewItem->AddRef();
        pListViewItem->SetItemStyle(static_cast<TableViewAnnexStyle>(pItemBaseImpl->GetListItemAnnexStyle()));
        pListViewItem->SetItemWidth(GetListWidth());
+       pListViewItem->SetFont(__fontName);
 
        if (itemIndex == -1)
        {
@@ -215,7 +217,7 @@ _GroupedListViewItemProviderAdaptor::UnloadItem(_IListItemCommon* pListItem, int
 
        if (pListViewItem == __pItemNeedsLazyDeletion)
        {
-               pListViewItem->AddRef();
+               SetItemLazyDeletion(pListViewItem);
        }
 
        if (pListViewItem->Release() != 0)
@@ -268,7 +270,6 @@ _GroupedListViewItemProviderAdaptor::UnloadItem(_IListItemCommon* pListItem, int
                                {
                                        delete pItemBase;
                                }
-
                        }
                }
        }
@@ -296,7 +297,7 @@ _GroupedListViewItemProviderAdaptor::DeleteItem(_IListItemCommon* pListItem, int
 
        if (pListViewItem == __pItemNeedsLazyDeletion)
        {
-               pListViewItem->AddRef();
+               SetItemLazyDeletion(pListViewItem);
        }
 
        if (pListViewItem->Release() != 0)
@@ -506,14 +507,25 @@ _GroupedListViewItemProviderAdaptor::SetItemFont(const String& fontName)
 void
 _GroupedListViewItemProviderAdaptor::SetItemNeedsLazyDeletion(_ListViewItem* pItem)
 {
-       if (__pItemNeedsLazyDeletion != pItem)
+       __pItemNeedsLazyDeletion = pItem;
+}
+
+void
+_GroupedListViewItemProviderAdaptor::SetItemLazyDeletion(_ListViewItem* pItem)
+{
+       if (__pLazyDeletionItem != pItem)
        {
-               if (__pItemNeedsLazyDeletion != null)
+               if (__pLazyDeletionItem != null)
                {
-                       __pItemNeedsLazyDeletion->Release();
+                       __pLazyDeletionItem->Release();
+               }
+               if (pItem != null)
+               {
+                       pItem->AddRef();
                }
 
-               __pItemNeedsLazyDeletion = pItem;
+               __pLazyDeletionItem = pItem;
        }
 }
+
 }}} // Tizen::Ui::Controls
index 2f03051..2e192b2 100644 (file)
@@ -557,7 +557,6 @@ _ListViewImpl::_ListViewImpl(ListView* pList, _TableView* pCore)
        , __redrawListView(true)
        , __isOrientationChanged(false)
        , __needReloadItems(false)
-       , __pItemNeedsLazyDeletion(null)
        , __pPropagatedTouchEventListener(null)
 {
        GET_COLOR_CONFIG(TABLEVIEW::EMPTY_CONTENTS_TEXT_NORMAL, __emptyTextColor);
@@ -964,9 +963,6 @@ _ListViewImpl::ScrollToItem(int index, ListScrollItemAlignment itemAlignment)
 {
        result r = E_SUCCESS;
 
-       // for lazy delete item
-       SetItemNeedsLazyDeletion();
-
        if (itemAlignment == LIST_SCROLL_ITEM_ALIGNMENT_TOP)
        {
                r = GetCore().SetTopDrawnItemIndex(0, index);
@@ -1067,17 +1063,6 @@ _ListViewImpl::RefreshList(int index, ListRefreshType type)
                return E_OUT_OF_RANGE;
        }
 
-       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(0, index));
-
-       // for lazy delete item
-       if (type != LIST_REFRESH_TYPE_ITEM_ADD)
-       {
-               if (__pItemNeedsLazyDeletion == pListViewItem)
-               {
-                       SetItemNeedsLazyDeletion();
-               }
-       }
-
        if (type == LIST_REFRESH_TYPE_ITEM_MODIFY)
        {
                int sweepGroupIndex = -1;
@@ -1100,6 +1085,7 @@ _ListViewImpl::RefreshList(int index, ListRefreshType type)
 
                if ((topItemIndex <= index) && (bottomItemIndex >= index))
                {
+                       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(0, index));
                        _ListViewItemStatus itemStatus;
                        memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
                        bool needChangeEventTarget = false;
@@ -1182,9 +1168,6 @@ _ListViewImpl::UpdateList(void)
 {
        __needReloadItems = true;
 
-       // for lazy delete item
-       SetItemNeedsLazyDeletion();
-
        result r = GetCore().UpdateTableView();
 
        CheckEmptyListShowState();
@@ -1203,16 +1186,13 @@ _ListViewImpl::UpdateList(void)
 }
 
 void
-_ListViewImpl::SetItemNeedsLazyDeletion(void)
+_ListViewImpl::SetItemNeedsLazyDeletion(_ListViewItem* pItem)
 {
-       if (__pItemNeedsLazyDeletion != null)
-       {
-               _ListViewItemProviderAdaptor* pProviderAdaptor = static_cast <_ListViewItemProviderAdaptor*>(GetCore().GetItemProviderAdaptor());
+       _ListViewItemProviderAdaptor* pProviderAdaptor = static_cast <_ListViewItemProviderAdaptor*>(GetCore().GetItemProviderAdaptor());
 
-               if (pProviderAdaptor != null)
-               {
-                       pProviderAdaptor->SetItemNeedsLazyDeletion(__pItemNeedsLazyDeletion);
-               }
+       if (pProviderAdaptor != null)
+       {
+               pProviderAdaptor->SetItemNeedsLazyDeletion(pItem);
        }
 }
 
@@ -1610,12 +1590,14 @@ _ListViewImpl::OnListViewContextItemStateChanged(_Control& source, int groupInde
        {
                GetCore().ResetSweepItem();
 
-               __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
+               _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
+
+               SetItemNeedsLazyDeletion(pListViewItem);
 
                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(itemIndex, elementId, 0, 0, NOTIFY_TYPE_SELCTED_CONTEXT_ITEM);
                __pListItemEvent->Fire(*pArg);
 
-               __pItemNeedsLazyDeletion = null;
+               SetItemNeedsLazyDeletion(null);
        }
 }
 
@@ -1626,10 +1608,10 @@ _ListViewImpl::OnTableViewItemStateChanged(_TableView& tableView, int itemIndex,
        {
                _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(pItem);
 
-               __pItemNeedsLazyDeletion = pListViewItem;
-
                if (pListViewItem != null)
                {
+                       SetItemNeedsLazyDeletion(pListViewItem);
+
                        _ListViewItemStateChangedInfo itemInfo;
                        pListViewItem->GetLastStateChangedInfo(itemInfo);
 
@@ -1649,9 +1631,9 @@ _ListViewImpl::OnTableViewItemStateChanged(_TableView& tableView, int itemIndex,
                        }
 
                        pListViewItem->ClearLastStateChangedInfo();
-               }
 
-               __pItemNeedsLazyDeletion = null;
+                       SetItemNeedsLazyDeletion(null);
+               }
        }
 }
 
@@ -1681,12 +1663,14 @@ _ListViewImpl::OnTableViewItemSwept(_TableView& tableView, int groupIndex, int i
 {
        if (__pListItemEvent != null)
        {
-               __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
+               _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
+
+               SetItemNeedsLazyDeletion(pListViewItem);
 
                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(itemIndex, direction, 0, 0, NOTIFY_TYPE_SWEPT_ITEM);
                __pListItemEvent->Fire(*pArg);
 
-               __pItemNeedsLazyDeletion = null;
+               SetItemNeedsLazyDeletion(null);
        }
 }
 
@@ -1872,14 +1856,16 @@ _ListViewImpl::FireListViewItemLongPressedEvent(void)
 
                if (GetItemIndexFromPosition(GetCurrentTouchPosition(), itemIndex, elementId) == E_SUCCESS)
                {
-                       __pItemNeedsLazyDeletion = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
+                       _ListViewItem* pListViewItem = static_cast<_ListViewItem*>(GetCore().FindItem(0, itemIndex));
 
-                       if ((__pItemNeedsLazyDeletion != null) && (!__pItemNeedsLazyDeletion->IsContextItem()))
+                       if ((pListViewItem != null) && (!pListViewItem->IsContextItem()))
                        {
+                               SetItemNeedsLazyDeletion(pListViewItem);
+
                                _ListItemEventArg* pArg = new (std::nothrow) _ListItemEventArg(itemIndex, elementId, 0, 0, NOTIFY_TYPE_LONG_PRESSED_ITEM);
                                __pListItemEvent->Fire(*pArg);
 
-                               __pItemNeedsLazyDeletion = null;
+                               SetItemNeedsLazyDeletion(null);
                        }
                }
        }
index cbb682c..9af0e2b 100644 (file)
@@ -51,6 +51,7 @@ _ListViewItemProviderAdaptor::_ListViewItemProviderAdaptor(const IListViewItemPr
        , __itemLoadedCount(0)
        , __countOfAllItems(0)
        , __pItemNeedsLazyDeletion(null)
+       , __pLazyDeletionItem(null)
        , __usingFloatingPoint(false)
 {
 }
@@ -64,6 +65,7 @@ _ListViewItemProviderAdaptor::_ListViewItemProviderAdaptor(const IListViewItemPr
        , __itemLoadedCount(0)
        , __countOfAllItems(0)
        , __pItemNeedsLazyDeletion(null)
+       , __pLazyDeletionItem(null)
        , __usingFloatingPoint(true)
 {
 }
@@ -72,7 +74,7 @@ _ListViewItemProviderAdaptor::~_ListViewItemProviderAdaptor(void)
 {
        __descriptionTextShowItem.clear();
 
-       SetItemNeedsLazyDeletion(null);
+       SetItemLazyDeletion(null);
 }
 
 void
@@ -135,11 +137,11 @@ _ListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
        _ListViewItem* pListViewItem = pItemBaseImpl->GetListViewItem();
        SysAssert(pListViewItem != null);
 
-       pListViewItem->SetFont(__fontName);
        pListViewItem->AddRef();
        pListViewItem->SetAppInfo(pItemBase);
        pListViewItem->SetItemStyle(static_cast<TableViewAnnexStyle>(pItemBaseImpl->GetListItemAnnexStyle()));
        pListViewItem->SetItemWidth(GetListWidth());
+       pListViewItem->SetFont(__fontName);
 
        if (IsDescriptionTextShown(itemIndex))
        {
@@ -175,7 +177,7 @@ _ListViewItemProviderAdaptor::UnloadItem(_IListItemCommon* pListItem, int groupI
 
        if (pListViewItem == __pItemNeedsLazyDeletion)
        {
-               pListViewItem->AddRef();
+               SetItemLazyDeletion(pListViewItem);
        }
 
        if (pListViewItem->Release() != 0)
@@ -201,7 +203,6 @@ _ListViewItemProviderAdaptor::UnloadItem(_IListItemCommon* pListItem, int groupI
                        {
                                delete pItemBase;
                        }
-
                }
        }
 
@@ -228,7 +229,7 @@ _ListViewItemProviderAdaptor::DeleteItem(_IListItemCommon* pListItem, int groupI
 
        if (pListViewItem == __pItemNeedsLazyDeletion)
        {
-               pListViewItem->AddRef();
+               SetItemLazyDeletion(pListViewItem);
        }
 
        if (pListViewItem->Release() != 0)
@@ -369,14 +370,24 @@ _ListViewItemProviderAdaptor::SetItemFont(const String& fontName)
 void
 _ListViewItemProviderAdaptor::SetItemNeedsLazyDeletion(_ListViewItem* pItem)
 {
-       if (__pItemNeedsLazyDeletion != pItem)
+       __pItemNeedsLazyDeletion = pItem;
+}
+
+void
+_ListViewItemProviderAdaptor::SetItemLazyDeletion(_ListViewItem* pItem)
+{
+       if (__pLazyDeletionItem != pItem)
        {
-               if (__pItemNeedsLazyDeletion != null)
+               if (__pLazyDeletionItem != null)
+               {
+                       __pLazyDeletionItem->Release();
+               }
+               if (pItem != null)
                {
-                       __pItemNeedsLazyDeletion->Release();
+                       pItem->AddRef();
                }
 
-               __pItemNeedsLazyDeletion = pItem;
+               __pLazyDeletionItem = pItem;
        }
 }
 
index f4e8505..901c13c 100644 (file)
@@ -263,7 +263,7 @@ private:
 
        void FireListViewItemLongPressedEvent(void);
 
-       void SetItemNeedsLazyDeletion(void);
+       void SetItemNeedsLazyDeletion(_ListViewItem* pItem);
 
        virtual result OnTouchEventListenerAdded(void);
 
index 8fa705f..545a39c 100644 (file)
@@ -96,6 +96,8 @@ private:
 
        _GroupedListViewItemProviderAdaptor& operator =(const _GroupedListViewItemProviderAdaptor& rhs);
 
+       void SetItemLazyDeletion(_ListViewItem* pItem);
+
 // Variable
 private:
        IGroupedListViewItemProvider* __pGroupedListViewProvider;
@@ -110,6 +112,7 @@ private:
        int __countOfAllGroups;
        int __countOfAllItems;
        _ListViewItem* __pItemNeedsLazyDeletion;
+       _ListViewItem* __pLazyDeletionItem;
        bool __usingFloatingPoint;
 };  // _GroupedListViewItemProviderAdaptor
 
index 48c5b0b..72a9934 100644 (file)
@@ -240,7 +240,7 @@ private:
 
        Tizen::Graphics::FloatPoint GetCurrentTouchPosition(void);
 
-       void SetItemNeedsLazyDeletion(void);
+       void SetItemNeedsLazyDeletion(_ListViewItem* pItem);
 
        virtual result OnTouchEventListenerAdded(void);
 
@@ -262,7 +262,6 @@ private:
        bool __redrawListView;
        bool __isOrientationChanged;
        bool __needReloadItems;
-       _ListViewItem* __pItemNeedsLazyDeletion;
 
        class _ListViewPropagatedTouchEventListener;
        _ListViewPropagatedTouchEventListener* __pPropagatedTouchEventListener;
index 48a5830..aa0bb3d 100644 (file)
@@ -83,6 +83,8 @@ private:
 
        _ListViewItemProviderAdaptor& operator =(const _ListViewItemProviderAdaptor& rhs);
 
+       void SetItemLazyDeletion(_ListViewItem* pItem);
+
 // Variable
 private:
        IListViewItemProvider* __pListViewProvider;
@@ -94,6 +96,7 @@ private:
        int __itemLoadedCount;
        int __countOfAllItems;
        _ListViewItem* __pItemNeedsLazyDeletion;
+       _ListViewItem* __pLazyDeletionItem;
        bool __usingFloatingPoint;
 };  // _ListViewItemProviderAdaptor