Modified GetRect() -> GetRectF() in ControlMaker of ListView/GrouedListView
authorHyeonmi Kim <hm_85.kim@samsung.com>
Tue, 2 Apr 2013 07:26:23 +0000 (16:26 +0900)
committerHyeonmi Kim <hm_85.kim@samsung.com>
Wed, 3 Apr 2013 04:47:03 +0000 (13:47 +0900)
Added the new UiBuilder proprety feature about ListView/GroupedListView

Change-Id: Ife00c0eec53db85295afaf7aa03f232f5ac7dc05
Signed-off-by: Hyeonmi Kim <hm_85.kim@samsung.com>
src/ui/controls/FUiCtrl_GroupedListViewImpl.cpp
src/ui/controls/FUiCtrl_ListViewImpl.cpp

index 721e50f..fbfb209 100644 (file)
@@ -643,6 +643,8 @@ _GroupedListViewImpl::RefreshList(int groupIndex, int itemIndex, ListRefreshType
                else
                {
                        _ListViewItemStatus itemStatus;
+                       memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
+
                        _TouchManager* pTouchManager = _TouchManager::GetInstance();
                        bool needChangeEventTarget = false;
                        int touchedGroupIndex = -1;
@@ -1596,12 +1598,14 @@ protected:
                result r = E_SYSTEM;
                _UiBuilderControlLayout* pControlProperty = null;
                GroupedListView* pGroupedListView = null;
-               Rectangle rect;
+               FloatRectangle rect;
 
+               ListScrollStyle scrollStyle = SCROLL_STYLE_FADE_OUT;
                GroupedListViewStyle style = GROUPED_LIST_VIEW_STYLE_INDEXED;
+               ScrollInputMode scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
+
                String elementString;
                bool itemDividerState = true;
-               bool fastScrollState = false;
                int opacity = 100;
                bool sweepEnabledState = false;
                Color color;
@@ -1618,7 +1622,7 @@ protected:
                        return null;
                }
 
-               rect = pControlProperty->GetRect();
+               rect = pControlProperty->GetRectF();
 
                String styleString;
                styleString = pControlProperty->GetStyle();
@@ -1645,19 +1649,34 @@ protected:
                        }
                }
 
-               if (pControl->GetElement(L"fastScroll", elementString))
+               if (pControl->GetElement(L"listScrollStyle", elementString))
                {
-                       if (elementString.Equals(L"true", false))
+                       if (elementString.Equals(L"SCROLL_STYLE_FIXED", false))
                        {
-                               fastScrollState = true;
+                               scrollStyle = SCROLL_STYLE_FIXED;
                        }
-                       else
+                       else if (elementString.Equals(L"SCROLL_STYLE_FAST_SCROLL", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_FAST_SCROLL;
+                       }
+                       else if (elementString.Equals(L"SCROLL_STYLE_JUMP_TO_TOP", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_JUMP_TO_TOP;
+                       }
+                       else if (elementString.Equals(L"SCROLL_STYLE_THUMB", false))
                        {
-                               fastScrollState = false;
+                               scrollStyle = SCROLL_STYLE_THUMB;
+                       }
+               }
+               else if (pControl->GetElement(L"fastScroll", elementString))
+               {
+                       if (elementString.Equals(L"true", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_FAST_SCROLL;
                        }
                }
 
-               r = pGroupedListView->Construct(rect, style, itemDividerState, fastScrollState);
+               r = pGroupedListView->Construct(rect, style, itemDividerState, scrollStyle);
                SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
                // Set BackgroundsBitmap
@@ -1745,11 +1764,21 @@ protected:
                        SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
+               // scroll Input Mode
+               if (pControl->GetElement(L"scrollInputMode", elementString))
+               {
+                       if (elementString.Equals(L"SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION", false))
+                       {
+                               scrollInputMode = SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION;
+                       }
+
+                       pGroupedListView->SetScrollInputMode(scrollInputMode);
+               }
+
                return pGroupedListView;
 
        CATCH:
                delete pGroupedListView;
-               pGroupedListView = null;
                return null;
        }
 
index cba5892..60c10cd 100644 (file)
@@ -615,6 +615,8 @@ _ListViewImpl::RefreshList(int index, ListRefreshType type, bool needFlush)
                if ((topItemIndex <= index) && (bottomItemIndex >= index))
                {
                        _ListViewItemStatus itemStatus;
+                       memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
+
                        _TouchManager* pTouchManager = _TouchManager::GetInstance();
                        bool needChangeEventTarget = false;
 
@@ -1472,11 +1474,13 @@ protected:
                result r = E_SYSTEM;
                _UiBuilderControlLayout* pControlProperty = null;
                ListView* pListView = null;
-               Rectangle rect;
+               FloatRectangle rect;
                String elementString;
 
+               ListScrollStyle scrollStyle = SCROLL_STYLE_FADE_OUT;
+               ScrollInputMode scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
+
                bool hasItemDivider = true;
-               bool hasFastScroll = false;
                int opacity = 100;
                bool isSweepEnabled = false;
                Color color;
@@ -1493,7 +1497,7 @@ protected:
                        return null;
                }
 
-               rect = pControlProperty->GetRect();
+               rect = pControlProperty->GetRectF();
 
                //Construct
                if (pControl->GetElement(L"itemDivider", elementString))
@@ -1508,27 +1512,36 @@ protected:
                        }
                }
 
-               if (pControl->GetElement(L"fastScroll", elementString))
+               if (pControl->GetElement(L"listScrollStyle", elementString))
                {
-                       if (elementString.Equals(L"true", false))
+                       if (elementString.Equals(L"SCROLL_STYLE_FIXED", false))
                        {
-                               hasFastScroll = true;
+                               scrollStyle = SCROLL_STYLE_FIXED;
                        }
-                       else
+                       else if (elementString.Equals(L"SCROLL_STYLE_FAST_SCROLL", false))
                        {
-                               hasFastScroll = false;
+                               scrollStyle = SCROLL_STYLE_FAST_SCROLL;
+                       }
+                       else if (elementString.Equals(L"SCROLL_STYLE_JUMP_TO_TOP", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_JUMP_TO_TOP;
+                       }
+                       else if (elementString.Equals(L"SCROLL_STYLE_THUMB", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_THUMB;
                        }
                }
-
-               r = pListView->Construct(rect, hasItemDivider, hasFastScroll);
-               if (r != E_SUCCESS)
+               else if (pControl->GetElement(L"fastScroll", elementString))
                {
-                       delete pListView;
-                       pListView = null;
-
-                       return null;
+                       if (elementString.Equals(L"true", false))
+                       {
+                               scrollStyle = SCROLL_STYLE_FAST_SCROLL;
+                       }
                }
 
+               r = pListView->Construct(rect, hasItemDivider, scrollStyle);
+               SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+
                // Set BackgroundsBitmap
                if (pControl->GetElement("backgroundBitmapPath", elementString))
                {
@@ -1536,22 +1549,26 @@ protected:
                        pBackgroundBitmap = LoadBitmapN(elementString);
                        if (pBackgroundBitmap != null)
                        {
-                               pListView->SetBackgroundBitmap(pBackgroundBitmap);
+                               r = pListView->SetBackgroundBitmap(pBackgroundBitmap);
                                delete pBackgroundBitmap;
                                pBackgroundBitmap = null;
+
+                               SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                        }
                }
 
                // Set Empty List
                if (pControl->GetElement(L"textOfEmptyList", elementString))
                {
-                       pListView->SetTextOfEmptyList(elementString);
+                       r = pListView->SetTextOfEmptyList(elementString);
+                       SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
                if (pControl->GetElement(L"colorOfEmptyListText", elementString))
                {
                        ConvertStringToColor(elementString, color);
-                       pListView->SetTextColorOfEmptyList(color);
+                       r = pListView->SetTextColorOfEmptyList(color);
+                       SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
                if (pControl->GetElement(L"bitmapPathOfEmptyList", elementString))
@@ -1560,10 +1577,11 @@ protected:
                        pBackgroundBitmap = LoadBitmapN(elementString); //__image->DecodeN(path,BITMAP_PIXEL_FORMAT_RGB565);
                        if (pBackgroundBitmap != null)
                        {
-                               pListView->SetBitmapOfEmptyList(pBackgroundBitmap);
-
+                               r = pListView->SetBitmapOfEmptyList(pBackgroundBitmap);
                                delete pBackgroundBitmap;
                                pBackgroundBitmap = null;
+
+                               SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                        }
                }
 
@@ -1575,13 +1593,15 @@ protected:
                if (pControl->GetElement(L"backgroundColor", elementString) || pControl->GetElement(L"BGColor", elementString))
                {
                        ConvertStringToColor32(elementString, opacity, color);
-                       pListView->SetBackgroundColor(color);
+                       r = pListView->SetBackgroundColor(color);
+                       SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
                if (pControl->GetElement(L"itemDividerColor", elementString))
                {
                        ConvertStringToColor(elementString, color);
-                       pListView->SetItemDividerColor(color);
+                       r = pListView->SetItemDividerColor(color);
+                       SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
                }
 
                if (pControl->GetElement(L"sweepEnabled", elementString))
@@ -1595,10 +1615,26 @@ protected:
                                isSweepEnabled = false;
                        }
 
-                       pListView->SetSweepEnabled(isSweepEnabled);
+                       r = pListView->SetSweepEnabled(isSweepEnabled);
+                       SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+               }
+
+               // scroll Input Mode
+               if (pControl->GetElement(L"scrollInputMode", elementString))
+               {
+                       if (elementString.Equals(L"SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION", false))
+                       {
+                               scrollInputMode = SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION;
+                       }
+
+                       pListView->SetScrollInputMode(scrollInputMode);
                }
 
                return pListView;
+
+       CATCH:
+               delete pListView;
+               return null;
        }
 
 private: