2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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 FUiCtrlFooter.h
20 * @brief This is the header file for the %Footer class.
22 * This header file contains the declarations of the %Footer class.
25 #ifndef _FUI_CTRL_FOOTER_H_
26 #define _FUI_CTRL_FOOTER_H_
28 #include <FBaseObject.h>
29 #include <FBaseTypes.h>
30 #include <FBaseString.h>
31 #include <FGrpBitmap.h>
32 #include <FGrpColor.h>
33 #include <FGrpRectangle.h>
34 #include <FUiControl.h>
35 #include <FUiIActionEventListener.h>
36 #include <FUiCtrlButtonItem.h>
37 #include <FUiCtrlFooterItem.h>
38 #include <FUiCtrlForm.h>
41 namespace Tizen { namespace Ui { namespace Controls
47 * Defines the possible styles of a %Footer control.
53 FOOTER_STYLE_BUTTON_TEXT, /**< The text button style */
54 FOOTER_STYLE_BUTTON_ICON, /**< The icon button style */
55 FOOTER_STYLE_BUTTON_ICON_TEXT, /**< The icon and text button style */
56 FOOTER_STYLE_SEGMENTED_TEXT, /**< The text segmented style */
57 FOOTER_STYLE_SEGMENTED_ICON, /**< The icon segmented style */
58 FOOTER_STYLE_SEGMENTED_ICON_TEXT, /**< The icon and text segmented style */
59 FOOTER_STYLE_TAB, /**< The tab style */
60 FOOTER_STYLE_TAB_LARGE /**< The large tab style @b Since: @b 2.2 */
65 * @brief This class is an implementation of a %Footer control.
69 * The %Footer class displays a multi-purpose area at the bottom of the screen. It is used to switch between different application
70 * "views", or to host buttons for performing user-defined actions.
72 *For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_footer.htm">Footer</a>.
74 *The following examples demonstrate how to use the %Footer class.
75 * - Constructing a footer
76 * When creating a %Form, specify the FORM_STYLE_FOOTER parameter in the Form::Construct() method.
81 * TestForm::Initialize(void)
83 * Construct(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_FOOTER);
88 * Gets the footer with the GetFooter() method, and sets the footer style
92 * TestForm::Initialize(void)
94 * Footer* pFooter = GetFooter();
95 * pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT);
99 * - Adding items to the footer:
100 * Adds FooterItems or ButtonItems according to the footer style. The action ID registered in the Construct() method is notified
101 * when items are touched.
105 * TestForm::Initialize(void)
107 * FooterItem footerItem;
108 * footerItem.Construct(ID_FOOTER_ITEM);
109 * footerItem.SetText("FooterItem");
111 * pFooter->AddItem(footerItem);
113 * ButtonItem buttonItem;
114 * buttonItem.Construct(BUTTON_ITEM_STYLE_ICON, ID_HEADER_BUTTON);
115 * buttonItem.SetIcon(BUTTON_ITEM_STATUS_NORMAL, __pBitmap);
117 * pFooter->SetButton(BUTTON_POSITION_LEFT, buttonItem);
122 * -Using the back button
123 * The image of back button is internally set by UI framework.
127 * TestForm::Initialize(void)
129 * pFooter->SetBackButton();
133 class _OSP_EXPORT_ Footer
134 : public Tizen::Ui::Control
138 * Adds the specified footer item.
142 * @return An error code
143 * @param[in] item The footer item to add
144 * @exception E_SUCCESS The method is successful.
145 * @exception E_MAX_EXCEEDED The number of items has exceeded the maximum limit.
146 * @exception E_INVALID_ARG A specified input parameter is invalid. @n
147 * The specified item is not constructed.
148 * @exception E_SYSTEM A system error has occurred.
150 * - The %Footer control does not throw any exception even though the same action ID is assigned to multiple items. @n
151 * However, the content of the specified item is copied to the %Footer control.
152 * - Depending on the style of the %Footer control, several types of items can be added or inserted.
154 result AddItem(const FooterItem& item);
158 * Inserts the footer item at the specified index.
162 * @return An error code
163 * @param[in] itemIndex The index where the item must be inserted
164 * @param[in] item The footer item object to insert
165 * @exception E_SUCCESS The method is successful.
166 * @exception E_MAX_EXCEEDED The number of items has exceeded the maximum limit.
167 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
168 * The index is greater than or equal to the number of elements or less than @c 0.
169 * @exception E_INVALID_ARG A specified input parameter is invalid. @n
170 * The specified item is not constructed.
171 * @exception E_SYSTEM A system error has occurred.
173 * - The %Footer control does not throw any exception even though the same action ID is assigned to multiple items. @n
174 * However, the content of the specified item is copied to the %Footer control.
175 * - Depending on the style of the %Footer control, several types of items can be added or inserted.
177 result InsertItemAt(int itemIndex, const FooterItem& item);
181 * Checks whether a button item is set at the specified position.
185 * @return @c true if the button item is set at the specified position, @n
187 * @param[in] position The position of the button item
188 * @exception E_SUCCESS The method is successful.
189 * @remarks The specific error code can be accessed using the GetLastResult() method.
191 bool IsButtonSet(ButtonPosition position) const;
195 * Checks whether the back button item is set.
199 * @return @c true if the back button item is set, @n
201 * @exception E_SUCCESS The method is successful.
202 * @remarks The specific error code can be accessed using the GetLastResult() method.
204 bool IsBackButtonSet(void) const;
208 * Checks whether the tab edit mode is enabled.
212 * @return @c true if the tab edit mode is set, @n
214 * @exception E_SUCCESS The method is successful.
216 bool IsTabEditModeEnabled(void) const;
220 * Gets the color of the button item for the specified state.
224 * @return The color of the button item, @n
225 * else RGBA (0,0,0,0) if an error occurs
226 * @param[in] status The status of the button item
227 * @exception E_SUCCESS The method is successful.
228 * @remarks The specific error code can be accessed using the GetLastResult() method.
229 * @see SetButtonColor()
231 Tizen::Graphics::Color GetButtonColor(ButtonItemStatus status) const;
235 * Gets the text color of the button item for the specified state.
239 * @return The text color of the button item, @n
240 * else RGBA (0,0,0,0) if an error occurs
241 * @param[in] status The status of the button item
242 * @exception E_SUCCESS The method is successful.
243 * @remarks The specific error code can be accessed using the GetLastResult() method.
244 * @see SetButtonTextColor()
246 Tizen::Graphics::Color GetButtonTextColor(ButtonItemStatus status) const;
250 * Gets the state of the specified button item.
254 * @return The state of the button item at the specified position
255 * @param[in] position The position of the button item
256 * @exception E_SUCCESS The method is successful.
257 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
258 * There is no button set at the specified position.
259 * @remarks The specific error code can be accessed using the GetLastResult() method.
261 ButtonItemStatus GetButtonStatus(ButtonPosition position) const;
265 * Gets the state of the back button.
269 * @return The state of the back button, @n
270 * else @c BUTTON_ITEM_STATUS_NORMAL if an error occurs.
271 * @exception E_SUCCESS The method is successful.
272 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
273 * The back button is not set.
274 * @remarks The specific error code can be accessed using the GetLastResult() method.
276 ButtonItemStatus GetBackButtonStatus(void) const;
280 * Gets the color of the footer item for the specified item state.
284 * @return The color of the item, @n
285 * else RGBA (0,0,0,0) if an error occurs
286 * @param[in] status The item status
287 * @exception E_SUCCESS The method is successful.
288 * @remarks The specific error code can be accessed using the GetLastResult() method.
289 * @see SetItemColor()
291 Tizen::Graphics::Color GetItemColor(FooterItemStatus status) const;
295 * Gets the number of footer items.
299 * @return The number of footer items, @n
300 * else @c -1 if an error occurs
301 * @exception E_SUCCESS The method is successful.
302 * @remarks The specific error code can be accessed using the GetLastResult() method.
304 int GetItemCount(void) const;
308 * Gets the state of the specified footer item.
312 * @return An error code
313 * @param[in] itemIndex The index of the item
314 * @param[out] status The state of the item at the specified index
315 * @exception E_SUCCESS The method is successful.
316 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
317 * The index is greater than or equal to the number of elements or less than zero.
319 result GetItemStatus(int itemIndex, FooterItemStatus& status) const;
323 * Gets the text color of the footer item for the specified item state.
327 * @return The text color of the item, @n
328 * else RGBA (0,0,0,0) if an error occurs
329 * @param[in] status The item status
330 * @exception E_SUCCESS The method is successful.
331 * @remarks The specific error code can be accessed using the GetLastResult() method.
333 Tizen::Graphics::Color GetItemTextColor(FooterItemStatus status) const;
337 * Gets the style of the %Footer control.
341 * @return The footer style, @n
342 * else @c FOOTER_STYLE_BUTTON_TEXT if an error occurs
343 * @exception E_SUCCESS The method is successful.
344 * @remarks The specific error code can be accessed using the GetLastResult() method.
346 FooterStyle GetStyle(void) const;
350 * Gets the index of the currently selected item.
354 * @return The selected item index,@n
355 * else @c -1 if an error occurs
356 * @exception E_SUCCESS The method is successful.
357 * @exception E_UNSUPPORTED_OPERATION The operation is not supported when the style of the %Footer control is
358 * ::FOOTER_STYLE_BUTTON_TEXT, ::FOOTER_STYLE_BUTTON_ICON
359 * or ::FOOTER_STYLE_BUTTON_ICON_TEXT.
360 * @remarks The specific error code can be accessed using the GetLastResult() method.
362 int GetSelectedItemIndex(void) const;
366 * Gets the color of the footer.
370 * @return The color, @n
371 * else RGBA (0,0,0,0) if an error occurs
372 * @exception E_SUCCESS The method is successful.
373 * @remarks The specific error code can be accessed using the GetLastResult() method.
375 Tizen::Graphics::Color GetColor(void) const;
379 * Removes all the button items with the back button.
383 * @return An error code
384 * @exception E_SUCCESS The method is successful.
385 * @exception E_SYSTEM A system error has occurred.
387 result RemoveAllButtons(void);
391 * Removes the button item at the specified position.
395 * @return An error code
396 * @param[in] position The position of the button item to remove
397 * @exception E_SUCCESS Either the method is successful or no button item is set at the specified position.
398 * @exception E_SYSTEM A system error has occurred.
400 result RemoveButtonAt(ButtonPosition position);
404 * Removes the back button item.
408 * @return An error code
409 * @exception E_SUCCESS The method is successful.
410 * @exception E_SYSTEM This exception exists only for historical reason.
411 * @remarks This method always returns E_SUCCESS.
413 result RemoveBackButton(void);
417 * Removes all the footer items except for the left, right, and back button items.
421 * @return An error code
422 * @exception E_SUCCESS The method is successful.
423 * @exception E_SYSTEM A system error has occurred.
425 result RemoveAllItems(void);
429 * Removes the item at the specified index.
433 * @return An error code
434 * @param[in] itemIndex The index of the item to remove
435 * @exception E_SUCCESS The method is successful.
436 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
437 * The index is greater than or equal to the number of elements or less than @c 0.
438 * @exception E_SYSTEM A system error has occurred.
440 result RemoveItemAt(int itemIndex);
444 * Sets the background bitmap image.
448 * @return An error code
449 * @param[in] pBitmap The background image
450 * @exception E_SUCCESS The method is successful.
451 * @exception E_SYSTEM A system error has occurred.
453 result SetBackgroundBitmap(const Tizen::Graphics::Bitmap* pBitmap);
457 * Sets the button item at the specified position.
461 * @return An error code
462 * @param[in] position The position at which to set the specified button item. @n
463 * If there is an existing button item at the specified position, it is replaced with the new item.
464 * However, the contents of the specified item are copied to the %Footer control.
465 * @param[in] button The button item to set
466 * @exception E_SUCCESS The method is successful.
467 * @exception E_INVALID_ARG A specified input parameter is invalid. @n
468 * The specified item is not constructed.
469 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation.@n
470 * There are more than 2 footer items.
471 * @exception E_UNSUPPORTED_OPERATION The operation is not supported when the style of the %Footer control is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE.
472 * @exception E_SYSTEM A system error has occurred.
474 result SetButton(ButtonPosition position, const ButtonItem& button);
478 * Sets the button item color for the specified state.
482 * @return An error code
483 * @param[in] status The status of the button item
484 * @param[in] color The button item color to set
485 * @exception E_SUCCESS The method is successful.
486 * @exception E_SYSTEM A system error has occurred.
487 * @see GetButtonColor()
489 result SetButtonColor(ButtonItemStatus status, const Tizen::Graphics::Color& color);
493 * Enables or disables the button item at the specified position.
497 * @return An error code
498 * @param[in] position The button item position
499 * @param[in] enable Set to @c true to enable the specified button item, @n
501 * @exception E_SUCCESS The method is successful.
502 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
503 * There is no button set at the specified position.
504 * @exception E_SYSTEM A system error has occurred.
506 result SetButtonEnabled(ButtonPosition position, bool enable);
510 * Enables or disables the back button.
514 * @return An error code
515 * @param[in] enable Set to @c true to enable the back button, @n
517 * @exception E_SUCCESS The method is successful.
518 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
519 * The back button item is not set.
521 result SetBackButtonEnabled(bool enable);
525 * Sets the button item text color for the specified state.
529 * @return An error code
530 * @param[in] status The status of the button item
531 * @param[in] color The button item text color to set
532 * @exception E_SUCCESS The method is successful.
533 * @exception E_SYSTEM A system error has occurred.
534 * @see GetButtonTextColor()
536 result SetButtonTextColor(ButtonItemStatus status, const Tizen::Graphics::Color& color);
539 * Sets the badge icon of the specified ButtonItem.
543 * @return An error code
544 * @param[in] position The button item position
545 * @param[in] pBadgeIcon The bitmap for the icon
546 * @exception E_SUCCESS The method is successful.
547 * @exception E_UNSUPPORTED_OPERATION This operation is not supported. @n
548 * The operation is not supported when the style of the %Footer control is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE.
550 result SetButtonBadgeIcon(ButtonPosition position, const Tizen::Graphics::Bitmap* pBadgeIcon);
554 * Sets the numbered badge icon of the specified ButtonItem.
558 * @return An error code
559 * @param[in] position The button item position
560 * @param[in] number The number value that should be displayed as the badge icon @n
561 * If it is set to @c 0, the numbered badge icon is removed from an item.
562 * @exception E_SUCCESS The method is successful.
563 * @exception E_INVALID_ARG The specified @c number must be in the range defined by @c 0 and @c 99999.
564 * @exception E_UNSUPPORTED_OPERATION This operation is not supported. @n
565 * The operation is not supported when the style of the %Footer control is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE.
567 result SetButtonNumberedBadgeIcon(ButtonPosition position, int number);
571 * Sets the back button.
575 * @return An error code
576 * @exception E_SUCCESS The method is successful.
577 * @exception E_UNSUPPORTED_OPERATION This operation is not supported. @n
578 * The operation is not supported when the style of the %Footer control is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE. @n
579 * This device does not support the software back button.
580 * @exception E_SYSTEM A system error has occurred.
582 * - When the back button is pressed, IFormBackEventListener::OnFormBackRequested() is called.
583 * - If the right button is already set, then the button is replaced with the back button.
584 * @see Tizen::Ui::Controls::IFormBackEventListener
586 result SetBackButton(void);
590 * Sets the content of the footer item at the specified index.
594 * @return An error code
595 * @param[in] itemIndex The index at which to set the specified item
596 * @param[in] item The item
597 * @exception E_SUCCESS The method is successful.
598 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
599 * The index is greater than or equal to the number of elements or less than @c 0.
600 * @exception E_INVALID_ARG A specified input parameter is invalid. @n
601 * The specified item is not constructed.
602 * @exception E_SYSTEM A system error has occurred.
603 * @remarks The %Footer control does not throw any exception even though the same action ID is assigned to multiple items. @n
604 * However, the content of the specified item is copied to the %Footer control.
606 result SetItemAt(int itemIndex, const FooterItem& item);
610 * Sets the item color for the specified state.
614 * @return An error code
615 * @param[in] status The item status
616 * @param[in] color The item color to set
617 * @exception E_SUCCESS The method is successful.
618 * @exception E_SYSTEM A system error has occurred.
619 * @see GetItemColor()
621 result SetItemColor(FooterItemStatus status, const Tizen::Graphics::Color& color);
625 * Sets the item state at the specified index in the footer.
629 * @return An error code
630 * @param[in] itemIndex The index of the item
631 * @param[in] enable Set to @c true to enable the item state, @n
633 * @exception E_SUCCESS The method is successful.
634 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
635 * The index is greater than or equal to the number of elements or less than zero.
636 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
637 * The specified item is currently selected.
638 * @exception E_SYSTEM A system error has occurred.
640 result SetItemEnabled(int itemIndex, bool enable);
644 * Sets the badge icon of the specified tab style footer item.
648 * @return An error code
649 * @param[in] itemIndex The index of the item to set the badge icon
650 * @param[in] pBadgeIcon The bitmap for the icon
651 * @exception E_SUCCESS The method is successful.
652 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
653 * The index is greater than or equal to the number of elements or less than @c 0.
654 * @exception E_SYSTEM A system error has occurred.
656 result SetItemBadgeIcon(int itemIndex, const Tizen::Graphics::Bitmap* pBadgeIcon);
660 * Sets the numbered badge icon of the specified footer item.
664 * @return An error code
665 * @param[in] itemIndex The item index
666 * @param[in] number The number value that must be displayed as the badge icon @n
667 * If it is set to @c 0, the numbered badge icon is removed from an item.
668 * @exception E_SUCCESS The method is successful.
669 * @exception E_INVALID_ARG The specified @c number must be in the range defined by @c 0 and @c 99999.
670 * @exception E_OUT_OF_RANGE The specified index is outside the bounds of the data structure. @n
671 * The index is greater than or equal to the number of elements or less than @c 0.
672 * @exception E_SYSTEM A system error has occurred.
674 result SetItemNumberedBadgeIcon(int itemIndex, int number);
678 * Sets the item text color for the specified state.
682 * @return An error code
683 * @param[in] status The item status
684 * @param[in] color The item text color to set
685 * @exception E_SUCCESS The method is successful.
686 * @exception E_SYSTEM A system error has occurred.
688 result SetItemTextColor(FooterItemStatus status, const Tizen::Graphics::Color& color);
692 * Selects the item at the specified index.
696 * @return An error code
697 * @param[in] itemIndex The index of the item to select
698 * @exception E_SUCCESS The method is successful.
699 * @exception E_OUT_OF_RANGE The specified index is out of the range of the data structure. @n
700 * The specified index is either greater than or equal to the number of items or is less than zero.
701 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
702 * The item at the specified index is disabled.
703 * @exception E_UNSUPPORTED_OPERATION The operation is not supported if the %Footer control style is ::FOOTER_STYLE_BUTTON_TEXT,
704 * ::FOOTER_STYLE_BUTTON_ICON or ::FOOTER_STYLE_BUTTON_ICON_TEXT.
705 * @exception E_SYSTEM A system error has occurred.
707 result SetItemSelected(int itemIndex);
711 * Sets the color of the footer.
715 * @return An error code
716 * @param[in] color The footer color to set
717 * @exception E_SUCCESS The method is successful.
719 result SetColor(const Tizen::Graphics::Color& color);
723 * Sets the style of the footer. @n
724 * All items and buttons will be removed if the style is changed.
728 * @return An error code
729 * @param[in] style The footer style to set
730 * @exception E_SUCCESS The method is successful.
731 * @exception E_SYSTEM A system error has occurred.
733 result SetStyle(FooterStyle style);
737 * Enables or disables the tab edit mode.
741 * @return An error code
742 * @param[in] enable Set to @c true to enable the edit mode, @n
744 * @exception E_SUCCESS The method is successful.
745 * @exception E_UNSUPPORTED_OPERATION The operation is supported when the style of the %Footer control style is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE.
747 result SetTabEditModeEnabled(bool enable);
751 * Adds an action event listener instance.
752 * OnActionPerformed() of the added listener is called when the user selects an item.
756 * @param[in] listener The event listener to add
757 * @remarks When the user collapses the tab style %Footer control which is in the expanded mode by pressing the more button,
758 * OnActionPerformed() is called for the currently selected tab item.
760 void AddActionEventListener(Tizen::Ui::IActionEventListener& listener);
764 * Removes an action event listener instance.
765 * The removed listener cannot listen to events when they are fired.
769 * @param[in] listener The event listener to remove
771 void RemoveActionEventListener(Tizen::Ui::IActionEventListener& listener);
775 * Gets the position and size of the specified button item.
779 * @return The position and size of the button item at the specified position.
780 * @param[in] position The position of the button item
781 * @exception E_SUCCESS The method is successful.
782 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
783 * There is no button set at the specified position.
784 * @remarks The specific error code can be accessed using the GetLastResult() method.
786 Tizen::Graphics::Rectangle GetButtonBounds(ButtonPosition position) const;
790 * Gets the position and size of the specified button item.
794 * @return The position and size of the button item at the specified position.
795 * @param[in] position The position of the button item
796 * @exception E_SUCCESS The method is successful.
797 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
798 * There is no button set at the specified position.
799 * @remarks The specific error code can be accessed using the GetLastResult() method.
801 Tizen::Graphics::FloatRectangle GetButtonBoundsF(ButtonPosition position) const;
805 * Checks whether the Menu button item is set.
809 * @return @c true if the Menu button item is set, @n
812 bool IsMenuButtonSet(void) const;
816 * Gets the state of the Menu button.
820 * @return The state of the Menu button, @n
821 * else @c BUTTON_ITEM_STATUS_NORMAL if an error occurs
822 * @exception E_SUCCESS The method is successful.
823 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
824 * The Menu button is not set.
825 * @remarks The specific error code can be accessed using the GetLastResult() method.
827 ButtonItemStatus GetMenuButtonStatus(void) const;
831 * Removes the Menu button item.
835 * @return An error code
836 * @exception E_SUCCESS The method is successful.
837 * @exception E_SYSTEM This exception exists only for historical reason.
838 * @remarks This method always returns E_SUCCESS.
840 result RemoveMenuButton(void);
844 * Enables or disables the Menu button.
848 * @return An error code
849 * @param[in] enable Set to @c true to enable the Menu button, @n
851 * @exception E_SUCCESS The method is successful.
852 * @exception E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
853 * The Menu button item is not set.
855 result SetMenuButtonEnabled(bool enable);
859 * Sets the Menu button.
863 * @return An error code
864 * @exception E_SUCCESS The method is successful.
865 * @exception E_INVALID_OPERATION This exception is returned when there are more than 3 footer items.
866 * @exception E_UNSUPPORTED_OPERATION This operation is not supported. @n
867 * The operation is not supported when the style of the %Footer control is ::FOOTER_STYLE_TAB or ::FOOTER_STYLE_TAB_LARGE.
868 * @exception E_SYSTEM A System error has occurred.
869 * @remarks If the left button is already set, then the button is replaced with the Menu button.
871 result SetMenuButton(void);
876 //This method is for internal use only. Using this method can cause behavioral, security-related,
877 //and consistency-related issues in the application.
879 // This is the default constructor for this class.
886 //This method is for internal use only. Using this method can cause behavioral, security-related,
887 //and consistency-related issues in the application.
889 // This is the destructor for this class.
892 virtual ~Footer(void);
897 //This method is for internal use only. Using this method can cause behavioral, security-related,
898 //and consistency-related issues in the application.
900 // Initializes this instance of Footer with the specified parameter.
903 // @return An error code
904 // @exception E_SUCCESS The method is successful.
905 // @exception E_SYSTEM A system error has occurred.
907 result Construct(void);
909 Footer(const Footer& rhs);
910 Footer& operator =(const Footer& rhs);
913 friend class _FormImpl;
914 friend class _FooterImpl;
918 }}} // Tizen::Ui::Controls
920 #endif // _FUI_CTRL_FOOTER_H_