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_TableViewImpl.cpp
20 * @brief This file contains implementation of _TableViewImpl class
23 #include <FUiCtrlIFastScrollListener.h>
24 #include <FUiCtrlITableViewItemEventListener.h>
25 #include <FUiCtrlIGroupedTableViewItemEventListener.h>
26 #include <FUiCtrlISectionTableViewItemEventListener.h>
27 #include <FUiCtrlITableViewItemProvider.h>
28 #include <FUiCtrlIGroupedTableViewItemProvider.h>
29 #include <FUiCtrlISectionTableViewItemProvider.h>
30 #include "FUiCtrl_TableViewImpl.h"
31 #include "FUiCtrl_TableViewItemEventArg.h"
32 #include "FUiCtrl_TableViewItemProvider.h"
33 #include "FUiCtrlTableViewItem.h"
34 #include "FUiCtrlTableViewGroupItem.h"
35 #include "FUiCtrlTableViewContextItem.h"
36 #include "FUiCtrl_FastScrollEvent.h"
37 #include "FUiCtrl_FastScrollEventArg.h"
38 #include "FUiCtrl_ScrollEvent.h"
39 #include "FUiCtrl_ScrollEventArg.h"
40 #include "FUi_UiBuilder.h"
41 #include "FUi_ResourceSizeInfo.h"
42 #include "FUi_ResourceManager.h"
44 using namespace Tizen::Ui;
45 using namespace Tizen::Base;
46 using namespace Tizen::Graphics;
48 namespace Tizen { namespace Ui { namespace Controls
51 Tizen::Graphics::Dimension
52 _TableViewImpl::TableViewSizeInfo::GetDefaultMinimumSize(_ControlOrientation orientation) const
55 Tizen::Graphics::Dimension dimension(0, 0);
56 r = GET_DIMENSION_CONFIG(TABLEVIEW::MIN_SIZE, orientation, dimension);
57 SysTryReturn(NID_UI, r == E_SUCCESS, dimension, r, "[%s] System Error", GetErrorMessage(r));
62 _TableViewImpl::GetInstance(TableView& tableView)
64 return static_cast <_TableViewImpl*>(tableView._pControlImpl);
68 _TableViewImpl::GetInstance(const TableView& tableView)
70 return static_cast <const _TableViewImpl*>(tableView._pControlImpl);
75 _TableViewImpl::GetInstance(GroupedTableView& tableView)
77 return static_cast <_TableViewImpl*>(tableView._pControlImpl);
81 _TableViewImpl::GetInstance(const GroupedTableView& tableView)
83 return static_cast <const _TableViewImpl*>(tableView._pControlImpl);
88 _TableViewImpl::GetInstance(SectionTableView& tableView)
90 return static_cast <_TableViewImpl*>(tableView._pControlImpl);
94 _TableViewImpl::GetInstance(const SectionTableView& tableView)
96 return static_cast <const _TableViewImpl*>(tableView._pControlImpl);
99 _TableViewImpl::_TableViewImpl(Container* pTableView, _TableView* pCore)
100 : _ContainerImpl(pTableView, pCore)
101 , __pTableViewEvent(null)
102 , __pScrollEvent(null)
103 , __pFastScrollEvent(null)
104 , __useSearchIcon(false)
105 , __tableViewPublic()
109 _TableViewImpl::~_TableViewImpl()
111 if (__pScrollEvent != null)
113 delete __pScrollEvent;
114 __pScrollEvent = null;
117 if (__pFastScrollEvent != null)
119 delete __pFastScrollEvent;
120 __pFastScrollEvent = null;
123 if (__pTableViewEvent != null)
125 delete __pTableViewEvent;
126 __pTableViewEvent = null;
131 _TableViewImpl::GetPublicClassName(void) const
133 return "Tizen::Ui::Controls::TableView";
137 _TableViewImpl::GetCore(void) const
139 return static_cast <const _TableView&>(_ControlImpl::GetCore());
143 _TableViewImpl::GetCore(void)
145 return static_cast <_TableView&>(_ControlImpl::GetCore());
149 _TableViewImpl::CreateTableViewImplN(Container* pPublic, Rectangle bounds, TableViewStyle style, bool itemDivider, TableViewScrollBarStyle scrollStyle)
151 result r = E_SUCCESS;
154 r = GET_SIZE_INFO(TableView).CheckInitialSizeValid(Dimension(bounds.width, bounds.height), _CONTROL_ORIENTATION_PORTRAIT);
155 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
157 _TableView* pCore = _TableView::CreateTableViewN(style, itemDivider, scrollStyle);
158 SysTryReturn(NID_UI_CTRL, pCore, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
160 _TableViewImpl* pImpl = new (std::nothrow) _TableViewImpl(pPublic, pCore);
161 SysTryCatch(NID_UI_CTRL, pImpl, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
163 pImpl->SetPublic(style, pPublic);
176 _TableViewImpl::CreateTableViewImplN(TableView* pPublic, Tizen::Graphics::Rectangle bounds, TableViewStyle style, bool itemDivider, TableViewScrollBarStyle scrollStyle)
178 return _TableViewImpl::CreateTableViewImplN(static_cast<Container*>(pPublic), bounds, style, itemDivider, scrollStyle);
181 _TableViewImpl::CreateGroupedTableViewImplN(GroupedTableView* pPublic, Tizen::Graphics::Rectangle bounds, TableViewStyle style, bool itemDivider, TableViewScrollBarStyle scrollStyle)
183 return _TableViewImpl::CreateTableViewImplN(static_cast<Container*>(pPublic), bounds, style, itemDivider, scrollStyle);
186 _TableViewImpl::CreateSectionTableViewImplN(SectionTableView* pPublic, Tizen::Graphics::Rectangle bounds, TableViewStyle style, bool itemDivider, TableViewScrollBarStyle scrollStyle)
188 return _TableViewImpl::CreateTableViewImplN(static_cast<Container*>(pPublic), bounds, style, itemDivider, scrollStyle);
193 _TableViewImpl::SetPublic(TableViewStyle style, Container *pPublic)
195 __tableViewPublic.style = style;
197 if (style == TABLE_VIEW_STYLE_SIMPLE)
199 __tableViewPublic.pTableView = static_cast <TableView*>(pPublic);
201 else if (style == TABLE_VIEW_STYLE_GROUPED)
203 __tableViewPublic.pGroupedTableView = static_cast <GroupedTableView*>(pPublic);
207 __tableViewPublic.pSectionTableView = static_cast <SectionTableView*>(pPublic);
213 _TableViewImpl::SetSimpleStyleItemProvider(ITableViewItemProvider* pProvider)
215 TableViewStyle style = GetCore().GetTableViewStyle();
216 SysTryReturn(NID_UI_CTRL, style == TABLE_VIEW_STYLE_SIMPLE, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is not TABLE_VIEW_STYLE_SIMPLE");
218 _TableViewItemProvider* pItemProvider = _TableViewItemProvider::CreateTableViewItemProviderN(style);
219 SysTryReturn(NID_UI_CTRL, pItemProvider != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
221 result r = pItemProvider->SetSimpleStyleItemProvider(pProvider);
224 delete pItemProvider;
225 SysTryReturn(NID_UI_CTRL, false, r, r, "[%s] Propagating.", GetErrorMessage(r));
228 return GetCore().SetItemProvider(pItemProvider);
232 _TableViewImpl::SetGroupedStyleItemProvider(IGroupedTableViewItemProvider* pProvider)
234 TableViewStyle style = GetCore().GetTableViewStyle();
235 SysTryReturn(NID_UI_CTRL, style == TABLE_VIEW_STYLE_GROUPED, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is not TABLE_VIEW_STYLE_GROUPED");
237 _TableViewItemProvider* pItemProvider = _TableViewItemProvider::CreateTableViewItemProviderN(style);
238 SysTryReturn(NID_UI_CTRL, pItemProvider != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
240 result r = pItemProvider->SetGroupedStyleItemProvider(pProvider);
243 delete pItemProvider;
244 SysTryReturn(NID_UI_CTRL, false, r, r, "[%s] Propagating.", GetErrorMessage(r));
247 return GetCore().SetItemProvider(pItemProvider);
251 _TableViewImpl::SetSectionStyleItemProvider(ISectionTableViewItemProvider* pProvider)
253 TableViewStyle style = GetCore().GetTableViewStyle();
254 SysTryReturn(NID_UI_CTRL, style == TABLE_VIEW_STYLE_SECTION, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is not TABLE_VIEW_STYLE_SECTION");
256 _TableViewItemProvider* pItemProvider = _TableViewItemProvider::CreateTableViewItemProviderN(style);
257 SysTryReturn(NID_UI_CTRL, pItemProvider != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
259 result r = pItemProvider->SetSectionStyleItemProvider(pProvider);
262 delete pItemProvider;
263 SysTryReturn(NID_UI_CTRL, false, r, r, "[%s] Propagating.", GetErrorMessage(r));
266 return GetCore().SetItemProvider(pItemProvider);
270 _TableViewImpl::AddTableViewItemEventListener(ITableViewItemEventListener& listener)
272 result r = E_SUCCESS;
274 if (__pTableViewEvent == null)
276 __pTableViewEvent = new (std::nothrow) _TableViewItemEvent();
277 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
279 r = __pTableViewEvent->Construct(&GetPublic(), TABLE_VIEW_STYLE_SIMPLE);
280 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
283 r = __pTableViewEvent->AddListener(listener);
284 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
286 r = GetCore().AddTableViewItemEventListener(*this);
287 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
293 _TableViewImpl::RemoveTableViewItemEventListener(ITableViewItemEventListener& listener)
295 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] The listener is not found");
297 return __pTableViewEvent->RemoveListener(listener);
301 _TableViewImpl::AddGroupedTableViewItemEventListener(IGroupedTableViewItemEventListener& listener)
303 result r = E_SUCCESS;
305 if (__pTableViewEvent == null)
307 __pTableViewEvent = new (std::nothrow) _TableViewItemEvent();
308 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
310 r = __pTableViewEvent->Construct(&GetPublic(), TABLE_VIEW_STYLE_GROUPED);
311 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
314 r = __pTableViewEvent->AddListener(listener);
315 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
317 r = GetCore().AddGroupedTableViewItemEventListener(*this);
318 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
324 _TableViewImpl::RemoveGroupedTableViewItemEventListener(IGroupedTableViewItemEventListener& listener)
326 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] The listener is not found");
328 return __pTableViewEvent->RemoveListener(listener);
332 _TableViewImpl::AddSectionTableViewItemEventListener(ISectionTableViewItemEventListener& listener)
334 result r = E_SUCCESS;
336 if (__pTableViewEvent == null)
338 __pTableViewEvent = new (std::nothrow) _TableViewItemEvent();
339 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
341 r = __pTableViewEvent->Construct(&GetPublic(), TABLE_VIEW_STYLE_SECTION);
342 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
345 r = __pTableViewEvent->AddListener(listener);
346 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
348 r = GetCore().AddSectionTableViewItemEventListener(*this);
349 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
355 _TableViewImpl::RemoveSectionTableViewItemEventListener(ISectionTableViewItemEventListener& listener)
357 SysTryReturn(NID_UI_CTRL, __pTableViewEvent != null, E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] The listener is not found");
359 return __pTableViewEvent->RemoveListener(listener);
363 _TableViewImpl::AddFastScrollListener(IFastScrollListener& listener)
367 TableViewScrollBarStyle style = GetCore().GetScrollStyle();
368 SysTryReturn(NID_UI_CTRL, style == TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView scroll is not TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL");
370 if (__pFastScrollEvent == null)
372 __pFastScrollEvent = new (std::nothrow) _FastScrollEvent();
373 SysTryReturn(NID_UI_CTRL, __pFastScrollEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
375 result r = __pFastScrollEvent->Construct(GetPublic());
376 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
379 __pFastScrollEvent->AddListener(listener);
381 return GetCore().AddFastScrollListener(*this);
385 _TableViewImpl::RemoveFastScrollListener(IFastScrollListener& listener)
389 if (__pFastScrollEvent == null)
391 return E_INVALID_OPERATION;
394 return __pFastScrollEvent->RemoveListener(listener);
398 _TableViewImpl::AddScrollEventListener(IScrollEventListener& listener)
402 result r = E_SUCCESS;
404 if (__pScrollEvent == null)
406 __pScrollEvent = new (std::nothrow) _ScrollEvent();
407 SysTryReturn(NID_UI_CTRL, __pScrollEvent != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
409 r = __pScrollEvent->Construct(GetPublic());
410 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
412 r = __pScrollEvent->AddListener(listener);
413 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
415 GetCore().AddScrollEventListener(*this);
417 return GetLastResult();
421 _TableViewImpl::RemoveScrollEventListener(IScrollEventListener& listener)
425 if (__pScrollEvent == null)
427 return E_INVALID_OPERATION;
430 return __pScrollEvent->RemoveListener(listener);
434 _TableViewImpl::SetSweepEnabled(bool enable)
436 GetCore().SetSweepEnabled(enable);
442 _TableViewImpl::SetFastScrollIndex(const String& text, bool useSearchIcon)
444 __useSearchIcon = useSearchIcon;
446 return GetCore().SetFastScrollIndex(text, useSearchIcon);
450 _TableViewImpl::GetTopDrawnItemIndex(int& groupIndex, int& itemIndex) const
452 return GetCore().GetTopDrawnItemIndex(groupIndex, itemIndex);
456 _TableViewImpl::GetBottomDrawnItemIndex(int& groupIndex, int& itemIndex) const
458 return GetCore().GetBottomDrawnItemIndex(groupIndex, itemIndex);
462 _TableViewImpl::ScrollToItem(int groupIndex, int itemIndex, TableViewScrollItemAlignment itemAlignment)
464 if (itemAlignment == TABLE_VIEW_SCROLL_ITEM_ALIGNMENT_TOP)
466 return GetCore().SetTopDrawnItemIndex(groupIndex, itemIndex);
468 else if (itemAlignment == TABLE_VIEW_SCROLL_ITEM_ALIGNMENT_BOTTOM)
470 return GetCore().SetBottomDrawnItemIndex(groupIndex, itemIndex);
473 return E_OUT_OF_RANGE;
477 _TableViewImpl::ScrollByPixel(int scrollDistance)
479 return GetCore().ScrollByPixel(scrollDistance);
483 _TableViewImpl::GetCurrentScrollPosition(void) const
485 return GetCore().GetScrollPosition();
489 _TableViewImpl::SetScrollEnabled(bool enable)
491 GetCore().SetScrollEnabled(enable);
495 _TableViewImpl::IsScrollEnabled(void) const
497 return GetCore().IsScrollEnabled();
501 _TableViewImpl::SetItemChecked(int groupIndex, int itemIndex, bool check)
503 return GetCore().SetItemChecked(groupIndex, itemIndex, check);
507 _TableViewImpl::IsItemChecked(int groupIndex, int itemIndex) const
509 return GetCore().IsItemChecked(groupIndex, itemIndex);
513 _TableViewImpl::SetItemEnabled(int groupIndex, int itemIndex, bool enable)
515 return GetCore().SetItemEnabled(groupIndex, itemIndex, enable);
519 _TableViewImpl::IsItemEnabled(int groupIndex, int itemIndex) const
521 return GetCore().IsItemEnabled(groupIndex, itemIndex);
525 _TableViewImpl::GetGroupCount(void) const
527 return GetCore().GetGroupCount();
531 _TableViewImpl::GetItemCountAt(int groupIndex) const
533 return GetCore().GetItemCountAt(groupIndex);
537 _TableViewImpl::RefreshTableView(int groupIndex, int itemIndex, TableViewRefreshType type)
539 return GetCore().RefreshTableView(groupIndex, itemIndex, type);
543 _TableViewImpl::UpdateTableView(void)
545 return GetCore().UpdateTableView();
549 _TableViewImpl::GetItemIndexFromPosition(const Point& position, int& groupIndex, int& itemIndex) const
551 return GetCore().GetItemIndexFromPosition(position, groupIndex, itemIndex);
555 _TableViewImpl::SetSectionColor(const Color& color)
557 return GetCore().SetSectionColor(color);
561 _TableViewImpl::GetSectionColor(void) const
563 return GetCore().GetSectionColor();
567 _TableViewImpl::SetItemDividerColor(const Color& color)
569 return GetCore().SetItemDividerColor(color);
573 _TableViewImpl::GetItemDividerColor(void) const
575 return GetCore().GetItemDividerColor();
579 _TableViewImpl::SetBitmapOfEmptyTableView(const Bitmap* pBitmap)
581 return GetCore().SetBitmapOfEmptyTableView(pBitmap);
585 _TableViewImpl::SetTextOfEmptyTableView(const String& text)
587 return GetCore().SetTextOfEmptyTableView(text);
591 _TableViewImpl::GetTextOfEmptyTableView(void) const
593 return GetCore().GetTextOfEmptyTableView();
597 _TableViewImpl::SetTextColorOfEmptyTableView(const Color& color)
599 return GetCore().SetTextColorOfEmptyTableView(color);
603 _TableViewImpl::GetTextColorOfEmptyTableView(void) const
605 return GetCore().GetTextColorOfEmptyTableView();
608 // Item Expand / Collapse
610 _TableViewImpl::ExpandGroup(int groupIndex)
612 return GetCore().ExpandGroup(groupIndex);
616 _TableViewImpl::CollapseGroup(int groupIndex)
618 return GetCore().CollapseGroup(groupIndex);
622 _TableViewImpl::IsGroupExpanded(int groupIndex) const
624 return GetCore().IsGroupExpanded(groupIndex);
628 _TableViewImpl::ExpandAllGroup(void)
630 return GetCore().ExpandAllGroup(true);
634 _TableViewImpl::CollapseAllGroup(void)
636 return GetCore().CollapseAllGroup(true);
640 _TableViewImpl::SetGroupedLookEnabled(bool enable)
642 TableViewStyle style = GetCore().GetTableViewStyle();
643 SysTryReturn(NID_UI_CTRL, style != TABLE_VIEW_STYLE_SIMPLE, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is TABLE_VIEW_STYLE_SIMPLE");
645 GetCore().SetGroupedLookEnabled(enable);
651 _TableViewImpl::IsGroupedLookEnabled(void) const
653 return GetCore().IsGroupedLookEnabled();
657 _TableViewImpl::BeginReorderingMode(void)
659 TableViewStyle style = GetCore().GetTableViewStyle();
660 SysTryReturn(NID_UI_CTRL, style != TABLE_VIEW_STYLE_SECTION, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is TABLE_VIEW_STYLE_SECTION");
662 return GetCore().SetReorderModeEnabled(true);
666 _TableViewImpl::EndReorderingMode(void)
668 TableViewStyle style = GetCore().GetTableViewStyle();
669 SysTryReturn(NID_UI_CTRL, style != TABLE_VIEW_STYLE_SECTION, E_INVALID_OPERATION, E_INVALID_OPERATION, "[E_INVALID_OPERATION] The style of TableView is TABLE_VIEW_STYLE_SECTION");
671 return GetCore().SetReorderModeEnabled(false);
675 _TableViewImpl::IsInReorderingMode(void) const
677 return GetCore().IsReorderModeEnabled();
682 _TableViewImpl::OnTableViewItemStateChanged(Tizen::Ui::Controls::_TableView& tableView, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
684 if (__pTableViewEvent != null)
686 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(itemIndex, 0, 0, 0, pItem, static_cast<TableViewNotifyType>(status));
687 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
688 __pTableViewEvent->Fire(*pArg);
693 _TableViewImpl::OnTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::_TableView& tableView, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pContextItem, bool activated)
695 if (__pTableViewEvent != null)
697 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(itemIndex, 0, 0, 0, pContextItem, TABLEVIEW_NOTIFY_TYPE_CONTEXT_ITEM_ACTIVATION, activated);
698 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
699 __pTableViewEvent->Fire(*pArg);
704 _TableViewImpl::OnTableViewItemReordered(Tizen::Ui::Controls::_TableView& tableView, int itemIndexFrom, int itemIndexTo)
706 if (__pTableViewEvent != null)
708 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(itemIndexFrom, itemIndexTo, 0, 0, null, TABLEVIEW_NOTIFY_TYPE_REORDERED_ITEM);
709 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
710 __pTableViewEvent->Fire(*pArg);
715 _TableViewImpl::OnGroupedTableViewGroupItemStateChanged(Tizen::Ui::Controls::_TableView& tableView, int groupIndex, Tizen::Ui::Controls::_TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
717 if (__pTableViewEvent != null)
719 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(groupIndex, -1, 0, 0, pItem, static_cast<TableViewNotifyType>(status));
720 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
721 __pTableViewEvent->Fire(*pArg);
726 _TableViewImpl::OnGroupedTableViewItemStateChanged(Tizen::Ui::Controls::_TableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
728 if (__pTableViewEvent != null)
730 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(groupIndex, itemIndex, 0, 0, pItem, static_cast<TableViewNotifyType>(status));
731 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
732 __pTableViewEvent->Fire(*pArg);
737 _TableViewImpl::OnGroupedTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::_TableView& tableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pContextItem, bool activated)
739 if (__pTableViewEvent != null)
741 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(groupIndex, itemIndex, 0, 0, pContextItem, TABLEVIEW_NOTIFY_TYPE_CONTEXT_ITEM_ACTIVATION, activated);
742 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
743 __pTableViewEvent->Fire(*pArg);
748 _TableViewImpl::OnGroupedTableViewItemReordered(Tizen::Ui::Controls::_TableView& tableView, int groupIndexFrom, int itemIndexFrom, int groupIndexTo, int itemIndexTo)
750 if (__pTableViewEvent != null)
752 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(groupIndexFrom, itemIndexFrom, groupIndexTo, itemIndexTo, null, TABLEVIEW_NOTIFY_TYPE_REORDERED_ITEM);
753 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
754 __pTableViewEvent->Fire(*pArg);
760 _TableViewImpl::OnSectionTableViewItemStateChanged(Tizen::Ui::Controls::_TableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pItem, Tizen::Ui::Controls::TableViewItemStatus status)
762 if (__pTableViewEvent != null)
764 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(sectionIndex, itemIndex, 0, 0, pItem, static_cast<TableViewNotifyType>(status));
765 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
766 __pTableViewEvent->Fire(*pArg);
771 _TableViewImpl::OnSectionTableViewContextItemActivationStateChanged(Tizen::Ui::Controls::_TableView& tableView, int sectionIndex, int itemIndex, Tizen::Ui::Controls::_TableViewItem* pContextItem, bool activated)
773 if (__pTableViewEvent != null)
775 _TableViewItemEventArg* pArg = new (std::nothrow) _TableViewItemEventArg(sectionIndex, itemIndex, 0, 0, pContextItem, TABLEVIEW_NOTIFY_TYPE_CONTEXT_ITEM_ACTIVATION, activated);
776 SysTryReturnVoidResult(NID_UI_CTRL, pArg, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
777 __pTableViewEvent->Fire(*pArg);
782 _TableViewImpl::OnTableViewItemSwept(Tizen::Ui::Controls::_TableView& TableView, int groupIndex, int itemIndex, Tizen::Ui::Controls::TableViewSweepDirection direction)
784 // It's not used public method.
788 _TableViewImpl::OnScrollEndReached(_Control& source, ScrollEndEvent type)
790 if (__pScrollEvent != null)
792 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic(), type);
793 result r = GetLastResult();
794 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
796 __pScrollEvent->Fire(*pEventArg);
801 _TableViewImpl::OnScrollPositionChanged(_Control& source, int scrollPosition)
803 if (__pScrollEvent != null)
805 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic(), scrollPosition);
806 result r = GetLastResult();
807 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
809 __pScrollEvent->Fire(*pEventArg);
814 _TableViewImpl::OnScrollStopped(_Control& source)
816 if (__pScrollEvent != null)
818 _ScrollEventArg* pEventArg = _ScrollEventArg::GetScrollEventArgN(GetPublic());
819 result r = GetLastResult();
820 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
822 __pScrollEvent->Fire(*pEventArg);
827 _TableViewImpl::OnUiFastScrollIndexSelected(_Control& source, Tizen::Ui::Controls::_FastScrollIndex& index)
829 if (__pFastScrollEvent != null)
831 Tizen::Base::String* pIndexText = index.GetIndexText();
832 if (pIndexText != null)
834 _FastScrollEventArg* pEventArg = new (std::nothrow) _FastScrollEventArg(GetPublic(), *pIndexText);
835 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Failed to create _FastScrollEventArg.");
836 __pFastScrollEvent->Fire(*pEventArg);
842 _TableViewImpl::SetScrollInputMode(ScrollInputMode mode)
844 GetCore().SetScrollInputMode(mode);
848 _TableViewImpl::GetScrollInputMode(void) const
850 return GetCore().GetScrollInputMode();
854 class _TableViewMaker
855 : public _UiBuilderControlMaker
858 _TableViewMaker(_UiBuilder* uibuilder)
859 : _UiBuilderControlMaker(uibuilder){};
860 virtual ~_TableViewMaker(){};
861 static _UiBuilderControlMaker* GetInstance(_UiBuilder* uibuilder)
863 _TableViewMaker* pTableViewMaker = new (std::nothrow) _TableViewMaker(uibuilder);
864 SysTryReturn(NID_UI_CTRL, pTableViewMaker, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
865 return pTableViewMaker;
868 virtual Control* Make(_UiBuilderControl* pControl)
871 _UiBuilderControlLayout* pControlProperty = null;
872 TableView* pTableView = null;
875 Tizen::Base::String elementString;
876 bool itemDividerState = true;
877 TableViewScrollBarStyle scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
881 GetProperty(pControl, &pControlProperty);
882 if (pControlProperty == null)
887 pTableView = new (std::nothrow) TableView();
888 SysTryReturn(NID_UI_CTRL, pTableView, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
890 rect = pControlProperty->GetRect();
893 if (pControl->GetElement("itemDivider", elementString))
895 if (elementString.Equals(L"true", false))
897 itemDividerState = true;
901 itemDividerState = false;
905 if (pControl->GetElement("scrollBarStyle", elementString))
907 if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT", false))
909 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
911 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FIXED", false))
913 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FIXED;
915 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP", false))
917 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP;
919 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_THUMB", false))
921 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_THUMB;
923 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL", false))
925 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL;
929 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_NONE;
933 r = pTableView->Construct(rect, itemDividerState, scrollStyle);
934 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
936 if (scrollStyle == TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL)
938 Tizen::Base::String fastScrollIndex;
939 bool useSearchIcon = false;
941 if (pControl->GetElement("fastScrollIndex", elementString))
943 fastScrollIndex = elementString;
946 if (pControl->GetElement("useSearchIcon", elementString))
948 if (elementString.Equals(L"true", false))
950 useSearchIcon = true;
954 r = pTableView->SetFastScrollIndex(fastScrollIndex, useSearchIcon);
955 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
958 if (pControl->GetElement("backgroundColorOpacity", elementString))
960 Base::Integer::Parse(elementString, opacity);
963 if (pControl->GetElement("backgroundColor", elementString))
965 ConvertStringToColor32(elementString, opacity, color);
966 pTableView->SetBackgroundColor(color);
969 if (pControl->GetElement("itemDividerColor", elementString))
971 ConvertStringToColor(elementString, color);
972 pTableView->SetItemDividerColor(color);
975 if (pControl->GetElement("scrollInputMode", elementString))
977 ScrollInputMode scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
979 if (elementString.Equals(L"SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION", false))
981 scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
983 else if (elementString.Equals(L"SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION", false))
985 scrollInputMode = SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION;
988 pTableView->SetScrollInputMode(scrollInputMode);
999 }; // _TableViewMaker
1001 class _GroupedTableViewMaker
1002 : public _UiBuilderControlMaker
1005 _GroupedTableViewMaker(_UiBuilder* uibuilder)
1006 : _UiBuilderControlMaker(uibuilder){};
1007 virtual ~_GroupedTableViewMaker(){};
1008 static _UiBuilderControlMaker* GetInstance(_UiBuilder* uibuilder)
1010 _GroupedTableViewMaker* pTableViewMaker = new (std::nothrow) _GroupedTableViewMaker(uibuilder);
1011 SysTryReturn(NID_UI_CTRL, pTableViewMaker, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
1012 return pTableViewMaker;
1015 virtual Control* Make(_UiBuilderControl* pControl)
1017 result r = E_SYSTEM;
1018 _UiBuilderControlLayout* pControlProperty = null;
1019 GroupedTableView* pTableView = null;
1022 Tizen::Base::String elementString;
1023 bool itemDividerState = true;
1024 TableViewScrollBarStyle scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
1028 GetProperty(pControl, &pControlProperty);
1029 if (pControlProperty == null)
1034 pTableView = new (std::nothrow) GroupedTableView();
1035 SysTryReturn(NID_UI_CTRL, pTableView, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
1037 rect = pControlProperty->GetRect();
1040 if (pControl->GetElement("itemDivider", elementString))
1042 if (elementString.Equals(L"true", false))
1044 itemDividerState = true;
1048 itemDividerState = false;
1052 if (pControl->GetElement("scrollBarStyle", elementString))
1054 if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT", false))
1056 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
1058 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FIXED", false))
1060 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FIXED;
1062 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP", false))
1064 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP;
1066 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_THUMB", false))
1068 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_THUMB;
1070 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL", false))
1072 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL;
1076 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_NONE;
1080 r = pTableView->Construct(rect, itemDividerState, scrollStyle);
1081 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1083 if (scrollStyle == TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL)
1085 Tizen::Base::String fastScrollIndex;
1086 bool useSearchIcon = false;
1088 if (pControl->GetElement("fastScrollIndex", elementString))
1090 fastScrollIndex = elementString;
1093 if (pControl->GetElement("useSearchIcon", elementString))
1095 if (elementString.Equals(L"true", false))
1097 useSearchIcon = true;
1101 useSearchIcon = false;
1105 r = pTableView->SetFastScrollIndex(fastScrollIndex, useSearchIcon);
1106 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1109 if (pControl->GetElement("backgroundColorOpacity", elementString))
1111 Base::Integer::Parse(elementString, opacity);
1114 if (pControl->GetElement("backgroundColor", elementString))
1116 ConvertStringToColor32(elementString, opacity, color);
1117 pTableView->SetBackgroundColor(color);
1120 if (pControl->GetElement("itemDividerColor", elementString))
1122 ConvertStringToColor(elementString, color);
1123 pTableView->SetItemDividerColor(color);
1126 if (pControl->GetElement("groupedLookEnabled", elementString))
1128 bool groupedLookEnabled = false;
1130 if (elementString.Equals(L"true", false))
1132 groupedLookEnabled = true;
1135 pTableView->SetGroupedLookEnabled(groupedLookEnabled);
1138 if (pControl->GetElement("collapseByPinchEnabled", elementString))
1140 bool collapseByPinchEnabled = false;
1142 if (elementString.Equals(L"true", false))
1144 collapseByPinchEnabled = true;
1147 pTableView->SetCollapseByPinchGestureEnabled(collapseByPinchEnabled);
1150 if (pControl->GetElement("scrollInputMode", elementString))
1152 ScrollInputMode scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
1154 if (elementString.Equals(L"SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION", false))
1156 scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
1158 else if (elementString.Equals(L"SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION", false))
1160 scrollInputMode = SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION;
1163 pTableView->SetScrollInputMode(scrollInputMode);
1174 }; // _GroupedTableViewMaker
1176 class _SectionTableViewMaker
1177 : public _UiBuilderControlMaker
1180 _SectionTableViewMaker(_UiBuilder* uibuilder)
1181 : _UiBuilderControlMaker(uibuilder){};
1182 virtual ~_SectionTableViewMaker(){};
1183 static _UiBuilderControlMaker* GetInstance(_UiBuilder* uibuilder)
1185 _SectionTableViewMaker* pTableViewMaker = new (std::nothrow) _SectionTableViewMaker(uibuilder);
1186 SysTryReturn(NID_UI_CTRL, pTableViewMaker, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
1187 return pTableViewMaker;
1190 virtual Control* Make(_UiBuilderControl* pControl)
1192 result r = E_SYSTEM;
1193 _UiBuilderControlLayout* pControlProperty = null;
1194 SectionTableView* pTableView = null;
1197 Tizen::Base::String elementString;
1198 bool itemDividerState = true;
1199 TableViewScrollBarStyle scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
1203 GetProperty(pControl, &pControlProperty);
1204 if (pControlProperty == null)
1209 pTableView = new (std::nothrow) SectionTableView();
1210 SysTryReturn(NID_UI_CTRL, pTableView, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
1212 rect = pControlProperty->GetRect();
1215 if (pControl->GetElement("itemDivider", elementString))
1217 if (elementString.Equals(L"true", false))
1219 itemDividerState = true;
1223 itemDividerState = false;
1227 if (pControl->GetElement("scrollBarStyle", elementString))
1229 if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT", false))
1231 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FADE_OUT;
1233 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FIXED", false))
1235 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FIXED;
1237 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP", false))
1239 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_JUMP_TO_TOP;
1241 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_THUMB", false))
1243 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_THUMB;
1245 else if (elementString.Equals(L"TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL", false))
1247 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL;
1251 scrollStyle = TABLE_VIEW_SCROLL_BAR_STYLE_NONE;
1255 r = pTableView->Construct(rect, itemDividerState, scrollStyle);
1256 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1258 if (scrollStyle == TABLE_VIEW_SCROLL_BAR_STYLE_FAST_SCROLL)
1260 Tizen::Base::String fastScrollIndex;
1261 bool useSearchIcon = false;
1263 if (pControl->GetElement("fastScrollIndex", elementString))
1265 fastScrollIndex = elementString;
1268 if (pControl->GetElement("useSearchIcon", elementString))
1270 if (elementString.Equals(L"true", false))
1272 useSearchIcon = true;
1276 useSearchIcon = false;
1280 r = pTableView->SetFastScrollIndex(fastScrollIndex, useSearchIcon);
1281 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1284 if (pControl->GetElement("backgroundColorOpacity", elementString))
1286 Base::Integer::Parse(elementString, opacity);
1289 if (pControl->GetElement("backgroundColor", elementString))
1291 ConvertStringToColor32(elementString, opacity, color);
1292 pTableView->SetBackgroundColor(color);
1295 if (pControl->GetElement("itemDividerColor", elementString))
1297 ConvertStringToColor(elementString, color);
1298 pTableView->SetItemDividerColor(color);
1301 if (pControl->GetElement("groupedLookEnabled", elementString))
1303 bool groupedLookEnabled = false;
1305 if (elementString.Equals(L"true", false))
1307 groupedLookEnabled = true;
1310 pTableView->SetGroupedLookEnabled(groupedLookEnabled);
1313 if (pControl->GetElement("sectionColor", elementString))
1315 ConvertStringToColor(elementString, color);
1316 pTableView->SetSectionColor(color);
1319 if (pControl->GetElement("scrollInputMode", elementString))
1321 ScrollInputMode scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
1323 if (elementString.Equals(L"SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION", false))
1325 scrollInputMode = SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION;
1327 else if (elementString.Equals(L"SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION", false))
1329 scrollInputMode = SCROLL_INPUT_MODE_RESTRICT_TO_INITIAL_DIRECTION;
1332 pTableView->SetScrollInputMode(scrollInputMode);
1343 }; // _SectionTableViewMaker
1346 _TableViewRegister::_TableViewRegister()
1348 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1349 pUiBuilderControlTableManager->RegisterControl(L"TableView", _TableViewMaker::GetInstance);
1351 _TableViewRegister::~_TableViewRegister()
1353 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1354 pUiBuilderControlTableManager->UnregisterControl(L"TableView");
1357 _GroupedTableViewRegister::_GroupedTableViewRegister()
1359 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1360 pUiBuilderControlTableManager->RegisterControl(L"GroupedTableView", _GroupedTableViewMaker::GetInstance);
1362 _GroupedTableViewRegister::~_GroupedTableViewRegister()
1364 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1365 pUiBuilderControlTableManager->UnregisterControl(L"GroupedTableView");
1368 _SectionTableViewRegister::_SectionTableViewRegister()
1370 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1371 pUiBuilderControlTableManager->RegisterControl(L"SectionTableView", _SectionTableViewMaker::GetInstance);
1373 _SectionTableViewRegister::~_SectionTableViewRegister()
1375 _UiBuilderControlTableManager* pUiBuilderControlTableManager = _UiBuilderControlTableManager::GetInstance();
1376 pUiBuilderControlTableManager->UnregisterControl(L"SectionTableView");
1380 static _TableViewRegister TableViewRegisterToUiBuilder;
1381 static _GroupedTableViewRegister GroupedTableViewRegisterToUiBuilder;
1382 static _SectionTableViewRegister SectionTableViewRegisterToUiBuilder;
1385 }}} // Tizen::Ui::Controls