Fork for IVI: mesa fixing
[profile/ivi/uifw.git] / inc / FUiCtrlIconList.h
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  * @file        FUiCtrlIconList.h
19  * @brief       This is the header file for the %IconList class.
20  *
21  * This header file contains the declarations of the %IconList class and its helper classes.
22  */
23
24 #ifndef _FUI_CTRL_ICON_LIST_H_
25 #define _FUI_CTRL_ICON_LIST_H_
26
27 #include <FBaseObject.h>
28 #include <FBaseTypes.h>
29 #include <FGrpRectangle.h>
30 #include <FUiContainer.h>
31 #include <FUiCtrlIconListTypes.h>
32 #include <FUiCtrlListTypes.h>
33 #include <FUiCtrlControlsTypes.h>
34 #include <FUiIItemEventListener.h>
35
36 // forward declarations
37 namespace Tizen { namespace Ui { namespace Controls
38 {
39
40 /**
41  * @if OSPDEPREC
42  * @class       IconList
43  * @brief  <i> [Deprecated] </i>  This class defines the common behavior of an %IconList control.
44  *
45  * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
46  * @since               2.0
47  *
48  * @remarks     %IconList can display a maximum of 64 items on the screen at once (for example, 8 x 8 grid).
49  * %IconList is not drawn properly when it is resized.
50  *
51  * The %IconList class can be used to display a list of bitmap images and icons. When
52  * a list item (or icon) is pressed by the user, an item event is generated and the
53  * item event listeners are called to notify the change in the
54  * item's state (ITEM_CHECKED, ITEM_UNCHECKED and ITEM_SELECTED).
55  *
56  * When %IconList's style is set as ICON_LIST_STYLE_RADIO, only one item
57  * can be "selected" at a time. Whereas, if ICON_LIST_STYLE_MARK is set as
58  * the %IconList's style, multiple items can be "checked" at the same time.
59  * However, no item can be selected or checked when %IconList's style is set as
60  * ICON_LIST_STYLE_NORMAL.
61  *
62  * When a list item is selected by the user, the "focused" bitmap image is displayed
63  * instead of item's "normal" bitmap image.
64  *
65  * Please note that any image resources (bitmaps) that are allocated by application
66  * must be freed after they are passed to Additem()/InsertItem()/SetItem() to
67  * minimize memory usage. @n
68  *
69  * Example:
70  *
71  * @image html ui_controls_iconlist.png
72  *
73  *@n
74  * This is a simple UI application which uses a icon list control.
75  *
76  *
77  * @code
78 //Sample code for IconListSample.h
79 #include <FUi.h>
80
81 class IconListSample
82         : public Tizen::Ui::Controls::Form
83         , public Tizen::Ui::IItemEventListener
84 {
85 public:
86         IconListSample(void)
87         : __pIconList(null){}
88
89         bool Initialize(void);
90         virtual result OnInitializing(void);
91
92         // IItemEventListener
93         virtual void OnItemStateChanged(const Tizen::Ui::Control &source, int index, int itemId, Tizen::Ui::ItemStatus status);
94
95 private:
96         static const int ID_LIST_FIRSTITEM = 101;
97         static const int ID_LIST_SECONDITEM = 102;
98
99         Tizen::Ui::Controls::IconList *__pIconList;
100 };
101  *      @endcode
102  *
103  *      @code
104 //Sample code for IconListSample.cpp
105 #include <FApp.h>
106 #include <FGraphics.h>
107
108 #include "IconListSample.h"
109
110 using namespace Tizen::App;
111 using namespace Tizen::Base;
112 using namespace Tizen::Ui;
113 using namespace Tizen::Ui::Controls;
114 using namespace Tizen::Graphics;
115
116 bool
117 IconListSample::Initialize(void)
118 {
119         Construct(FORM_STYLE_NORMAL);
120         return true;
121 }
122
123 result
124 IconListSample::OnInitializing(void)
125 {
126         result r = E_SUCCESS;
127
128         // Creates an instance of IconList
129         __pIconList = new IconList();
130         __pIconList->Construct(Rectangle(0, 100, GetClientAreaBounds().width, GetClientAreaBounds().height), ICON_LIST_STYLE_NORMAL, 96, 96);
131         __pIconList->AddItemEventListener(*this);
132
133         // Creates instances of String
134         String itemText1(L"Item1");
135         String itemText2(L"Item2");
136
137         // Gets instances of Bitmap
138         AppResource* pAppResource = Application::GetInstance()->GetAppResource();
139         Bitmap *pBitmapNormal1  = pAppResource->GetBitmapN(L"call.png");
140         Bitmap *pBitmapFocused1 = pAppResource->GetBitmapN(L"call_focused.png");
141         Bitmap *pBitmapNormal2  = pAppResource->GetBitmapN(L"home.png");
142         Bitmap *pBitmapFocused2 = pAppResource->GetBitmapN(L"home_focused.png");
143
144         // Adds the items to the icon list
145         __pIconList->AddItem(&itemText1, pBitmapNormal1, pBitmapFocused1, ID_LIST_FIRSTITEM);
146         __pIconList->AddItem(&itemText2, pBitmapNormal2, pBitmapFocused2, ID_LIST_SECONDITEM);
147
148         // Adds the icon list to the form
149         AddControl(*__pIconList);
150
151         // Deallocates bitmaps
152         delete pBitmapNormal1;
153         delete pBitmapFocused1;
154         delete pBitmapNormal2;
155         delete pBitmapFocused2;
156
157         return r;
158 }
159
160 // IItemEventListener implementation
161 void
162 IconListSample::OnItemStateChanged (const Control &source, int index, int itemId, ItemStatus status)
163 {
164         switch (itemId)
165         {
166         case ID_LIST_FIRSTITEM:
167                 {
168                         // ....
169                 }
170                 break;
171         case ID_LIST_SECONDITEM:
172                 {
173                         // ....
174                 }
175                 break;
176         default:
177                 break;
178         }
179 }
180  * @endcode
181  * @endif
182  */
183 class _OSP_EXPORT_ IconList
184         : public Tizen::Ui::Control
185 {
186 public:
187         /**
188          * @if OSPDEPREC
189          * The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor.
190          *
191          * @brief       <i> [Deprecated] </i>
192          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
193          * @since       2.0
194          * @endif
195          */
196         IconList(void);
197
198         /**
199          * @if OSPDEPREC
200          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
201          *
202          * @brief       <i> [Deprecated] </i>
203          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
204          * @since       2.0
205          * @endif
206          */
207         virtual ~IconList(void);
208
209 public:
210         /**
211          * @if OSPDEPREC
212          * Initializes this instance of %IconList with the specified parameters.
213          *
214          * @brief       <i> [Deprecated] </i>
215          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
216          * @since                       2.0
217          *
218          * @return              An error code
219          * @param[in]   rect            An instance of the Graphics::Rectangle class @n
220          *                                                      This instance represents the X and Y coordinates of the top-left corner of the created %IconList along with
221          *                                                      the width and height. @n
222          * @param[in]   style                   The style set of %IconList
223          * @param[in]   itemWidth               The width of the items in the %IconList
224          * @param[in]   itemHeight              The height of the items in the %IconList
225          * @exception   E_SUCCESS               The method is successful.
226          * @exception   E_INVALID_ARG   A specified input parameter is invalid.
227          * @exception   E_SYSTEM                A system error has occurred.
228          * @remarks             A control is fully usable only after it has been added to a container, therefore some methods may fail if used earlier.
229          * @remarks             The %IconList cannot display more than 64 items on screen at once.
230          * @remarks             The size of the control must be within the range defined by the minimum and maximum size.
231          * @remarks             The minimum size of this control is 0 x 0.
232          * @endif
233          */
234         result Construct(const Tizen::Graphics::Rectangle& rect, IconListStyle style, int itemWidth, int itemHeight);
235
236
237 // Operation
238         /**
239          * @if OSPDEPREC
240          * Adds a listener instance. @n
241          * The added listener can listen to item events when they are fired. Only an item event with the ITEM_SELECTED state is fired.
242          *
243          * @brief       <i> [Deprecated] </i>
244          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
245          * @since               2.0
246          *
247          * @param[in]   listener    The listener to be added
248          * @endif
249          */
250         void AddItemEventListener(Tizen::Ui::IItemEventListener& listener);
251
252         /**
253          * @if OSPDEPREC
254          * Removes a listener instance. @n
255          * The removed listener cannot listen to events when they are fired.
256          *
257          * @brief       <i> [Deprecated] </i>
258          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
259          * @since               2.0
260          *
261          * @param[in]   listener    The listener to be removed
262          * @endif
263          */
264         void RemoveItemEventListener(Tizen::Ui::IItemEventListener& listener);
265
266         /**
267          * @if OSPDEPREC
268          * Sets the background bitmap of the %IconList control.
269          *
270          * @brief       <i> [Deprecated] </i>
271          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
272          * @since               2.0
273          *
274          * @param[in]   bitmap          The background bitmap
275          * @endif
276          */
277         void SetBackgroundBitmap(const Tizen::Graphics::Bitmap& bitmap);
278
279         /**
280          * @if OSPDEPREC
281          * Sets the top and left margins of the items for %IconList.
282          *
283          * @brief       <i> [Deprecated] </i>
284          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
285          * @since               2.0
286          *
287          * @return              An error code
288          * @param[in]   topMargin                       The top margin of the background bitmap
289          * @param[in]   leftMargin                      The left margin of the background bitmap
290          * @exception   E_SUCCESS                       The method is successful.
291          * @exception   E_SYSTEM                        A system error has occurred.
292          * @remarks             The %IconList cannot display more than 64 items on screen at once.
293          * @endif
294          */
295         result SetMargin(int topMargin, int leftMargin);
296
297
298         /**
299          * @if OSPDEPREC
300          * Gets the top margin of the items for the %IconList control.
301          *
302          * @brief       <i> [Deprecated] </i>
303          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
304          * @since               2.0
305          *
306          * @return              The top margin of the background bitmap
307          * @endif
308          */
309         int GetTopMargin(void) const;
310
311         /**
312          * @if OSPDEPREC
313          * Gets the left margin of the items for the %IconList control.
314          *
315          * @brief       <i> [Deprecated] </i>
316          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
317          * @since               2.0
318          *
319          * @return              The left margin of the background bitmap
320          * @endif
321          */
322         int GetLeftMargin(void) const;
323
324         /**
325          * @if OSPDEPREC
326          * Adds a list item with the specified text and bitmap images to the %IconList control.
327          *
328          * @brief       <i> [Deprecated] </i>
329          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
330          * @since               2.0
331          *
332          * @return              An error code
333          * @param[in]   pText                   The item text
334          * @param[in]   pNormalBitmap   The default bitmap image
335          * @param[in]   pFocusedBitmap  The displayed bitmap image when an item is selected
336          * @param[in]   itemId              The item ID
337          * @exception   E_SUCCESS               The method is successful.
338          * @exception   E_SYSTEM                A system error has occurred.
339          * @remarks         The contents of the specified texts and bitmaps are copied and kept by %List.
340          *                              To display text in multi-lines or to denote the end of line, use '\\n'.
341          * @endif
342          */
343         result AddItem(const Tizen::Base::String* pText, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pFocusedBitmap, int itemId = LIST_ITEM_UNSPECIFIED_ID);
344
345
346         /**
347          * @if OSPDEPREC
348          * Inserts the specified text and bitmap item in the specified index of the specified %IconList.
349          *
350          * @brief       <i> [Deprecated] </i>
351          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
352          * @since               2.0
353          *
354          * @return              An error code
355          * @param[in]   index                   The item text
356          * @param[in]   pText                   The text item to be added
357          * @param[in]   pNormalBitmap   The default bitmap image
358          * @param[in]   pFocusedBitmap  The displayed bitmap image when an item is selected
359          * @param[in]   itemId                  The item ID
360          * @exception   E_SUCCESS               The method is successful.
361          * @exception   E_SYSTEM                A system error has occurred.
362          * @remarks             The contents of the specified texts and bitmaps are copied and kept by %IconList.
363          *                              To display text in multi-lines or to denote the end of line, use '\\n'.
364          * @endif
365          */
366         result InsertItemAt(int index, const Tizen::Base::String* pText, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pFocusedBitmap, int itemId = LIST_ITEM_UNSPECIFIED_ID);
367
368
369         /**
370          * @if OSPDEPREC
371          * Sets the specified text and bitmap item in the specified index of the specified %IconList.
372          *
373          * @brief       <i> [Deprecated] </i>
374          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
375          * @since               2.0
376          *
377          * @return              An error code
378          * @param[in]   index                   The index of the List item
379          * @param[in]   pText                   The item text
380          * @param[in]   pNormalBitmap   The default bitmap image
381          * @param[in]   pFocusedBitmap  The displayed bitmap image when an item is selected
382          * @param[in]   itemId              The item ID
383          * @exception   E_SUCCESS               The method is successful.
384          * @exception   E_SYSTEM                A system error has occurred.
385          * @remarks             The contents of the specified texts and bitmaps are copied and kept by %IconList.
386          *                          Call RefreshItem() to update item images.
387          *                              To display text in multi-lines or to denote the end of line, use '\\n'.
388          * @endif
389          */
390         result SetItemAt(int index, const Tizen::Base::String* pText, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pFocusedBitmap, int itemId = LIST_ITEM_UNSPECIFIED_ID);
391
392
393         /**
394          * @if OSPDEPREC
395          * Removes the item at the specified index.
396          *
397          * @brief       <i> [Deprecated] </i>
398          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
399          * @since               2.0
400          *
401          * @return              An error code
402          * @param[in]   index                   The index of the %IconList item
403          * @exception   E_SUCCESS               The method is successful.
404          * @exception   E_SYSTEM                A system error has occurred.
405          * @endif
406          */
407         result RemoveItemAt(int index);
408
409         /**
410          * @if OSPDEPREC
411          * Removes all items of the %IconList control.
412          *
413          * @brief       <i> [Deprecated] </i>
414          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
415          * @since               2.0
416          *
417          * @return              An error code
418          * @exception   E_SUCCESS               The method is successful.
419          * @exception   E_SYSTEM                A system error has occurred.
420          * @endif
421          */
422         result RemoveAllItems(void);
423
424         /**
425          * @if OSPDEPREC
426          * Gets the column count of the %IconList control.
427          *
428          * @brief       <i> [Deprecated] </i>
429          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
430          * @since               2.0
431          *
432          * @return              The count of all the items of the %IconList control
433          * @endif
434          */
435         int GetColumnCount(void) const;
436
437         /**
438          * @if OSPDEPREC
439          * Gets the item count of the %IconList control.
440          *
441          * @brief       <i> [Deprecated] </i>
442          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
443          * @since               2.0
444          *
445          * @return              The count of all the items of the %IconList control
446          * @endif
447          */
448         int GetItemCount(void) const;
449
450         /**
451          * @if OSPDEPREC
452          * Sets the checked status of the specified item of the %IconList control.
453          *
454          * @brief       <i> [Deprecated] </i>
455          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
456          * @since               2.0
457          *
458          * @return              An error code
459          * @param[in]   index                   The index of the %IconList item
460          * @param[in]   check                   Set to @c true to check the specified item, @n
461          *                                                              else @c false
462          * @exception   E_SUCCESS               The method is successful.
463          * @exception   E_SYSTEM                A system error has occurred.
464          *
465          * @remarks     This method can only be used when the style of the list allows selection (ICON_LIST_STYLE_MARK).
466          * @remarks     The method only changes the state of the list item. %IconList needs to be redrawn to reflect the change on the screen.
467          * @endif
468          */
469         result SetItemChecked(int index, bool check);
470
471         /**
472          * @if OSPDEPREC
473          * Checks whether the specified item of the %IconList control is checked.
474          *
475          * @brief       <i> [Deprecated] </i>
476          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
477          * @since               2.0
478          *
479          * @return              @c true if the specified item is checked, @n
480          *                              else @c false
481          * @param[in]   index   The index of the list item
482          * @remarks             This method can only be used when the style of the list allows selection.
483          * @endif
484          */
485         bool IsItemChecked(int index) const;
486
487         /**
488          * @if OSPDEPREC
489          * Sets the checked status of all the items of the %IconList control.
490          *
491          * @brief       <i> [Deprecated] </i>
492          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
493          * @since               2.0
494          *
495          * @return              An error code
496          * @param[in]   check                   Set to @c true to check all the items, @n
497          *                                                              else @c false
498          * @exception   E_SUCCESS               The method is successful.
499          * @exception   E_SYSTEM                A system error has occurred.
500          * @remarks             This method can only be used when the style of the list allows multiple selections (ICON_LIST_STYLE_MARK).
501          * @remarks             The method only changes the states of the list items. %IconList needs to be redrawn to reflect the changes on the screen.
502          * @endif
503          */
504         result SetAllItemsChecked(bool check);
505
506         /**
507          * @if OSPDEPREC
508          * Removes all checked items of the %IconList control.
509          *
510          * @brief       <i> [Deprecated] </i>
511          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
512          * @since               2.0
513          *
514          * @return              An error code
515          * @exception   E_SUCCESS               The method is successful.
516          * @exception   E_SYSTEM                A system error has occurred.
517          * @remarks             This method can only be used when the style of the list allows multiple selections.
518          * @endif
519          */
520         result RemoveAllCheckedItems(void);
521
522         /**
523          * @if OSPDEPREC
524          * Gets the first checked items of the %IconList control.
525          *
526          * @brief       <i> [Deprecated] </i>
527          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
528          * @since               2.0
529          *
530          * @return              The index of the %IconList item
531          * @endif
532          */
533         int GetFirstCheckedItemIndex(void) const;
534
535         /**
536          * @if OSPDEPREC
537          * Gets the last checked items of the %IconList control.
538          *
539          * @brief       <i> [Deprecated] </i>
540          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
541          * @since               2.0
542          *
543          * @return              The index of the %IconList item
544          * @endif
545          */
546         int GetLastCheckedItemIndex(void) const;
547
548         /**
549          * @if OSPDEPREC
550          * Gets the next checked items at the specified index of the %IconList control.
551          *
552          * @brief       <i> [Deprecated] </i>
553          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
554          * @since               2.0
555          *
556          * @return              The index of the list item
557          * @param[in]   index   The index of the %IconList item
558          * @endif
559          */
560         int GetNextCheckedItemIndexAfter(int index) const;
561
562         /**
563          * @if OSPDEPREC
564          * Gets the index of the item at the specified item position.
565          *
566          * @brief       <i> [Deprecated] </i>
567          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
568          * @since               2.0
569          *
570          * @return              The index of the item, @n
571          *                              else @c -1 if there is no list item at the specified position
572          * @param[in]   x       The x position of the point
573          * @param[in]   y       The y position of the point
574          * @endif
575          */
576         int GetItemIndexFromPosition(int x, int y) const;
577
578         /**
579          * @if OSPDEPREC
580          * Gets the index of the item at the specified item position.
581          *
582          * @brief       <i> [Deprecated] </i>
583          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
584          * @since               2.0
585          *
586          * @return              The index of the item, @n
587          *                              else @c -1 if there is no list item at the specified position
588          * @param[in]   position        The position of the point
589          * @endif
590          */
591         int GetItemIndexFromPosition(const Tizen::Graphics::Point& position) const;
592
593         /**
594          * @if OSPDEPREC
595          * Sets a horizontal alignment of the text in the current %IconList control.
596          *
597          * @brief       <i> [Deprecated] </i>
598          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
599          * @since               2.0
600          *
601          * @param[in]   alignment       The horizontal alignment of the text
602          * @endif
603          */
604         void SetTextHorizontalAlignment(HorizontalAlignment alignment);
605
606         /**
607          * @if OSPDEPREC
608          * Sets a vertical alignment of the text of the current %IconList control.
609          *
610          * @brief       <i> [Deprecated] </i>
611          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
612          * @since               2.0
613          *
614          * @param[in]   alignment       The vertical alignment of the icon and text
615          * @endif
616          */
617         void SetTextVerticalAlignment(VerticalAlignment alignment);
618
619         /**
620          * @if OSPDEPREC
621          * Gets the horizontal alignment of the text of the current %IconList control.
622          *
623          * @brief       <i> [Deprecated] </i>
624          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
625          * @since               2.0
626          *
627          * @return              The horizontal alignment of the %IconList control
628          * @endif
629          */
630         HorizontalAlignment GetTextHorizontalAlignment(void) const;
631
632         /**
633          * @if OSPDEPREC
634          * Gets the vertical alignment of the text of the current %IconList control.
635          *
636          * @brief       <i> [Deprecated] </i>
637          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
638          * @since               2.0
639          *
640          * @return              The vertical alignment of the %IconList control
641          * @endif
642          */
643         VerticalAlignment GetTextVerticalAlignment(void) const;
644
645         /**
646          * @if OSPDEPREC
647          * Sets the background color of the %IconList control.
648          *
649          * @brief       <i> [Deprecated] </i>
650          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
651          * @since        2.0
652          *
653          * @param[in]   color   The background color
654          * @endif
655          */
656         void SetBackgroundColor(const Tizen::Graphics::Color& color);
657
658         /**
659          * @if OSPDEPREC
660          * Sets the text to display when the %IconList control contains no item.
661          *
662          * @brief       <i> [Deprecated] </i>
663          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
664          * @since               2.0
665          *
666          * @param[in]   text    The text
667          * @endif
668          */
669         void SetTextOfEmptyList(const Tizen::Base::String& text);
670
671         /**
672          * @if OSPDEPREC
673          * Sets the color of the text that is displayed when the %IconList control contains no item.
674          *
675          * @brief       <i> [Deprecated] </i>
676          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
677          * @since               2.0
678          *
679          * @param[in]   color   The color of the text
680          * @endif
681          */
682         void SetTextColorOfEmptyList(const Tizen::Graphics::Color& color);
683
684
685         /**
686          * @if OSPDEPREC
687          * Gets the color of the text that is displayed when the %IconList control contains no item.
688          *
689          * @brief       <i> [Deprecated] </i>
690          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
691          * @since               2.0
692          *
693          * @return              The color of the text, @n
694          *                              else RGBA(0, 0, 0, 0) if an error occurs
695          * @endif
696          */
697         Tizen::Graphics::Color GetTextColorOfEmptyList(void) const;
698
699
700         /**
701          * @if OSPDEPREC
702          * Sets the text color of the item.
703          *
704          * @brief       <i> [Deprecated] </i>
705          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
706          * @since               2.0
707          *
708          * @param[in]   textColor       The color of the text
709          * @endif
710          */
711         void SetItemTextColor(const Tizen::Graphics::Color& textColor);
712
713         /**
714          * @if OSPDEPREC
715          * Gets the text color of the item.
716          *
717          * @brief       <i> [Deprecated] </i>
718          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
719          * @since               2.0
720          *
721          * @return              The color of the text, @n
722          *                              else RGBA(0, 0, 0, 0) if an error occurs
723          * @endif
724          */
725         Tizen::Graphics::Color GetItemTextColor(void) const;
726
727
728         /**
729          * @if OSPDEPREC
730          * Sets the size of the text of the current %IconList control.
731          *
732          * @brief       <i> [Deprecated] </i>
733          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
734          * @since               2.0
735          *
736          * @param[in]   size                    The size of the text
737          * @exception   E_SUCCESS               The method is successful.
738          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
739          * @exception   E_SYSTEM                A system error has occurred.
740          * @remarks             The specific error code can be accessed using the GetLastResult() method.
741          * @remarks             If @c size is less than the minimum size, this method fails. The minimum font size is 6 on devices of high screen density.
742          * @endif
743          */
744         void SetTextSize(int size);
745
746
747         /**
748          * @if OSPDEPREC
749          * Gets the size of the text of the current %IconList control.
750          *
751          * @brief       <i> [Deprecated] </i>
752          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
753          * @since       2.0
754          *
755          * @return  The size of the text of the current %IconList control
756          * @endif
757          */
758         int GetTextSize(void) const;
759
760         /**
761          * @if OSPDEPREC
762          * Gets the index of the item with the specified item ID.
763          *
764          * @brief       <i> [Deprecated] </i>
765          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
766          * @since               2.0
767          *
768          * @return              The index of the item, @n
769          *                              else @c -1 if there is no list item with the specified item ID
770          * @param[in]   itemId          The item ID of the list item
771          * @endif
772          */
773         int GetItemIndexFromItemId(int itemId) const;
774
775         /**
776          * @if OSPDEPREC
777          * Gets the item ID of the item at the specified index.
778          *
779          * @brief       <i> [Deprecated] </i>
780          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
781          * @since               2.0
782          *
783          * @return              The item ID of the item, @n
784          *                              else @c -1 if there is no list item at the specified index
785          * @param[in]   index           The index of the list item
786          * @endif
787          */
788         int GetItemIdAt(int index) const;
789
790         /**
791          * @if OSPDEPREC
792          * Sets the position of the checkbox of the current %IconList control.
793          *
794          * @brief       <i> [Deprecated] </i>
795          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
796          * @since               2.0
797          *
798          * @param[in]   position        The position of the checkbox of the current %IconList control
799          * @remarks             This method changes the position of the checkbox image displayed for the "selected" item(s), when the style of %IconList is either
800          *                              ICON_LIST_STYLE_RADIO or ICON_LIST_STYLE_MARK.
801          * @endif
802          */
803         void SetCheckBoxPosition(IconListCheckBoxPosition position);
804
805         /**
806          * @if OSPDEPREC
807          * Gets the position of the checkbox of the current %IconList control.
808          *
809          * @brief       <i> [Deprecated] </i>
810          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
811          * @since               2.0
812          *
813          * @return              The position of the checkbox of the current %IconList control
814          * @endif
815          */
816         IconListCheckBoxPosition GetCheckBoxPosition(void) const;
817
818         /**
819          * @if OSPDEPREC
820          * Enables or disables focus animation.
821          *
822          * @brief       <i> [Deprecated] </i>
823          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
824          * @since               2.0
825          *
826          * @param[in]   enable  Set to @c true to enable focus animation, @n
827          *                      else @c false
828          * @remarks             If a separate Focused Bitmap is to be used, the animation effect must be disabled.
829          * @endif
830          */
831         void SetFocusAnimationEnabled(bool enable);
832
833         /**
834          * @if OSPDEPREC
835          * Scrolls to the bottom of the %IconList control.
836          *
837          * @brief       <i> [Deprecated] </i>
838          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
839          * @since       2.0
840          * @endif
841          */
842         void ScrollToBottom(void);
843
844         /**
845          * @if OSPDEPREC
846          * Scrolls to the top of the %IconList control.
847          *
848          * @brief       <i> [Deprecated] </i>
849          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
850          * @since       2.0
851          * @endif
852          */
853         void ScrollToTop(void);
854
855         /**
856          * @if OSPDEPREC
857          * Scrolls the specified item to the top of %IconList control.
858          *
859          * @brief       <i> [Deprecated] </i>
860          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
861          * @since               2.0
862          *
863          * @return              An error code
864          * @param[in]   itemIndex               The index of the item
865          * @exception   E_SUCCESS               The method is successful.
866          * @exception   E_SYSTEM                A system error has occurred.
867          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
868          * @endif
869          */
870         result ScrollToTop(int itemIndex);
871
872         /**
873          * @if OSPDEPREC
874          * Draws and shows the item of %IconList control.
875          *
876          * @brief       <i> [Deprecated] </i>
877          * @deprecated  This class is deprecated. Instead of using this class, use the IconListView class.
878          * @since               2.0
879          *
880          * @return              An error code
881          * @param[in]   index                   The index of the %IconList item
882          * @exception   E_SUCCESS               The method is successful.
883          * @exception   E_SYSTEM                A system error has occurred.
884          * @exception   E_INVALID_ARG   A specified input parameter is invalid.
885          * @endif
886          */
887         result RefreshItem(int index);
888
889 public:
890         friend class _IconListImpl;
891
892 private:
893         //
894         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
895         //
896         IconList(const IconList& rhs);
897
898         //
899         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
900         //
901         IconList& operator =(const IconList& rhs);
902 }; //IconList
903
904 }}} // Tizen::Ui::Controls
905
906 #endif // _FUI_CTRL_ICON_LIST_H_