1 /** 2 * @defgroup Elm_Popup_Group Popup 3 * @ingroup Elementary 4 * 5 * @image html popup_inheritance_tree.png 6 * @image latex popup_inheritance_tree.eps 7 * 8 * This widget is an enhancement of @ref Notify. In addition to 9 * content area, there are two optional sections, namely title area and 10 * action area. 11 * 12 * The popup widget displays its content with a particular orientation in 13 * the parent area. This orientation can be one among top, center, 14 * bottom, left, top-left, top-right, bottom-left and bottom-right. 15 * Content part of Popup can be an Evas Object set by application or 16 * it can be Text set by application or set of items containing an 17 * icon and/or text. The content/item-list can be removed using 18 * elm_object_content_set with second parameter passed as NULL. 19 * 20 * The following figures show the textual layouts of popup in which Title 21 * Area and Action area are optional ones. Action area can have 22 * up to 3 buttons handled using elm_object common APIs mentioned 23 * below. If user wants to have more than 3 buttons then these buttons 24 * can be put inside the items of a list as content. User needs to 25 * handle the clicked signal of these action buttons if required. No 26 * event is processed by the widget automatically when clicked on 27 * these action buttons. 28 * 29 * <pre> 30 * 31 *|---------------------| |---------------------| |---------------------| 32 *| Title Area | | Title Area | | Title Area | 33 *|Icon| Text | |Icon| Text | |Icon| Text | 34 *|---------------------| |---------------------| |---------------------| 35 *| Item 1 | | | | | 36 *|---------------------| | | | | 37 *| Item 2 | | | | Description | 38 *|---------------------| | Content | | | 39 *| Item 3 | | | | | 40 *|---------------------| | | | | 41 *| . | |---------------------| |---------------------| 42 *| . | | Action Area | | Action Area | 43 *| . | | Btn1 |Btn2|. |Btn3 | | Btn1 |Btn2| |Btn3 | 44 *|---------------------| |---------------------| |---------------------| 45 *| Item N | Content Based Layout Description based Layout 46 *|---------------------| 47 *| Action Area | 48 *| Btn1 |Btn2|. |Btn3 | 49 *|---------------------| 50 * Item Based Layout 51 * 52 * </pre> 53 * 54 * Timeout can be set on expiry of which popup instance hides and 55 * sends a smart signal "timeout" to the user. The visible region of 56 * popup is surrounded by a translucent region called Blocked Event 57 * area. By clicking on Blocked Event area, the signal 58 * "block,clicked" is sent to the application. This block event area 59 * can be avoided by using API elm_popup_allow_events_set. When gets 60 * hidden, popup does not get destroyed automatically, application 61 * should destroy the popup instance after use. To control the 62 * maximum height of the internal scroller for item, we use the height 63 * of the action area which is passed by theme based on the number of 64 * buttons currently set to popup. 65 * 66 * Popup sets the focus to itself when evas_object_show is called on popup. 67 * To set the focus into popup's contents and buttons automatically, 68 * evas_object_show on popup should be called after setting all the contents 69 * and buttons of popup. 70 * 71 * This widget inherits from the @ref Elm_Layout one, so that all the 72 * functions acting on it also work for popup objects (since 1.8). 73 * 74 * This widget emits the following signals, besides the ones sent from 75 * @ref Elm_Layout : 76 * @li @c "timeout" - whenever popup is closed as a result of timeout. 77 * @li @c "block,clicked" - whenever user taps on Blocked Event area. 78 * @li @c "focused" - When the popup has received focus. (since 1.8) 79 * @li @c "unfocused" - When the popup has lost focus. (since 1.8) 80 * @li "language,changed" - the program's language changed (since 1.8) 81 * @li "item,focused" - When the popup item has received focus. (since 1.10) 82 * @li "item,unfocused" - When the popup item has lost focus. (since 1.10) 83 * 84 * Styles available for Popup 85 * @li "default" 86 * 87 * Default contents parts of the popup widget that you can use are: 88 * @li "default" - The content of the popup 89 * @li "title,icon" - Title area's icon 90 * @li "button1" - 1st button of the action area 91 * @li "button2" - 2nd button of the action area 92 * @li "button3" - 3rd button of the action area 93 * 94 * Default text parts of the popup widget that you can use are: 95 * @li "title,text" - A title area's label 96 * @li "default" - A content-text set in the content area of the widget 97 * 98 * Default contents parts of the popup items that you can use are: 99 * @li "default" - An item's icon 100 * 101 * Default text parts of the popup items that you can use are: 102 * @li "default" - An item's label 103 * 104 * Supported elm_object_item common APIs. 105 * @li @ref elm_object_item_part_text_set 106 * @li @ref elm_object_item_part_text_get 107 * @li @ref elm_object_item_part_content_set 108 * @li @ref elm_object_item_part_content_get 109 * @li @ref elm_object_item_disabled_set 110 * @li @ref elm_object_item_disabled_get 111 * @li @ref elm_object_item_del 112 * @li @ref elm_object_item_signal_emit 113 * 114 * supported elm_object common APIs. 115 * @li @ref elm_object_part_text_set 116 * @li @ref elm_object_part_text_get 117 * @li @ref elm_object_part_content_set 118 * @li @ref elm_object_part_content_get 119 * @li @ref elm_object_part_content_unset 120 * @li @ref elm_object_signal_emit 121 * 122 * Here are some sample code to illustrate Popup usage: 123 * @li @ref popup_example_01_c 124 * @li @ref popup_example_02_c 125 * @li @ref popup_example_03_c 126 */ 127 128 #ifndef EFL_NOLEGACY_API_SUPPORT 129 #include "elc_popup_legacy.h" 130 #endif 131