2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FUiCtrl_IconListViewImpl.cpp
20 * @brief This is the implementation file for the _IconListViewImpl class.
24 #include <FBaseSysLog.h>
26 #include "FUi_UiBuilder.h"
27 #include "FUiCtrl_IconListView.h"
28 #include "FUiCtrl_IconListViewImpl.h"
29 #include "FUiCtrl_IconListViewItemEvent.h"
30 #include "FUiCtrl_IconListViewItemEventArg.h"
31 #include "FUiCtrl_ScrollEvent.h"
32 #include "FUiCtrl_ScrollEventArg.h"
34 using namespace Tizen::Base;
35 using namespace Tizen::Graphics;
36 using namespace Tizen::Ui;
38 namespace Tizen { namespace Ui { namespace Controls
41 _IconListViewImpl::_IconListViewImpl(IconListView* pIconListView, _IconListView* pCore)
42 : _ControlImpl(pIconListView, pCore)
43 , __pIconListView(pCore)
44 , __pIconListViewItemEvent(null)
45 , __pScrollEvent(null)
50 _IconListViewImpl::~_IconListViewImpl(void)
56 _IconListViewImpl::CreateIconListViewImplN(IconListView* pIconListView)
58 _IconListView* pCore = _IconListView::CreateIconListViewN();
59 SysTryReturn(NID_UI_CTRL, (pCore != null), null , GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
61 _IconListViewImpl* pImpl = new (std::nothrow) _IconListViewImpl(pIconListView, pCore);
63 result r = CheckConstruction(pCore, pImpl);
64 SysTryReturn(NID_UI, (r == E_SUCCESS), null , r, "[%s] Propagating.", GetErrorMessage(r));
70 _IconListViewImpl::GetInstance(IconListView& iconListView)
72 return static_cast<_IconListViewImpl*>(iconListView._pControlImpl);
75 const _IconListViewImpl*
76 _IconListViewImpl::GetInstance(const IconListView& iconListView)
78 return static_cast<const _IconListViewImpl*>(iconListView._pControlImpl);
82 _IconListViewImpl::GetPublicClassName(void) const
84 return "Tizen::Ui::Controls::IconListView";
88 _IconListViewImpl::GetPublic(void)
90 return static_cast <IconListView&>(_ControlImpl::GetPublic());
94 _IconListViewImpl::Dispose(void)
96 __pIconListView = null;
98 if (__pIconListViewItemEvent != null)
100 delete __pIconListViewItemEvent;
101 __pIconListViewItemEvent = null;
104 if (__pScrollEvent != null)
106 delete __pScrollEvent;
107 __pScrollEvent = null;
114 _IconListViewImpl::Initialize(IconListView* pIconListView, const Dimension& itemBitmapSize, IconListViewStyle style,
115 IconListViewScrollDirection scrollDirection, IconListViewScrollStyle scrollStyle)
117 SysTryReturn(NID_UI_CTRL, (__pIconListView != null), E_SYSTEM, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Unable to create IconListView.");
119 result r = E_SUCCESS;
120 Rectangle itemBitmapBounds(0, 0, itemBitmapSize.width, itemBitmapSize.height);
122 r = __pIconListView->SetStyle(style);
123 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
125 r = __pIconListView->SetScrollStyle(scrollStyle);
126 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
128 r = __pIconListView->SetScrollDirection(scrollDirection);
129 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
131 r = __pIconListView->SetItemBitmapBounds(itemBitmapBounds);
132 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
134 __pIconListViewItemEvent = new (std::nothrow) _IconListViewItemEvent;
135 SysTryCatch(NID_UI_CTRL, (__pIconListViewItemEvent != null), r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY,
136 "[E_OUT_OF_MEMORY] Memory allocation failed.");
138 r = __pIconListViewItemEvent->Construct(*pIconListView);
139 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
141 r = __pIconListView->AddIconListItemEventListener(*this);
142 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
144 __pScrollEvent = new (std::nothrow) _ScrollEvent();
145 SysTryCatch(NID_UI_CTRL, (__pScrollEvent != null), r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY,
146 "[E_OUT_OF_MEMORY] Memory allocation failed/");
148 r = __pScrollEvent->Construct(*pIconListView);
149 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
151 r = __pIconListView->AddScrollEventListener(*this);
152 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
161 _IconListViewImpl::SetItemProvider(IIconListViewItemProvider& provider)
163 return __pIconListView->SetItemProvider(provider);
167 _IconListViewImpl::AddIconListViewItemEventListener(IIconListViewItemEventListener& listener)
169 result r = __pIconListViewItemEvent->AddListener(listener);
170 if (r == E_OBJ_ALREADY_EXIST)
172 SysLogException(NID_UI_CTRL, (r = E_SYSTEM), "[E_SYSTEM] A system error has been occurred. The same instance alerady exists in the event listener list.");
176 SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
183 _IconListViewImpl::RemoveIconListViewItemEventListener(IIconListViewItemEventListener& listener)
185 result r = __pIconListViewItemEvent->RemoveListener(listener);
186 if (r == E_OBJ_NOT_FOUND)
188 SysLogException(NID_UI_CTRL, (r = E_SYSTEM), "[E_SYSTEM] A system error has been occurred. The specified listener does not exist in the event listener list.");
192 SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
199 _IconListViewImpl::AddScrollEventListener(IScrollEventListener& listener)
201 result r = __pScrollEvent->AddListener(listener);
202 if (r == E_OBJ_ALREADY_EXIST)
204 SysLogException(NID_UI_CTRL, (r = E_SYSTEM), "[E_SYSTEM] A system error has been occurred. The same instance alerady exists in the event listener list.");
208 SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
215 _IconListViewImpl::RemoveScrollEventListener(IScrollEventListener& listener)
217 result r = __pScrollEvent->RemoveListener(listener);
218 if (r == E_OBJ_NOT_FOUND)
220 SysLogException(NID_UI_CTRL, (r = E_SYSTEM), "[E_SYSTEM] A system error has been occurred. The specified listener does not exist in the event listener list.");
224 SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
231 _IconListViewImpl::SetBackgroundBitmap(const Bitmap* pBitmap)
233 return __pIconListView->SetBackgroundBitmap(pBitmap);
237 _IconListViewImpl::SetMargin(MarginType type, int value)
239 return __pIconListView->SetMargin(type, value);
243 _IconListViewImpl::GetMargin(MarginType type) const
245 return __pIconListView->GetMargin(type);
249 _IconListViewImpl::SetItemSpacing(int horizontalSpacing, int verticalSpacing)
251 return __pIconListView->SetItemSpacing(horizontalSpacing, verticalSpacing);
255 _IconListViewImpl::GetItemHorizontalSpacing(void) const
257 return __pIconListView->GetItemHorizontalSpacing();
261 _IconListViewImpl::GetItemVerticalSpacing(void) const
263 return __pIconListView->GetItemVerticalSpacing();
267 _IconListViewImpl::SetItemChecked(int index, bool check)
269 return __pIconListView->SetItemChecked(index, check);
273 _IconListViewImpl::IsItemChecked(int index) const
275 return __pIconListView->IsItemChecked(index);
279 _IconListViewImpl::GetItemIndexFromPosition(int x, int y) const
281 return __pIconListView->GetItemIndexFromPosition(x, y);
285 _IconListViewImpl::GetItemIndexFromPosition(const Point& position) const
287 return __pIconListView->GetItemIndexFromPosition(position);
291 _IconListViewImpl::SetTextHorizontalAlignment(HorizontalAlignment alignment)
293 return __pIconListView->SetTextHorizontalAlignment(alignment);
297 _IconListViewImpl::SetTextVerticalAlignment(IconListViewItemTextVerticalAlignment alignment)
299 return __pIconListView->SetTextVerticalAlignment(alignment);
303 _IconListViewImpl::GetTextHorizontalAlignment(void) const
306 return __pIconListView->GetTextHorizontalAlignment();
309 IconListViewItemTextVerticalAlignment
310 _IconListViewImpl::GetTextVerticalAlignment(void) const
313 return __pIconListView->GetTextVerticalAlignment();
317 _IconListViewImpl::SetTextOfEmptyList(const String& text)
319 return __pIconListView->SetTextOfEmptyList(text);
323 _IconListViewImpl::GetTextOfEmptyList(void) const
326 return __pIconListView->GetTextOfEmptyList();
330 _IconListViewImpl::SetTextColorOfEmptyList(const Color& color)
332 return __pIconListView->SetTextColorOfEmptyList(color);
336 _IconListViewImpl::GetTextColorOfEmptyList(void) const
339 return __pIconListView->GetTextColorOfEmptyList();
343 _IconListViewImpl::SetItemTextColor(IconListViewItemDrawingStatus status, const Color& color)
345 return __pIconListView->SetItemTextColor(status, color);
349 _IconListViewImpl::GetItemTextColor(IconListViewItemDrawingStatus status) const
351 return __pIconListView->GetItemTextColor(status);
355 _IconListViewImpl::SetItemTextSize(int size)
357 return __pIconListView->SetItemTextSize(size);
361 _IconListViewImpl::GetItemTextSize(void) const
364 return __pIconListView->GetItemTextSize();
368 _IconListViewImpl::SetCheckBoxPosition(IconListViewCheckBoxPosition position)
370 return __pIconListView->SetCheckBoxPosition(position);
373 IconListViewCheckBoxPosition
374 _IconListViewImpl::GetCheckBoxPosition(void) const
377 return __pIconListView->GetCheckBoxPosition();
381 _IconListViewImpl::SetTouchAnimationEnabled(bool enable)
383 return __pIconListView->SetTouchAnimationEnabled(enable);
387 _IconListViewImpl::IsTouchAnimationEnabled(void) const
390 return __pIconListView->IsTouchAnimationEnabled();
394 _IconListViewImpl::ScrollToItem(int index)
396 return __pIconListView->ScrollToItem(index);
400 _IconListViewImpl::ScrollByPixel(int pixel)
402 return __pIconListView->ScrollByPixel(pixel);
406 _IconListViewImpl::RefreshList(int index, ListRefreshType type)
408 return __pIconListView->RefreshList(index, type);
412 _IconListViewImpl::UpdateList(void)
414 return __pIconListView->UpdateList();
418 _IconListViewImpl::GetItemBitmapSize(int& width, int& height) const
420 return __pIconListView->GetItemBitmapSize(width, height);
424 _IconListViewImpl::GetItemBitmapSize(void) const
426 return __pIconListView->GetItemBitmapSize();
430 _IconListViewImpl::GetItemSize(int& width, int& height) const
432 return __pIconListView->GetItemSize(width, height);
436 _IconListViewImpl::GetItemSize(void) const
438 return __pIconListView->GetItemSize();
442 _IconListViewImpl::SetMagneticScrollSize(int scrollSize)
444 return __pIconListView->SetMagneticScrollSize(scrollSize);
448 _IconListViewImpl::GetMagneticScrollSize(void) const
451 return __pIconListView->GetMagneticScrollSize();
455 _IconListViewImpl::GetItemCountPerAxis(void) const
457 return __pIconListView->GetItemCountPerAxis();
461 _IconListViewImpl::SetItemLayoutHorizontalAlignment(HorizontalAlignment alignment)
463 return __pIconListView->SetItemLayoutHorizontalAlignment(alignment);
467 _IconListViewImpl::SetItemLayoutVerticalAlignment(VerticalAlignment alignment)
469 return __pIconListView->SetItemLayoutVerticalAlignment(alignment);
473 _IconListViewImpl::GetItemLayoutHorizontalAlignment(void) const
476 return __pIconListView->GetItemLayoutHorizontalAlignment();
480 _IconListViewImpl::GetItemLayoutVerticalAlignment(void) const
483 return __pIconListView->GetItemLayoutVerticalAlignment();
487 _IconListViewImpl::SetItemBorderStyle(IconListViewItemBorderStyle borderStyle)
489 return __pIconListView->SetItemBorderStyle(borderStyle);
492 IconListViewItemBorderStyle
493 _IconListViewImpl::GetItemBorderStyle(void) const
496 return __pIconListView->GetItemBorderStyle();
500 _IconListViewImpl::SetBitmapOfEmptyList(const Bitmap* pBitmap)
502 return __pIconListView->SetBitmapOfEmptyList(pBitmap);
506 _IconListViewImpl::BeginReorderingMode(void)
508 return __pIconListView->SetReorderModeEnabled(true);
512 _IconListViewImpl::EndReorderingMode(void)
514 return __pIconListView->SetReorderModeEnabled(false);
518 _IconListViewImpl::IsInReorderingMode(void) const
520 return __pIconListView->IsInReorderingMode();
524 _IconListViewImpl::OnIconListItemStateChanged(_IconListViewItemEventArg* pArg)
526 if (__pIconListViewItemEvent != null && pArg != null)
528 _IconListViewItemEventArg* pEventArg = new (std::nothrow) _IconListViewItemEventArg(pArg->GetIndex(), pArg->GetEventType());
529 SysTryReturnVoidResult(NID_UI_CTRL, (pEventArg != null), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memroy allcation failed.");
530 pEventArg->SetStatus(pArg->GetStatus());
531 __pIconListViewItemEvent->Fire(*pEventArg);
536 _IconListViewImpl::OnIconListViewOverlayBitmapSelected(_IconListViewItemEventArg* pArg)
538 if (__pIconListViewItemEvent != null && pArg != null)
540 _IconListViewItemEventArg* pEventArg = new (std::nothrow) _IconListViewItemEventArg(pArg->GetIndex(), pArg->GetEventType());
541 SysTryReturnVoidResult(NID_UI_CTRL, (pEventArg != null), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memroy allcation failed.");
542 pEventArg->SetOverlayBitmapId(pArg->GetOverlayBitmapId());
543 __pIconListViewItemEvent->Fire(*pEventArg);
548 _IconListViewImpl::OnIconListViewItemReordered(_IconListViewItemEventArg* pArg)
550 if (__pIconListViewItemEvent != null && pArg != null)
552 _IconListViewItemEventArg* pEventArg = new (std::nothrow) _IconListViewItemEventArg(pArg->GetIndex(), pArg->GetEventType());
553 SysTryReturnVoidResult(NID_UI_CTRL, (pEventArg != null), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memroy allcation failed.");
554 pEventArg->SetToIndex(pArg->GetToIndex());
555 __pIconListViewItemEvent->Fire(*pEventArg);
560 _IconListViewImpl::OnScrollEndReached(_Control& source, ScrollEndEvent type)
562 if (__pScrollEvent == null)
567 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic(), type);
568 result r = GetLastResult();
569 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
571 __pScrollEvent->Fire(*pEventArg);
579 _IconListViewImpl::OnScrollPositionChanged(_Control& source, int scrollPos)
581 if (__pScrollEvent == null)
586 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic(), scrollPos);
587 result r = GetLastResult();
588 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
590 __pScrollEvent->Fire(*pEventArg);
598 _IconListViewImpl::OnScrollStopped(_Control& source)
600 if (__pScrollEvent == null)
605 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic());
606 result r = GetLastResult();
607 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
609 __pScrollEvent->Fire(*pEventArg);
616 class _IconListViewMaker
617 : public _UiBuilderControlMaker
620 _IconListViewMaker(_UiBuilder* uibuilder)
621 : _UiBuilderControlMaker(uibuilder)
625 virtual ~_IconListViewMaker()
629 static _UiBuilderControlMaker*
630 GetInstance(_UiBuilder* uibuilder)
632 _IconListViewMaker* pIconListViewMaker = new (std::nothrow) _IconListViewMaker(uibuilder);
634 return pIconListViewMaker;
639 Make(_UiBuilderControl* pControl)
641 SysTryReturn(NID_UI, (pControl != null), null, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Invaild parameter is used.");
642 _UiBuilderControlLayout* pControlProperty = null;
643 GetProperty(pControl, &pControlProperty);
644 SysTryReturn(NID_UI, (pControlProperty != null), null, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Unable to read attributes.");
646 IconListView* pIconListView = new (std::nothrow) IconListView;
647 SysTryReturn(NID_UI, (pIconListView != null), null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
653 Dimension itemBitmapSize(100, 100);
654 IconListViewStyle style = ICON_LIST_VIEW_STYLE_NORMAL;
655 IconListViewScrollDirection scrollDirection = ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL;
658 rect = pControlProperty->GetRect();
659 bounds.SetBounds(rect.x, rect.y, rect.width, rect.height);
660 Tizen::Base::String elementString;
662 // Get ItemBitmapSize(width)
663 if (pControl->GetElement("itemBitmapWidth", elementString))
665 Base::Integer::Parse(elementString,itemBitmapSize.width);
668 // Get ItemBitmapSize(height)
669 if (pControl->GetElement("itemBitmapHeight", elementString))
671 Base::Integer::Parse(elementString,itemBitmapSize.height);
675 Tizen::Base::String styleString;
676 styleString = pControlProperty->GetStyle();
677 if (styleString.IsEmpty() == false)
679 if (styleString.Equals(L"ICON_LIST_VIEW_STYLE_NORMAL", false))
681 style = ICON_LIST_VIEW_STYLE_NORMAL;
683 else if (styleString.Equals(L"ICON_LIST_VIEW_STYLE_RADIO", false))
685 style = ICON_LIST_VIEW_STYLE_RADIO;
687 else if (styleString.Equals(L"ICON_LIST_VIEW_STYLE_MARK", false))
689 style = ICON_LIST_VIEW_STYLE_MARK;
693 // Get scrollDirection
694 if (pControl->GetElement("scrollDirection", elementString))
696 if (elementString.Equals(L"ICON_LIST_VIEW_SCROLL_DIRECTION_HORIZONTAL", false))
698 scrollDirection = ICON_LIST_VIEW_SCROLL_DIRECTION_HORIZONTAL;
700 else if (elementString.Equals(L"ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL", false))
702 scrollDirection = ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL;
706 // Construct IconListView
707 result r = pIconListView->Construct(bounds, itemBitmapSize, style, scrollDirection);
708 SysTryCatch(NID_UI, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
710 // Set BackgroundsBitmap
711 if (pControl->GetElement("backgroundBitmapPath", elementString) || pControl->GetElement("BGBitmapPath", elementString))
713 Bitmap* pBackgroundBitmap = null;
714 pBackgroundBitmap = LoadBitmapN(elementString);
715 if (pBackgroundBitmap)
717 pIconListView->SetBackgroundBitmap(pBackgroundBitmap);
718 delete pBackgroundBitmap;
722 // Set BackgroundColor
723 if (pControl->GetElement("backgroundColor", elementString) || pControl->GetElement("BGColor", elementString))
726 ConvertStringToColor(elementString, bgColor);
727 if (pControl->GetElement("backgroundColorOpacity", elementString) || pControl->GetElement("BGColorOpacity", elementString))
730 Base::Integer::Parse(elementString, opacity);
731 bgColor.SetAlpha(ConvertOpacity100to255(opacity));
733 pIconListView->SetBackgroundColor(bgColor);
736 // Set CheckBoxPosition
737 if ((style == ICON_LIST_VIEW_STYLE_RADIO || style == ICON_LIST_VIEW_STYLE_MARK)
738 && pControl->GetElement("checkBoxPosition", elementString))
740 IconListViewCheckBoxPosition checkBoxPosition = ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT;
741 if (elementString.Equals(L"ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT", false))
743 checkBoxPosition = ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT;
745 else if (elementString.Equals(L"ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT", false))
747 checkBoxPosition = ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT;
749 else if (elementString.Equals(L"ICON_LIST_VIEW_CHECK_BOX_POSITION_BOTTOM_LEFT", false))
751 checkBoxPosition = ICON_LIST_VIEW_CHECK_BOX_POSITION_BOTTOM_LEFT;
753 else if (elementString.Equals(L"ICON_LIST_VIEW_CHECK_BOX_POSITION_BOTTOM_RIGHT", false))
755 checkBoxPosition = ICON_LIST_VIEW_CHECK_BOX_POSITION_BOTTOM_RIGHT;
758 pIconListView->SetCheckBoxPosition(checkBoxPosition);
761 // Set BitmapOfEmptyList
762 if (pControl->GetElement("bitmapPathOfEmptyList", elementString))
764 Bitmap* pBitmapOfEmptyList = null;
765 pBitmapOfEmptyList = LoadBitmapN(elementString);
766 if (pBitmapOfEmptyList)
768 pIconListView->SetBitmapOfEmptyList(pBitmapOfEmptyList);
769 delete pBitmapOfEmptyList;
773 // Set TextOfEmptyList
774 if (pControl->GetElement("textOfEmptyList", elementString))
776 pIconListView->SetTextOfEmptyList(elementString);
779 // Set TextColorOfEmptyList
780 if (pControl->GetElement("colorOfEmptyListText", elementString))
783 ConvertStringToColor(elementString, color);
784 pIconListView->SetTextColorOfEmptyList(color);
787 // Set ItemBorderStyle
788 if (pControl->GetElement("itemBorderStyle", elementString))
790 IconListViewItemBorderStyle borderStyle = ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW;
791 if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE", false))
793 borderStyle = ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE;
795 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_BORDER_STYLE_OUTLINE", false))
797 borderStyle = ICON_LIST_VIEW_ITEM_BORDER_STYLE_OUTLINE;
799 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW", false))
801 borderStyle = ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW;
804 pIconListView->SetItemBorderStyle(borderStyle);
807 // Set ItemLayoutHorizontalAlignment
808 if (scrollDirection == ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL
809 && pControl->GetElement("itemHorizontalAlignment", elementString))
811 HorizontalAlignment alignment = ALIGNMENT_CENTER;
812 if (elementString.Equals(L"ALIGNMENT_LEFT", false))
814 alignment = ALIGNMENT_LEFT;
816 else if (elementString.Equals(L"ALIGNMENT_CENTER", false))
818 alignment = ALIGNMENT_CENTER;
820 else if (elementString.Equals(L"ALIGNMENT_RIGHT", false))
822 alignment = ALIGNMENT_RIGHT;
825 pIconListView->SetItemLayoutHorizontalAlignment(alignment);
828 // Set ItemLayoutVerticalAlignment
829 if (scrollDirection == ICON_LIST_VIEW_SCROLL_DIRECTION_HORIZONTAL
830 && pControl->GetElement("itemVerticalAlignment", elementString))
832 VerticalAlignment alignment = ALIGNMENT_MIDDLE;
833 if (elementString.Equals(L"ALIGNMENT_TOP", false))
835 alignment = ALIGNMENT_TOP;
837 else if (elementString.Equals(L"ALIGNMENT_MIDDLE", false))
839 alignment = ALIGNMENT_MIDDLE;
841 else if (elementString.Equals(L"ALIGNMENT_BOTTOM", false))
843 alignment = ALIGNMENT_BOTTOM;
846 pIconListView->SetItemLayoutVerticalAlignment(alignment);
849 // Set TextHorizontalAlignment
850 if (pControl->GetElement("itemTextHorizontalAlignment", elementString))
852 HorizontalAlignment alignment = ALIGNMENT_CENTER;
853 if (elementString.Equals(L"ALIGNMENT_LEFT", false))
855 alignment = ALIGNMENT_LEFT;
857 else if (elementString.Equals(L"ALIGNMENT_CENTER", false))
859 alignment = ALIGNMENT_CENTER;
861 else if (elementString.Equals(L"ALIGNMENT_RIGHT", false))
863 alignment = ALIGNMENT_RIGHT;
866 pIconListView->SetTextHorizontalAlignment(alignment);
869 // Set TextVerticalAlignment
870 if (pControl->GetElement("itemTextVerticalAlignment", elementString))
872 IconListViewItemTextVerticalAlignment alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM;
873 if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP", false))
875 alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP;
877 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_MIDDLE", false))
879 alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_MIDDLE;
881 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM", false))
883 alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM;
885 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP", false))
887 alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP;
889 else if (elementString.Equals(L"ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM", false))
891 alignment = ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM;
894 pIconListView->SetTextVerticalAlignment(alignment);
897 // Set ItemHorizontalSpacing
898 if (pControl->GetElement("itemHorizontalSpacing", elementString))
901 Base::Integer::Parse(elementString, spacing);
902 pIconListView->SetItemSpacing(spacing, pIconListView->GetItemVerticalSpacing());
905 // Set ItemVerticalSpacing
906 if (pControl->GetElement("itemVerticalSpacing", elementString))
909 Base::Integer::Parse(elementString, spacing);
910 pIconListView->SetItemSpacing(pIconListView->GetItemHorizontalSpacing(), spacing);
914 if (pControl->GetElement("itemTextSize", elementString))
917 Base::Integer::Parse(elementString, size);
918 _ICoordinateSystemTransformer* pTransform = GetTransformer();
921 size = pTransform->Transform(size);
923 pIconListView->SetItemTextSize(size);
926 // Set NormalItemTextColor
927 if (pControl->GetElement("normalItemTextColor", elementString))
930 ConvertStringToColor(elementString, color);
931 pIconListView->SetItemTextColor(ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL, color);
934 // Set PressedItemTextColor
935 if (pControl->GetElement("pressedItemTextColor", elementString))
938 ConvertStringToColor(elementString, color);
939 pIconListView->SetItemTextColor(ICON_LIST_VIEW_ITEM_DRAWING_STATUS_PRESSED, color);
942 // Set HighlightedItemTextColor
943 if (pControl->GetElement("highlightedItemTextColor", elementString))
946 ConvertStringToColor(elementString, color);
947 pIconListView->SetItemTextColor(ICON_LIST_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED, color);
950 // Set TouchAnimationEnabled
951 if (pControl->GetElement("touchAnimationEnabled", elementString))
954 if (elementString.Equals(L"false", false) || elementString.Equals(L"FALSE", false))
959 pIconListView->SetTouchAnimationEnabled(enabled);
962 // Set MagneticScrollSize
963 if (pControl->GetElement("magneticScrollSize", elementString))
966 Base::Integer::Parse(elementString, size);
967 pIconListView->SetMagneticScrollSize(size);
970 return pIconListView;
973 delete pIconListView;
979 _IconListViewRegister::_IconListViewRegister()
981 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
982 pUiBuilderControlTableManager->RegisterControl(L"IconListView", _IconListViewMaker::GetInstance);
985 _IconListViewRegister::~_IconListViewRegister()
987 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
988 pUiBuilderControlTableManager->UnregisterControl(L"IconListView");
990 static _IconListViewRegister IconListViewRegisterToUiBuilder;
991 }}} // Tizen::Ui::Controls