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.
18 * @file FUiCtrlIconList.h
19 * @brief This is the header file for the %IconList class.
21 * This header file contains the declarations of the %IconList class and its helper classes.
24 #ifndef _FUI_CTRL_ICON_LIST_H_
25 #define _FUI_CTRL_ICON_LIST_H_
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>
36 // forward declarations
37 namespace Tizen { namespace Ui { namespace Controls
43 * @brief <i> [Deprecated] </i> This class defines the common behavior of an %IconList control.
45 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
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).
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.
62 * When a list item is selected by the user, the "focused" bitmap image is displayed
63 * instead of item's "normal" bitmap image.
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
71 * @image html ui_controls_iconlist.png
74 * This is a simple UI application which uses a icon list control.
78 //Sample code for IconListSample.h
82 : public Tizen::Ui::Controls::Form
83 , public Tizen::Ui::IItemEventListener
89 bool Initialize(void);
90 virtual result OnInitializing(void);
93 virtual void OnItemStateChanged(const Tizen::Ui::Control &source, int index, int itemId, Tizen::Ui::ItemStatus status);
96 static const int ID_LIST_FIRSTITEM = 101;
97 static const int ID_LIST_SECONDITEM = 102;
99 Tizen::Ui::Controls::IconList *__pIconList;
104 //Sample code for IconListSample.cpp
106 #include <FGraphics.h>
108 #include "IconListSample.h"
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;
117 IconListSample::Initialize(void)
119 Construct(FORM_STYLE_NORMAL);
124 IconListSample::OnInitializing(void)
126 result r = E_SUCCESS;
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);
133 // Creates instances of String
134 String itemText1(L"Item1");
135 String itemText2(L"Item2");
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");
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);
148 // Adds the icon list to the form
149 AddControl(*__pIconList);
151 // Deallocates bitmaps
152 delete pBitmapNormal1;
153 delete pBitmapFocused1;
154 delete pBitmapNormal2;
155 delete pBitmapFocused2;
160 // IItemEventListener implementation
162 IconListSample::OnItemStateChanged (const Control &source, int index, int itemId, ItemStatus status)
166 case ID_LIST_FIRSTITEM:
171 case ID_LIST_SECONDITEM:
183 class _OSP_EXPORT_ IconList
184 : public Tizen::Ui::Control
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.
191 * @brief <i> [Deprecated] </i>
192 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
202 * @brief <i> [Deprecated] </i>
203 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
207 virtual ~IconList(void);
212 * Initializes this instance of %IconList with the specified parameters.
214 * @brief <i> [Deprecated] </i>
215 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
234 result Construct(const Tizen::Graphics::Rectangle& rect, IconListStyle style, int itemWidth, int itemHeight);
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.
243 * @brief <i> [Deprecated] </i>
244 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
247 * @param[in] listener The listener to add
250 void AddItemEventListener(Tizen::Ui::IItemEventListener& listener);
254 * Removes a listener instance. @n
255 * The removed listener cannot listen to events when they are fired.
257 * @brief <i> [Deprecated] </i>
258 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
261 * @param[in] listener The listener to remove
264 void RemoveItemEventListener(Tizen::Ui::IItemEventListener& listener);
268 * Sets the background bitmap of the %IconList control.
270 * @brief <i> [Deprecated] </i>
271 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
274 * @param[in] bitmap The background bitmap
277 void SetBackgroundBitmap(const Tizen::Graphics::Bitmap& bitmap);
281 * Sets the top and left margins of the items for %IconList.
283 * @brief <i> [Deprecated] </i>
284 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
295 result SetMargin(int topMargin, int leftMargin);
300 * Gets the top margin of the items for the %IconList control.
302 * @brief <i> [Deprecated] </i>
303 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
306 * @return The top margin of the background bitmap
309 int GetTopMargin(void) const;
313 * Gets the left margin of the items for the %IconList control.
315 * @brief <i> [Deprecated] </i>
316 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
319 * @return The left margin of the background bitmap
322 int GetLeftMargin(void) const;
326 * Adds a list item with the specified text and bitmap images to the %IconList control.
328 * @brief <i> [Deprecated] </i>
329 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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'.
343 result AddItem(const Tizen::Base::String* pText, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pFocusedBitmap, int itemId = LIST_ITEM_UNSPECIFIED_ID);
348 * Inserts the specified text and bitmap item in the specified index of the specified %IconList.
350 * @brief <i> [Deprecated] </i>
351 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
354 * @return An error code
355 * @param[in] index The item text
356 * @param[in] pText The text item to add
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'.
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);
371 * Sets the specified text and bitmap item in the specified index of the specified %IconList.
373 * @brief <i> [Deprecated] </i>
374 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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'.
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);
395 * Removes the item at the specified index.
397 * @brief <i> [Deprecated] </i>
398 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
407 result RemoveItemAt(int index);
411 * Removes all items of the %IconList control.
413 * @brief <i> [Deprecated] </i>
414 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
417 * @return An error code
418 * @exception E_SUCCESS The method is successful.
419 * @exception E_SYSTEM A system error has occurred.
422 result RemoveAllItems(void);
426 * Gets the column count of the %IconList control.
428 * @brief <i> [Deprecated] </i>
429 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
432 * @return The count of all the items of the %IconList control
435 int GetColumnCount(void) const;
439 * Gets the item count of the %IconList control.
441 * @brief <i> [Deprecated] </i>
442 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
445 * @return The count of all the items of the %IconList control
448 int GetItemCount(void) const;
452 * Sets the checked status of the specified item of the %IconList control.
454 * @brief <i> [Deprecated] </i>
455 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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
462 * @exception E_SUCCESS The method is successful.
463 * @exception E_SYSTEM A system error has occurred.
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.
469 result SetItemChecked(int index, bool check);
473 * Checks whether the specified item of the %IconList control is checked.
475 * @brief <i> [Deprecated] </i>
476 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
479 * @return @c true if the specified item is checked, @n
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.
485 bool IsItemChecked(int index) const;
489 * Sets the checked status of all the items of the %IconList control.
491 * @brief <i> [Deprecated] </i>
492 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
495 * @return An error code
496 * @param[in] check Set to @c true to check all the items, @n
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.
504 result SetAllItemsChecked(bool check);
508 * Removes all checked items of the %IconList control.
510 * @brief <i> [Deprecated] </i>
511 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
520 result RemoveAllCheckedItems(void);
524 * Gets the first checked items of the %IconList control.
526 * @brief <i> [Deprecated] </i>
527 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
530 * @return The index of the %IconList item
533 int GetFirstCheckedItemIndex(void) const;
537 * Gets the last checked items of the %IconList control.
539 * @brief <i> [Deprecated] </i>
540 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
543 * @return The index of the %IconList item
546 int GetLastCheckedItemIndex(void) const;
550 * Gets the next checked items at the specified index of the %IconList control.
552 * @brief <i> [Deprecated] </i>
553 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
556 * @return The index of the list item
557 * @param[in] index The index of the %IconList item
560 int GetNextCheckedItemIndexAfter(int index) const;
564 * Gets the index of the item at the specified item position.
566 * @brief <i> [Deprecated] </i>
567 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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
576 int GetItemIndexFromPosition(int x, int y) const;
580 * Gets the index of the item at the specified item position.
582 * @brief <i> [Deprecated] </i>
583 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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
591 int GetItemIndexFromPosition(const Tizen::Graphics::Point& position) const;
595 * Sets a horizontal alignment of the text in the current %IconList control.
597 * @brief <i> [Deprecated] </i>
598 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
601 * @param[in] alignment The horizontal alignment of the text
604 void SetTextHorizontalAlignment(HorizontalAlignment alignment);
608 * Sets a vertical alignment of the text of the current %IconList control.
610 * @brief <i> [Deprecated] </i>
611 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
614 * @param[in] alignment The vertical alignment of the icon and text
617 void SetTextVerticalAlignment(VerticalAlignment alignment);
621 * Gets the horizontal alignment of the text of the current %IconList control.
623 * @brief <i> [Deprecated] </i>
624 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
627 * @return The horizontal alignment of the %IconList control
630 HorizontalAlignment GetTextHorizontalAlignment(void) const;
634 * Gets the vertical alignment of the text of the current %IconList control.
636 * @brief <i> [Deprecated] </i>
637 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
640 * @return The vertical alignment of the %IconList control
643 VerticalAlignment GetTextVerticalAlignment(void) const;
647 * Sets the background color of the %IconList control.
649 * @brief <i> [Deprecated] </i>
650 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
653 * @param[in] color The background color
656 void SetBackgroundColor(const Tizen::Graphics::Color& color);
660 * Sets the text to display when the %IconList control contains no item.
662 * @brief <i> [Deprecated] </i>
663 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
666 * @param[in] text The text
669 void SetTextOfEmptyList(const Tizen::Base::String& text);
673 * Sets the color of the text that is displayed when the %IconList control contains no item.
675 * @brief <i> [Deprecated] </i>
676 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
679 * @param[in] color The color of the text
682 void SetTextColorOfEmptyList(const Tizen::Graphics::Color& color);
687 * Gets the color of the text that is displayed when the %IconList control contains no item.
689 * @brief <i> [Deprecated] </i>
690 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
693 * @return The color of the text, @n
694 * else RGBA(0, 0, 0, 0) if an error occurs
697 Tizen::Graphics::Color GetTextColorOfEmptyList(void) const;
702 * Sets the text color of the item.
704 * @brief <i> [Deprecated] </i>
705 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
708 * @param[in] textColor The color of the text
711 void SetItemTextColor(const Tizen::Graphics::Color& textColor);
715 * Gets the text color of the item.
717 * @brief <i> [Deprecated] </i>
718 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
721 * @return The color of the text, @n
722 * else RGBA(0, 0, 0, 0) if an error occurs
725 Tizen::Graphics::Color GetItemTextColor(void) const;
730 * Sets the size of the text of the current %IconList control.
732 * @brief <i> [Deprecated] </i>
733 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
744 void SetTextSize(int size);
749 * Gets the size of the text of the current %IconList control.
751 * @brief <i> [Deprecated] </i>
752 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
755 * @return The size of the text of the current %IconList control
758 int GetTextSize(void) const;
762 * Gets the index of the item with the specified item ID.
764 * @brief <i> [Deprecated] </i>
765 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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
773 int GetItemIndexFromItemId(int itemId) const;
777 * Gets the item ID of the item at the specified index.
779 * @brief <i> [Deprecated] </i>
780 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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
788 int GetItemIdAt(int index) const;
792 * Sets the position of the checkbox of the current %IconList control.
794 * @brief <i> [Deprecated] </i>
795 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
803 void SetCheckBoxPosition(IconListCheckBoxPosition position);
807 * Gets the position of the checkbox of the current %IconList control.
809 * @brief <i> [Deprecated] </i>
810 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
813 * @return The position of the checkbox of the current %IconList control
816 IconListCheckBoxPosition GetCheckBoxPosition(void) const;
820 * Enables or disables focus animation.
822 * @brief <i> [Deprecated] </i>
823 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
826 * @param[in] enable Set to @c true to enable focus animation, @n
828 * @remarks If a separate Focused Bitmap is to be used, the animation effect must be disabled.
831 void SetFocusAnimationEnabled(bool enable);
835 * Scrolls to the bottom of the %IconList control.
837 * @brief <i> [Deprecated] </i>
838 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
842 void ScrollToBottom(void);
846 * Scrolls to the top of the %IconList control.
848 * @brief <i> [Deprecated] </i>
849 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
853 void ScrollToTop(void);
857 * Scrolls the specified item to the top of %IconList control.
859 * @brief <i> [Deprecated] </i>
860 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
870 result ScrollToTop(int itemIndex);
874 * Draws and shows the item of %IconList control.
876 * @brief <i> [Deprecated] </i>
877 * @deprecated This class is deprecated. Instead of using this class, use the IconListView class.
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.
887 result RefreshItem(int index);
890 friend class _IconListImpl;
894 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
896 IconList(const IconList& rhs);
899 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
901 IconList& operator =(const IconList& rhs);
904 }}} // Tizen::Ui::Controls
906 #endif // _FUI_CTRL_ICON_LIST_H_