else
{
_ListViewItemStatus itemStatus;
+ memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
+
_TouchManager* pTouchManager = _TouchManager::GetInstance();
bool needChangeEventTarget = false;
int touchedGroupIndex = -1;
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;
return null;
}
- rect = pControlProperty->GetRect();
+ rect = pControlProperty->GetRectF();
String styleString;
styleString = pControlProperty->GetStyle();
}
}
- 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
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;
}
if ((topItemIndex <= index) && (bottomItemIndex >= index))
{
_ListViewItemStatus itemStatus;
+ memset(&itemStatus, 0, sizeof(_ListViewItemStatus));
+
_TouchManager* pTouchManager = _TouchManager::GetInstance();
bool needChangeEventTarget = false;
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;
return null;
}
- rect = pControlProperty->GetRect();
+ rect = pControlProperty->GetRectF();
//Construct
if (pControl->GetElement(L"itemDivider", elementString))
}
}
- 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))
{
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))
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));
}
}
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))
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: