Fix for 50629 - ListView/GroupedListView
authorSreedeep Moulik <sreedeep.m@samsung.com>
Mon, 2 Sep 2013 10:08:33 +0000 (15:38 +0530)
committerSreedeep Moulik <sreedeep.m@samsung.com>
Mon, 2 Sep 2013 10:13:41 +0000 (15:43 +0530)
Change-Id: If50b8d548df0d16014e8ccb8819761a1551daea9
Signed-off-by: Sreedeep Moulik <sreedeep.m@samsung.com>
src/ui/controls/FUiCtrl_GroupedListViewItemProviderAdaptor.cpp
src/ui/controls/FUiCtrl_ListViewItemProviderAdaptor.cpp
src/ui/inc/FUiCtrl_GroupedListViewItemProviderAdaptor.h
src/ui/inc/FUiCtrl_ListViewItemProviderAdaptor.h

index 78ca1ae..5e6e6c4 100644 (file)
@@ -55,6 +55,7 @@ _GroupedListViewItemProviderAdaptor::_GroupedListViewItemProviderAdaptor(const I
        , __pItemNeedsLazyDeletion(null)
        , __pLazyDeletionItem(null)
        , __usingFloatingPoint(false)
+       , __pDefaultItem(null)
 {
 }
 
@@ -72,11 +73,15 @@ _GroupedListViewItemProviderAdaptor::_GroupedListViewItemProviderAdaptor(const I
        , __pItemNeedsLazyDeletion(null)
        , __pLazyDeletionItem(null)
        , __usingFloatingPoint(true)
+       , __pDefaultItem(null)
 {
 }
 
 _GroupedListViewItemProviderAdaptor::~_GroupedListViewItemProviderAdaptor()
 {
+       delete __pDefaultItem;
+       __pDefaultItem = null;
+
        __descriptionTextShowItem.clear();
 
        SetItemLazyDeletion(null);
@@ -117,7 +122,7 @@ _GroupedListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
 {
        ListItemBase* pItemBase = null;
        GroupItem* pGroupItem = null;
-       _TableViewItem* pTableViewItem = null;
+       _IListItemCommon* pDefaultItem = null;
 
        if (itemIndex == -1)
        {
@@ -132,10 +137,10 @@ _GroupedListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
 
                if (pGroupItem == null)
                {
-                       pTableViewItem = GetDefaultItem();
-                       pTableViewItem->SetAppInfo(null);
+                       pDefaultItem = GetDefaultItem();
+                       pDefaultItem->SetAppInfo(null);
 
-                       return pTableViewItem;
+                       return pDefaultItem;
                }
        }
        else
@@ -151,10 +156,10 @@ _GroupedListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
 
                if (pItemBase == null)
                {
-                       pTableViewItem = GetDefaultItem();
-                       pTableViewItem->SetAppInfo(null);
+                       pDefaultItem = GetDefaultItem();
+                       pDefaultItem->SetAppInfo(null);
 
-                       return pTableViewItem;
+                       return pDefaultItem;
                }
        }
 
@@ -540,4 +545,15 @@ _GroupedListViewItemProviderAdaptor::SetItemLazyDeletion(_ListViewItem* pItem)
        }
 }
 
+_IListItemCommon*
+_GroupedListViewItemProviderAdaptor::GetDefaultItem(void)
+{
+       if (__pDefaultItem == null)
+       {
+               __pDefaultItem = _ListViewItem::CreateListViewItemN(0.0f);
+       }
+
+       return __pDefaultItem;
+}
+
 }}} // Tizen::Ui::Controls
index 3070fcf..6842143 100644 (file)
@@ -53,6 +53,7 @@ _ListViewItemProviderAdaptor::_ListViewItemProviderAdaptor(const IListViewItemPr
        , __pItemNeedsLazyDeletion(null)
        , __pLazyDeletionItem(null)
        , __usingFloatingPoint(false)
+       , __pDefaultItem(null)
 {
 }
 
@@ -67,11 +68,15 @@ _ListViewItemProviderAdaptor::_ListViewItemProviderAdaptor(const IListViewItemPr
        , __pItemNeedsLazyDeletion(null)
        , __pLazyDeletionItem(null)
        , __usingFloatingPoint(true)
+       , __pDefaultItem(null)
 {
 }
 
 _ListViewItemProviderAdaptor::~_ListViewItemProviderAdaptor(void)
 {
+       delete __pDefaultItem;
+       __pDefaultItem = null;
+
        __descriptionTextShowItem.clear();
 
        SetItemLazyDeletion(null);
@@ -113,13 +118,13 @@ _ListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
        SysTryReturn(NID_UI_CTRL, (groupIndex == 0), null, E_INVALID_ARG,
                                "[E_INVALID_ARG] parameter not available.");
 
-       _TableViewItem* pTableViewItem = null;
+       _IListItemCommon* pDefaultItem = null;
        if (itemIndex == -1)
        {
-               pTableViewItem = GetDefaultItem();
-               pTableViewItem->SetAppInfo(null);
+               pDefaultItem = GetDefaultItem();
+               pDefaultItem->SetAppInfo(null);
 
-               return pTableViewItem;
+               return pDefaultItem;
        }
 
        ListItemBase* pItemBase = null;
@@ -134,10 +139,10 @@ _ListViewItemProviderAdaptor::LoadItem(int groupIndex, int itemIndex)
 
        if (pItemBase == null)
        {
-               pTableViewItem = GetDefaultItem();
-               pTableViewItem->SetAppInfo(null);
+               pDefaultItem = GetDefaultItem();
+               pDefaultItem->SetAppInfo(null);
 
-               return pTableViewItem;
+               return pDefaultItem;
        }
 
        _ListItemBaseImpl* pItemBaseImpl = _ListItemBaseImpl::GetInstance(*pItemBase);
@@ -403,4 +408,15 @@ _ListViewItemProviderAdaptor::SetItemLazyDeletion(_ListViewItem* pItem)
        }
 }
 
+_IListItemCommon*
+_ListViewItemProviderAdaptor::GetDefaultItem(void)
+{
+       if (__pDefaultItem == null)
+       {
+               __pDefaultItem = _ListViewItem::CreateListViewItemN(0.0f);
+       }
+
+       return __pDefaultItem;
+}
+
 }}} // Tizen::Ui::Controls
index 28fe906..1bf5576 100644 (file)
@@ -101,6 +101,8 @@ private:
 
        void SetItemLazyDeletion(_ListViewItem* pItem);
 
+       _IListItemCommon* GetDefaultItem(void);
+
 // Variable
 private:
        IGroupedListViewItemProvider* __pGroupedListViewProvider;
@@ -117,6 +119,8 @@ private:
        _ListViewItem* __pItemNeedsLazyDeletion;
        _ListViewItem* __pLazyDeletionItem;
        bool __usingFloatingPoint;
+
+       _IListItemCommon* __pDefaultItem;
 };  // _GroupedListViewItemProviderAdaptor
 
 }}} // Tizen::Ui::Controls
index 709f926..2ed5ef4 100644 (file)
@@ -88,6 +88,8 @@ private:
 
        void SetItemLazyDeletion(_ListViewItem* pItem);
 
+       _IListItemCommon* GetDefaultItem(void);
+
 // Variable
 private:
        IListViewItemProvider* __pListViewProvider;
@@ -101,6 +103,7 @@ private:
        _ListViewItem* __pItemNeedsLazyDeletion;
        _ListViewItem* __pLazyDeletionItem;
        bool __usingFloatingPoint;
+       _IListItemCommon* __pDefaultItem;
 };  // _ListViewItemProviderAdaptor
 
 }}} // Tizen::Ui::Controls