diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index c77ea14fc2..97d0a83803 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -287,6 +287,7 @@ extern "C" { EAPI void elm_button_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_button_label_get(Evas_Object *obj); EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_button_icon_get(Evas_Object *obj); EAPI void elm_button_style_set(Evas_Object *obj, const char *style); /* available styles: * default @@ -331,6 +332,7 @@ extern "C" { EAPI void elm_toggle_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_toggle_label_get(Evas_Object *obj); EAPI void elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_toggle_icon_get(Evas_Object *obj); EAPI void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel); EAPI void elm_toggle_state_set(Evas_Object *obj, Eina_Bool state); EAPI Eina_Bool elm_toggle_state_get(const Evas_Object *obj); @@ -500,6 +502,7 @@ extern "C" { EAPI void elm_bubble_info_set(Evas_Object *obj, const char *info); EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content); EAPI void elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_bubble_icon_get(Evas_Object *obj); EAPI void elm_bubble_corner_set(Evas_Object *obj, const char *corner); /* smart callbacks called: */ @@ -523,6 +526,7 @@ extern "C" { EAPI void elm_hoversel_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_hoversel_label_get(Evas_Object *obj); EAPI void elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_hoversel_icon_get(Evas_Object *obj); EAPI void elm_hoversel_hover_begin(Evas_Object *obj); EAPI void elm_hoversel_hover_end(Evas_Object *obj); EAPI Elm_Hoversel_Item *elm_hoversel_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data); @@ -538,6 +542,8 @@ extern "C" { typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent); EAPI Elm_Toolbar_Item *elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data); + EAPI Evas_Object *elm_toolbar_item_icon_get(Elm_Toolbar_Item *item); + EAPI const char *elm_toolbar_item_label_get(Elm_Toolbar_Item *item); EAPI void elm_toolbar_item_del(Elm_Toolbar_Item *item); EAPI void elm_toolbar_item_select(Elm_Toolbar_Item *item); EAPI void elm_toolbar_scrollable_set(Evas_Object *obj, Eina_Bool scrollable); @@ -597,6 +603,7 @@ extern "C" { EAPI void elm_slider_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_slider_label_get(Evas_Object *obj); EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_slider_icon_get(Evas_Object *obj); EAPI void elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size); EAPI void elm_slider_unit_format_set(Evas_Object *obj, const char *format); EAPI void elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator); @@ -681,6 +688,7 @@ extern "C" { EAPI void elm_check_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_check_label_get(Evas_Object *obj); EAPI void elm_check_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_check_icon_get(Evas_Object *obj); EAPI void elm_check_state_set(Evas_Object *obj, Eina_Bool state); EAPI Eina_Bool elm_check_state_get(const Evas_Object *obj); EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep); @@ -692,6 +700,7 @@ extern "C" { EAPI void elm_radio_label_set(Evas_Object *obj, const char *label); EAPI const char *elm_radio_label_get(Evas_Object *obj); EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_radio_icon_get(Evas_Object *obj); EAPI void elm_radio_group_add(Evas_Object *obj, Evas_Object *group); EAPI void elm_radio_state_value_set(Evas_Object *obj, int value); EAPI void elm_radio_value_set(Evas_Object *obj, int value); diff --git a/legacy/elementary/src/lib/elc_hoversel.c b/legacy/elementary/src/lib/elc_hoversel.c index 8eb73a4bb4..3ff636b071 100644 --- a/legacy/elementary/src/lib/elc_hoversel.c +++ b/legacy/elementary/src/lib/elc_hoversel.c @@ -278,6 +278,25 @@ elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon) elm_button_icon_set(wd->btn, icon); } +/** + * Get the icon of the hoversel button + * + * Get the icon of the button that is always visible (before it is clicked + * and expanded). Also see elm_button_icon_get(). + * + * @param obj The hoversel object + * @return The icon object + * + * @ingroup Hoversel + */ +EAPI Evas_Object * +elm_hoversel_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd || !wd->btn) return NULL; + return elm_button_icon_get(wd->btn); +} + /** * Trigger the hoversel popup from code * diff --git a/legacy/elementary/src/lib/elm_bubble.c b/legacy/elementary/src/lib/elm_bubble.c index 63ef633bd2..b1e104365d 100644 --- a/legacy/elementary/src/lib/elm_bubble.c +++ b/legacy/elementary/src/lib/elm_bubble.c @@ -170,6 +170,14 @@ elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) _sizing_eval(obj); } +EAPI Evas_Object * +elm_bubble_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + EAPI void elm_bubble_corner_set(Evas_Object *obj, const char *corner) { diff --git a/legacy/elementary/src/lib/elm_button.c b/legacy/elementary/src/lib/elm_button.c index eaee0352e4..cb77f5a5d8 100644 --- a/legacy/elementary/src/lib/elm_button.c +++ b/legacy/elementary/src/lib/elm_button.c @@ -179,6 +179,14 @@ elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) wd->icon = icon; } +EAPI Evas_Object * +elm_button_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + EAPI void elm_button_style_set(Evas_Object *obj, const char *style) { diff --git a/legacy/elementary/src/lib/elm_check.c b/legacy/elementary/src/lib/elm_check.c index b1b8c676c0..848cd2c96f 100644 --- a/legacy/elementary/src/lib/elm_check.c +++ b/legacy/elementary/src/lib/elm_check.c @@ -258,6 +258,22 @@ elm_check_icon_set(Evas_Object *obj, Evas_Object *icon) } } +/** + * Get the icon object of the check object + * + * @param obj The check object + * @return The icon object + * + * @ingroup Check + */ +EAPI Evas_Object * +elm_check_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + /** * Set the on/off state of the check object * diff --git a/legacy/elementary/src/lib/elm_radio.c b/legacy/elementary/src/lib/elm_radio.c index 0f103b995b..a3234b9aee 100644 --- a/legacy/elementary/src/lib/elm_radio.c +++ b/legacy/elementary/src/lib/elm_radio.c @@ -289,6 +289,22 @@ elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) } } +/** + * Get the icon object of the radio object + * + * @param obj The radio object + * @return The icon object + * + * @ingroup Radio + */ +EAPI Evas_Object * +elm_radio_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + /** * Add this radio to a group of other radio objects * diff --git a/legacy/elementary/src/lib/elm_slider.c b/legacy/elementary/src/lib/elm_slider.c index 766c91c4c3..dba7f26cd9 100644 --- a/legacy/elementary/src/lib/elm_slider.c +++ b/legacy/elementary/src/lib/elm_slider.c @@ -372,6 +372,22 @@ elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) } } +/** + * Get the icon object of the slider object + * + * @param obj The slider object + * @return The icon object + * + * @ingroup Slider + */ +EAPI Evas_Object * +elm_slider_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + /** * Set the length of the dragable region of the slider * diff --git a/legacy/elementary/src/lib/elm_toggle.c b/legacy/elementary/src/lib/elm_toggle.c index aa5fc88d53..04d975fc39 100644 --- a/legacy/elementary/src/lib/elm_toggle.c +++ b/legacy/elementary/src/lib/elm_toggle.c @@ -195,6 +195,14 @@ elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) } } +EAPI Evas_Object * +elm_toggle_icon_get(Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + return wd->icon; +} + EAPI void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) { diff --git a/legacy/elementary/src/lib/elm_toolbar.c b/legacy/elementary/src/lib/elm_toolbar.c index 428c66d9c4..3f90e84b77 100644 --- a/legacy/elementary/src/lib/elm_toolbar.c +++ b/legacy/elementary/src/lib/elm_toolbar.c @@ -253,6 +253,20 @@ elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, voi return it; } +EAPI Evas_Object * +elm_toolbar_item_icon_get(Elm_Toolbar_Item *item) +{ + if (!item) return NULL; + return item->icon; +} + +EAPI const char * +elm_toolbar_item_label_get(Elm_Toolbar_Item *item) +{ + if (!item) return NULL; + return item->label; +} + EAPI void elm_toolbar_item_del(Elm_Toolbar_Item *it) {