1 #ifndef _ELM_HOVERSEL_EO_LEGACY_H_ 2 #define _ELM_HOVERSEL_EO_LEGACY_H_ 3 4 #ifndef _ELM_HOVERSEL_EO_CLASS_TYPE 5 #define _ELM_HOVERSEL_EO_CLASS_TYPE 6 7 typedef Eo Elm_Hoversel; 8 9 #endif 10 11 #ifndef _ELM_HOVERSEL_EO_TYPES 12 #define _ELM_HOVERSEL_EO_TYPES 13 14 15 #endif 16 17 /** 18 * @brief Control if the hoversel should expand horizontally. 19 * 20 * @note The initial button will display horizontally regradless of this 21 * setting. 22 * 23 * @param[in] obj The object. 24 * @param[in] horizontal If @c true, the hover will expand horizontally to the 25 * right. 26 * 27 * @ingroup Elm_Hoversel_Group 28 */ 29 EAPI void elm_hoversel_horizontal_set(Elm_Hoversel *obj, Eina_Bool horizontal); 30 31 /** 32 * @brief Control if the hoversel should expand horizontally. 33 * 34 * @note The initial button will display horizontally regradless of this 35 * setting. 36 * 37 * @param[in] obj The object. 38 * 39 * @return If @c true, the hover will expand horizontally to the right. 40 * 41 * @ingroup Elm_Hoversel_Group 42 */ 43 EAPI Eina_Bool elm_hoversel_horizontal_get(const Elm_Hoversel *obj); 44 45 /** 46 * @brief Control the hover parent. 47 * 48 * Sets the hover parent object, the area that will be darkened when the 49 * hoversel is clicked. Should probably be the window that the hoversel is in. 50 * 51 * @param[in] obj The object. 52 * @param[in] parent The parent to use 53 * 54 * @ingroup Elm_Hoversel_Group 55 */ 56 EAPI void elm_hoversel_hover_parent_set(Elm_Hoversel *obj, Efl_Canvas_Object *parent); 57 58 /** 59 * @brief Control the hover parent. 60 * 61 * Sets the hover parent object, the area that will be darkened when the 62 * hoversel is clicked. Should probably be the window that the hoversel is in. 63 * 64 * @param[in] obj The object. 65 * 66 * @return The parent to use 67 * 68 * @ingroup Elm_Hoversel_Group 69 */ 70 EAPI Efl_Canvas_Object *elm_hoversel_hover_parent_get(const Elm_Hoversel *obj); 71 72 /** 73 * @brief Returns whether the hoversel is expanded. 74 * 75 * @param[in] obj The object. 76 * 77 * @return @c true if the hoversel is expanded or @c false otherwise 78 * 79 * @ingroup Elm_Hoversel_Group 80 */ 81 EAPI Eina_Bool elm_hoversel_expanded_get(const Elm_Hoversel *obj); 82 83 /** 84 * @brief Get the list of items within the given hoversel. 85 * 86 * @param[in] obj The object. 87 * 88 * @return List of items 89 * 90 * @ingroup Elm_Hoversel_Group 91 */ 92 EAPI const Eina_List *elm_hoversel_items_get(const Elm_Hoversel *obj); 93 94 /** 95 * @brief Update icon and text of hoversel same to those of selected item 96 * automatically. 97 * 98 * @param[in] obj The object. 99 * @param[in] auto_update @c true if hoversel is updated automatically or 100 * @c false otherwise 101 * 102 * @ingroup Elm_Hoversel_Group 103 */ 104 EAPI void elm_hoversel_auto_update_set(Elm_Hoversel *obj, Eina_Bool auto_update); 105 106 /** 107 * @brief Update icon and text of hoversel same to those of selected item 108 * automatically. 109 * 110 * @param[in] obj The object. 111 * 112 * @return @c true if hoversel is updated automatically or @c false otherwise 113 * 114 * @ingroup Elm_Hoversel_Group 115 */ 116 EAPI Eina_Bool elm_hoversel_auto_update_get(const Elm_Hoversel *obj); 117 118 /** This triggers the hoversel popup from code, the same as if the user had 119 * clicked the button. 120 * 121 * @ingroup Elm_Hoversel_Group 122 */ 123 EAPI void elm_hoversel_hover_begin(Elm_Hoversel *obj); 124 125 /** 126 * @brief This will remove all the children items from the hoversel. 127 * 128 * Warning Should *not* be called while the hoversel is active; use 129 * @ref elm_hoversel_expanded_get to check first. 130 * @param[in] obj The object. 131 * 132 * @ingroup Elm_Hoversel_Group 133 */ 134 EAPI void elm_hoversel_clear(Elm_Hoversel *obj); 135 136 /** This dismisses the hoversel popup as if the user had clicked outside the 137 * hover. 138 * 139 * @ingroup Elm_Hoversel_Group 140 */ 141 EAPI void elm_hoversel_hover_end(Elm_Hoversel *obj); 142 143 /** 144 * @brief Add an item to the hoversel button 145 * 146 * This adds an item to the hoversel to show when it is clicked. Note: if you 147 * need to use an icon from an edje file then use Elm.Hoversel.Item.icon.set 148 * right after this function, and set icon_file to @c null here. 149 * 150 * @param[in] obj The object. 151 * @param[in] label The text label to use for the item (NULL if not desired) 152 * @param[in] icon_file An image file path on disk to use for the icon or 153 * standard icon name (NULL if not desired) 154 * @param[in] icon_type The icon type if relevant 155 * @param[in] func Convenience function to call when this item is selected. The 156 * last parameter @c event_info of @c func is the selected item pointer. 157 * @param[in] data Data to pass to item-related functions 158 * 159 * @return A handle to the added item. 160 * 161 * @ingroup Elm_Hoversel_Group 162 */ 163 EAPI Elm_Widget_Item *elm_hoversel_item_add(Elm_Hoversel *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data); 164 165 #endif 166