remove APIs to apply [ACR][03/30][Remove] Remove APIs in Tizen::Ui namespace
[platform/framework/native/uifw.git] / src / ui / controls / FUiCtrlSlidableGroupedList.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17
18 /**
19  * @file        FUiCtrlSlidableGroupedList.cpp
20  * @brief       This is the implementation file for SlidableGroupedList class.
21  *
22  * This file contains the implementation of SlidableGroupedList class.
23  */
24
25 #include <FUiCtrlSlidableGroupedList.h>
26 #include <FBaseSysLog.h>
27 #include "FUiCtrl_SlidableGroupedListImpl.h"
28 #include "FUiCtrl_CustomListImpl.h"
29
30 using namespace Tizen::Base;
31 using namespace Tizen::App;
32 using namespace Tizen::Ui;
33 using namespace Tizen::Ui::Controls;
34 using namespace Tizen::Graphics;
35 using namespace Tizen::Media;
36 using namespace Tizen::Base::Collection;
37
38
39 namespace Tizen { namespace Ui { namespace Controls
40 {
41
42 SlidableGroupedList::SlidableGroupedList(void)
43 {
44 }
45
46 SlidableGroupedList::~SlidableGroupedList(void)
47 {
48 }
49
50 result
51 SlidableGroupedList::Construct(const Rectangle& rect, CustomListStyle style, bool itemDivider, bool bFastScroll)
52 {
53         result r = E_SUCCESS;
54
55         SysAssertf((_SlidableGroupedListImpl::GetInstance(*this) == null), "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
56
57         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::CreateSlidableGroupedListImplN(this, itemDivider, bFastScroll);
58         r = GetLastResult();
59         SysTryReturn(NID_UI_CTRL, pImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
60
61         _pControlImpl = pImpl;
62
63         r = Control::SetBounds(rect.x, rect.y, rect.width, rect.height);
64         SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
65
66         r = pImpl->SetListStyle(style);
67         SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
68
69         r = pImpl->LoadDefaultBitmap();
70         SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
71
72         pImpl->Initialize();
73
74         return E_SUCCESS;
75
76 CATCH:
77         Dispose();
78         return r;
79
80 }
81
82 void
83 SlidableGroupedList::AddSlidableGroupedListEventListener(ISlidableGroupedListEventListener& listener)
84 {
85         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
86
87         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
88
89         pImpl->AddSlidableGroupedListEventListener(listener);
90 }
91
92 void
93 SlidableGroupedList::RemoveSlidableGroupedListEventListener(ISlidableGroupedListEventListener& listener)
94 {
95         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
96
97         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
98
99         pImpl->RemoveSlidableGroupedListEventListener(listener);
100 }
101
102 result
103 SlidableGroupedList::LoadItemToTop(const CustomListItem& item, int itemId)
104 {
105         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
106
107         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
108
109         result r = pImpl->LoadItemToTop(item, itemId);
110         SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
111
112         return E_SUCCESS;
113 }
114
115 result
116 SlidableGroupedList::LoadItemToBottom(const CustomListItem& item, int itemId)
117 {
118         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
119
120         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
121
122         result r = pImpl->LoadItemToBottom(item, itemId);
123         SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
124
125         return E_SUCCESS;
126 }
127
128 result
129 SlidableGroupedList::UnloadAllItems(void)
130 {
131         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
132         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
133
134         return pImpl->UnloadAllItems();
135 }
136
137 result
138 SlidableGroupedList::RemoveAllItemsAt(int groupIndex)
139 {
140         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
141
142         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
143
144         return pImpl->RemoveAllItemsAt(groupIndex);
145 }
146
147 result
148 SlidableGroupedList::RemoveAllItems(void)
149 {
150         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
151
152         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
153
154         return pImpl->RemoveAllItems();
155 }
156
157 void
158 SlidableGroupedList::RemoveFastScrollEventListener(IFastScrollEventListener& listener)
159 {
160         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
161
162         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
163
164         pImpl->RemoveFastScrollEventListener(listener);
165 }
166
167 void
168 SlidableGroupedList::RemoveGroupedItemEventListener(IGroupedItemEventListener& listener)
169 {
170         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
171
172         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
173
174         pImpl->RemoveGroupedItemEventListener(listener);
175 }
176
177 void
178 SlidableGroupedList::ScrollToBottom(void)
179 {
180         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
181
182         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
183
184         pImpl->ScrollToBottom();
185 }
186
187 void
188 SlidableGroupedList::ScrollToTop(void)
189 {
190         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
191
192         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
193
194         pImpl->ScrollToTop();
195 }
196
197 result
198 SlidableGroupedList::ScrollToTop(int groupIndex, int itemIndex)
199 {
200         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
201
202         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
203
204         return pImpl->ScrollToTop(groupIndex, itemIndex);
205 }
206
207 result
208 SlidableGroupedList::ScrollToTop(int groupIndex)
209 {
210         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
211
212         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
213
214         return pImpl->ScrollToTop(groupIndex);
215 }
216
217 result
218 SlidableGroupedList::SetAllItemsChecked(int groupIndex, bool check)
219 {
220         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
221
222         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
223
224         return pImpl->SetAllItemsChecked(groupIndex, check);
225 }
226
227 result
228 SlidableGroupedList::SetGroupAt(int groupIndex, const String& text, const Bitmap* pBackgroundBitmap, int groupId)
229 {
230         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
231
232         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
233
234         return pImpl->SetGroupAt(groupIndex, text, pBackgroundBitmap, groupId);
235
236 }
237
238 result
239 SlidableGroupedList::SetItemChecked(int groupIndex, int index, bool check)
240 {
241         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
242
243         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
244
245         return pImpl->SetItemChecked(groupIndex, index, check);
246 }
247
248 result
249 SlidableGroupedList::SetLoadedItemEnabled(int groupIndex, int index, bool enable)
250 {
251         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
252
253         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
254
255         return pImpl->SetLoadedItemEnabled(groupIndex, index, enable);
256 }
257
258 result
259 SlidableGroupedList::RemoveAllCheckedItemsAt(int groupIndex, int itemHeight)
260 {
261         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
262
263         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
264
265         return pImpl->RemoveAllCheckedItemsAt(groupIndex, itemHeight);
266 }
267
268
269 result
270 SlidableGroupedList::RemoveItemAt(int groupIndex, int index, int itemHeight)
271 {
272         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
273
274         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
275
276         return pImpl->RemoveItemAt(groupIndex, index, itemHeight);
277 }
278
279 result
280 SlidableGroupedList::RemoveGroupAt(int groupIndex)
281 {
282         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
283
284         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
285
286         return pImpl->RemoveGroupAt(groupIndex);
287 }
288
289 const CustomListItem*
290 SlidableGroupedList::GetLoadedItemAt(int groupIndex, int index) const
291 {
292         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
293
294         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
295
296         return pImpl->GetLoadedItemAt(groupIndex, index);
297 }
298
299 int
300 SlidableGroupedList::GetLoadedItemIdAt(int groupIndex, int index) const
301 {
302         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
303
304         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
305
306         return pImpl->GetLoadedItemIdAt(groupIndex, index);
307 }
308
309 result
310 SlidableGroupedList::GetLoadedItemIndexFromItemId(int itemId, int& groupIndex, int& itemIndex) const
311 {
312         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
313
314         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
315
316         return pImpl->GetLoadedItemIndexFromItemId(itemId, groupIndex, itemIndex);
317 }
318
319 result
320 SlidableGroupedList::RemoveAllCheckedItems(int height)
321 {
322         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
323
324         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
325
326         return pImpl->RemoveAllCheckedItems(height);
327 }
328
329 result
330 SlidableGroupedList::GetFirstLoadedItemIndex(int& groupIndex, int& itemIndex) const
331 {
332         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
333
334         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
335
336         return pImpl->GetFirstLoadedItemIndex(groupIndex, itemIndex);
337 }
338
339 result
340 SlidableGroupedList::GetLastLoadedItemIndex(int& groupIndex, int& itemIndex) const
341 {
342         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
343
344         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
345
346         return pImpl->GetLastLoadedItemIndex(groupIndex, itemIndex);
347 }
348
349 result
350 SlidableGroupedList::SetFastScrollMainIndex(const String& text)
351 {
352         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
353
354         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
355
356         return pImpl->SetFastScrollMainIndex(text);
357 }
358
359 void
360 SlidableGroupedList::SetBackgroundColor(const Color& color)
361 {
362         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
363
364         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
365
366         pImpl->SetBackgroundColor(color);
367 }
368
369 void
370 SlidableGroupedList::SetTextOfEmptyList(const String& text)
371 {
372         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
373
374         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
375
376         pImpl->SetTextOfEmptyList(text);
377 }
378
379 void
380 SlidableGroupedList::SetTextColorOfEmptyList(const Color& color)
381 {
382         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
383
384         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
385
386         pImpl->SetTextColorOfEmptyList(color);
387 }
388
389 Color
390 SlidableGroupedList::GetTextColorOfEmptyList(void) const
391 {
392         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
393
394         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
395
396         return pImpl->GetTextColorOfEmptyList();
397 }
398
399 result
400 SlidableGroupedList::SetItemAt(int groupIndex, int itemIndex, const CustomListItem& item, int itemId)
401 {
402         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
403
404         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
405
406         return pImpl->SetItemAt(groupIndex, itemIndex, item, itemId);
407 }
408
409 void
410 SlidableGroupedList::AddFastScrollEventListener(IFastScrollEventListener& listener)
411 {
412         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
413
414         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
415
416         pImpl->AddFastScrollEventListener(listener);
417 }
418
419 result
420 SlidableGroupedList::AddGroup(const String& text, const Bitmap* pBackgroundBitmap, int itemCount, int groupHeight, int groupId)
421 {
422         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
423
424         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
425
426         return pImpl->AddGroup(text, pBackgroundBitmap, itemCount, groupHeight, groupId);
427 }
428
429 void
430 SlidableGroupedList::AddGroupedItemEventListener(IGroupedItemEventListener& listener)
431 {
432         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
433
434         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
435
436         pImpl->AddGroupedItemEventListener(listener);
437 }
438
439 result
440 SlidableGroupedList::AddItem(int groupIndex, const CustomListItem& item, int itemId)
441 {
442         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
443
444         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
445
446         return pImpl->AddItem(groupIndex, item, itemId);
447 }
448
449 result
450 SlidableGroupedList::GetBottomDrawnItemIndex(int& groupIndex, int& itemIndex) const
451 {
452         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
453
454         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
455
456         return pImpl->GetBottomDrawnItemIndex(groupIndex, itemIndex);
457 }
458
459 result
460 SlidableGroupedList::GetFirstCheckedItemIndex(int& groupIndex, int& itemIndex) const
461 {
462         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
463
464         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
465
466         return pImpl->GetFirstCheckedItemIndex(groupIndex, itemIndex);
467 }
468
469 int
470 SlidableGroupedList::GetGroupIdAt(int groupIndex) const
471 {
472         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
473
474         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
475
476         return pImpl->GetGroupIdAt(groupIndex);
477 }
478
479 int
480 SlidableGroupedList::GetGroupIndexFromGroupId(int groupId) const
481 {
482         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
483
484         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
485
486         return pImpl->GetGroupIndexFromGroupId(groupId);
487 }
488
489 result
490 SlidableGroupedList::GetLastCheckedItemIndex(int& groupIndex, int& itemIndex) const
491 {
492         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
493
494         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
495
496         return pImpl->GetLastCheckedItemIndex(groupIndex, itemIndex);
497 }
498
499 result
500 SlidableGroupedList::GetNextCheckedItemIndexAfter(int& groupIndex, int& index) const
501 {
502         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
503
504         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
505
506         return pImpl->GetNextCheckedItemIndexAfter(groupIndex, index);
507 }
508
509 result
510 SlidableGroupedList::GetTopDrawnItemIndex(int& groupIndex, int& itemIndex) const
511 {
512         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
513
514         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
515
516         return pImpl->GetTopDrawnItemIndex(groupIndex, itemIndex);
517 }
518
519 result
520 SlidableGroupedList::GetItemIndexFromPosition(int x, int y, int& groupIndex, int& itemIndex) const
521 {
522         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
523
524         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
525
526         return pImpl->GetItemIndexFromPosition(x, y, groupIndex, itemIndex);
527 }
528
529 result
530 SlidableGroupedList::GetItemIndexFromPosition(const Point& position, int& groupIndex, int& itemIndex) const
531 {
532         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
533
534         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
535
536         return pImpl->GetItemIndexFromPosition(position, groupIndex, itemIndex);
537 }
538
539 result
540 SlidableGroupedList::InsertGroupAt(int groupIndex, const String& text, const Bitmap* pBackgroundBitmap, int itemCount, int groupHeight, int groupId)
541 {
542         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
543
544         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
545
546         return pImpl->InsertGroupAt(groupIndex, text, pBackgroundBitmap, itemCount, groupHeight, groupId);
547 }
548
549 bool
550 SlidableGroupedList::IsItemChecked(int groupIndex, int index) const
551 {
552         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
553
554         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
555
556         return pImpl->IsItemChecked(groupIndex, index);
557 }
558
559 bool
560 SlidableGroupedList::IsLoadedItemEnabled(int groupIndex, int index) const
561 {
562         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
563
564         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
565
566         return pImpl->IsLoadedItemEnabled(groupIndex, index);
567 }
568
569 bool
570 SlidableGroupedList::IsItemLoaded(int groupIndex, int itemIndex) const
571 {
572         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
573
574         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
575
576         return pImpl->IsItemLoaded(groupIndex, itemIndex);
577 }
578
579 result
580 SlidableGroupedList::RemoveAllGroups(void)
581 {
582         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
583
584         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
585
586         return pImpl->RemoveAllGroups();
587 }
588
589 int
590 SlidableGroupedList::GetGroupCount(void) const
591 {
592         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
593
594         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
595
596         return pImpl->GetGroupCount();
597 }
598
599 result
600 SlidableGroupedList::InsertItemAt(int groupIndex, int index, const CustomListItem& item, int itemId)
601 {
602         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
603
604         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
605
606         return pImpl->InsertItemAt(groupIndex, index, item, itemId);
607 }
608
609 int
610 SlidableGroupedList::GetItemCountAt(int groupIndex) const
611 {
612         const _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
613
614         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
615
616         return pImpl->GetItemCountAt(groupIndex);
617 }
618
619 result
620 SlidableGroupedList::RefreshItem(int groupIndex, int index)
621 {
622         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
623
624         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
625
626         return pImpl->RefreshItem(groupIndex, index);
627 }
628
629 result
630 SlidableGroupedList::RefreshGroup(int groupIndex)
631 {
632         _SlidableGroupedListImpl* pImpl = _SlidableGroupedListImpl::GetInstance(*this);
633
634         SysAssertf(pImpl != null, "Not yet constructed. Construct() should be called before use.");
635
636         return pImpl->RefreshGroup(groupIndex);
637 }
638
639 }}} //Tizen::Ui::Controls