diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index f98f554362..469b76a336 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -71,8 +71,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_io_queue.eo \ lib/efl/interfaces/efl_observer.eo \ lib/efl/interfaces/efl_observable.eo \ - lib/efl/interfaces/efl_ui_item.eo \ - lib/efl/interfaces/efl_ui_menu.eo \ lib/efl/interfaces/efl_ui_autorepeat.eo \ lib/efl/interfaces/efl_ui_format.eo \ lib/efl/interfaces/efl_gfx_color_class.eo \ diff --git a/src/bin/elementary/test_ctxpopup.c b/src/bin/elementary/test_ctxpopup.c index b91cd85121..46209a7dfb 100644 --- a/src/bin/elementary/test_ctxpopup.c +++ b/src/bin/elementary/test_ctxpopup.c @@ -56,10 +56,10 @@ _btn_remove_cb(void *data EINA_UNUSED, Evas_Object *obj, static void _ctxpopup_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) { - printf("Item selected status: %d\n", efl_ui_item_selected_get(event_info)); + printf("Item selected status: %d\n", elm_ctxpopup_item_selected_get(event_info)); printf("ctxpopup item selected: %s\n", - elm_object_item_text_get(efl_ui_menu_selected_item_get(obj))); + elm_object_item_text_get(elm_ctxpopup_selected_item_get(obj))); elm_ctxpopup_dismiss(obj); } @@ -105,7 +105,7 @@ _list_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UN _ctxpopup_item_new(ctxpopup, "Go to home folder", "home"); _ctxpopup_item_new(ctxpopup, "Save file", "file"); it = _ctxpopup_item_new(ctxpopup, "Delete file", "delete"); - efl_ui_item_selected_set(it, EINA_TRUE); + elm_ctxpopup_item_selected_set(it, EINA_TRUE); it = _ctxpopup_item_new(ctxpopup, "Navigate to folder", "folder"); elm_object_item_disabled_set(it, EINA_TRUE); _ctxpopup_item_new(ctxpopup, "Edit entry", "edit"); diff --git a/src/lib/efl/CMakeLists.txt b/src/lib/efl/CMakeLists.txt index 909cea5b5b..0c03b5c672 100644 --- a/src/lib/efl/CMakeLists.txt +++ b/src/lib/efl/CMakeLists.txt @@ -50,8 +50,6 @@ set(PUBLIC_EO_FILES interfaces/efl_text.eo interfaces/efl_text_types.eot interfaces/efl_types.eot - interfaces/efl_ui_item.eo - interfaces/efl_ui_menu.eo interfaces/efl_ui_range.eo interfaces/efl_ui_autorepeat.eo interfaces/efl_vpath.eo diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 2399c9c30b..b428d459fd 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -85,8 +85,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; #include "interfaces/efl_ui_direction.eo.h" #include "interfaces/efl_ui_drag.eo.h" #include "interfaces/efl_ui_range.eo.h" -#include "interfaces/efl_ui_item.eo.h" -#include "interfaces/efl_ui_menu.eo.h" #include "interfaces/efl_ui_autorepeat.eo.h" #include "interfaces/efl_ui_draggable.eo.h" #include "interfaces/efl_ui_clickable.eo.h" diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index cb1738e52b..a9a663e60b 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c @@ -63,9 +63,7 @@ #include "interfaces/efl_ui_direction.eo.c" #include "interfaces/efl_ui_drag.eo.c" #include "interfaces/efl_ui_range.eo.c" -#include "interfaces/efl_ui_menu.eo.c" #include "interfaces/efl_ui_autorepeat.eo.c" -#include "interfaces/efl_ui_item.eo.c" #include "interfaces/efl_ui_view.eo.c" #include "interfaces/efl_ui_model_connect.eo.c" #include "interfaces/efl_ui_factory.eo.c" diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c index fe0bf9ef24..06df73832a 100644 --- a/src/lib/elementary/elc_ctxpopup.c +++ b/src/lib/elementary/elc_ctxpopup.c @@ -1211,46 +1211,6 @@ _elm_ctxpopup_horizontal_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) return sd->horizontal; } -EAPI const Eina_List * -elm_ctxpopup_items_get(const Evas_Object *obj) -{ - Eina_List *lst = NULL; - Eina_Iterator *it; - void *item_data; - - it = efl_ui_menu_items_get(obj); - EINA_ITERATOR_FOREACH(it, item_data) - { - lst = eina_list_append(lst, item_data); - } - eina_iterator_free(it); - return lst; -} - -EAPI Elm_Widget_Item * -elm_ctxpopup_first_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_first_item_get(obj); -} - -EAPI Elm_Widget_Item * -elm_ctxpopup_last_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_last_item_get(obj); -} - -EAPI Elm_Widget_Item * -elm_ctxpopup_item_prev_get(const Evas_Object *obj) -{ - return efl_ui_item_prev_get(obj); -} - -EAPI Elm_Widget_Item * -elm_ctxpopup_item_next_get(const Evas_Object *obj) -{ - return efl_ui_item_next_get(obj); -} - static void _item_select(Elm_Ctxpopup_Item_Data *item) { @@ -1408,14 +1368,14 @@ _elm_ctxpopup_class_constructor(Efl_Class *klass) evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); } -EOLIAN static Eina_Iterator* -_elm_ctxpopup_efl_ui_menu_items_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) +EOLIAN static const Eina_List * +_elm_ctxpopup_items_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) { - return eina_list_iterator_new(sd->items); + return sd->items; } EOLIAN static Elm_Object_Item* -_elm_ctxpopup_efl_ui_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) +_elm_ctxpopup_first_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) { if (!sd->items) return NULL; @@ -1423,7 +1383,7 @@ _elm_ctxpopup_efl_ui_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data } EOLIAN static Elm_Object_Item* -_elm_ctxpopup_efl_ui_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) +_elm_ctxpopup_last_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) { if (!sd->items) return NULL; @@ -1431,7 +1391,7 @@ _elm_ctxpopup_efl_ui_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data * } EOLIAN static Elm_Object_Item* -_elm_ctxpopup_efl_ui_menu_selected_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) +_elm_ctxpopup_selected_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd) { Eina_List *l; Elm_Object_Item *eo_item; @@ -1474,7 +1434,7 @@ _elm_ctxpopup_item_prepend(Eo *obj, Elm_Ctxpopup_Data *sd, const char *label, Ev } EOLIAN static Elm_Object_Item * -_elm_ctxpopup_item_efl_ui_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) +_elm_ctxpopup_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) { Eina_List *l; @@ -1489,7 +1449,7 @@ _elm_ctxpopup_item_efl_ui_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_It } EOLIAN static Elm_Object_Item * -_elm_ctxpopup_item_efl_ui_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) +_elm_ctxpopup_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) { Eina_List *l; @@ -1504,7 +1464,7 @@ _elm_ctxpopup_item_efl_ui_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_It } EOLIAN static void -_elm_ctxpopup_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, +_elm_ctxpopup_item_selected_set(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item, Eina_Bool selected) { @@ -1527,7 +1487,7 @@ _elm_ctxpopup_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, } EOLIAN static Eina_Bool -_elm_ctxpopup_item_efl_ui_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) +_elm_ctxpopup_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item) { return item->selected; } diff --git a/src/lib/elementary/elc_ctxpopup_legacy.h b/src/lib/elementary/elc_ctxpopup_legacy.h index caf95a844a..cf3ad28371 100644 --- a/src/lib/elementary/elc_ctxpopup_legacy.h +++ b/src/lib/elementary/elc_ctxpopup_legacy.h @@ -8,82 +8,5 @@ */ EAPI Evas_Object *elm_ctxpopup_add(Evas_Object *parent); -/** - * @brief Get the internal list of items in a given ctxpopup widget. - * - * This list is not to be modified in any way and must not be freed. Use the - * list members with functions like @ref elm_object_item_text_set, @ref - * elm_object_item_text_get, @ref elm_object_item_del. - * - * @warning This list is only valid until @c obj object's internal items list - * is changed. It should be fetched again with another call to this function - * when changes happen. - * - * @return The list of items or @c null on errors. - * - * @since 1.11 - * - * @ingroup Elm_Ctxpopup - */ -EAPI const Eina_List *elm_ctxpopup_items_get(const Evas_Object *obj); - -/** - * @brief Get the first item in the given ctxpopup widget's list of items. - * - * See also @ref elm_obj_ctxpopup_item_append, - * @ref elm_obj_ctxpopup_last_item_get. - * - * @return The first item or @c null, if it has no items (and on errors). - * - * @since 1.11 - * - * @ingroup Elm_Ctxpopup - */ -EAPI Elm_Widget_Item *elm_ctxpopup_first_item_get(const Evas_Object *obj); - -/** - * @brief Get the last item in the given ctxpopup widget's list of items. - * - * See also @ref elm_obj_ctxpopup_item_prepend, - * @ref elm_obj_ctxpopup_first_item_get. - * - * @return The last item or @c null, if it has no items (and on errors). - * - * @since 1.1 - * - * @ingroup Elm_Ctxpopup - */ -EAPI Elm_Widget_Item *elm_ctxpopup_last_item_get(const Evas_Object *obj); - -/** - * @brief Get the item before $ it in a ctxpopup widget's internal list of - * items. - * - * See also @ref elm_ctxpopup_item_next_get. - * - * @return The item before the object in its parent's list. If there is no - * previous item for $ it or there's an error, @c null is returned. - * - * @since 1.11 - * - * @ingroup Elm_Ctxpopup_Item - */ -EAPI Elm_Widget_Item *elm_ctxpopup_item_prev_get(const Evas_Object *obj); - -/** - * @brief Get the item after $ it in a ctxpopup widget's internal list of - * items. - * - * See also @ref elm_ctxpopup_item_prev_get. - * - * @return The item after the object in its parent's list. If there is no - * previous item for $ it or there's an error, @c null is returned. - * - * @since 1.11 - * - * @ingroup Elm_Ctxpopup_Item - */ -EAPI Elm_Widget_Item *elm_ctxpopup_item_next_get(const Evas_Object *obj); - #include "elm_ctxpopup_item.eo.legacy.h" #include "elm_ctxpopup.eo.legacy.h" diff --git a/src/lib/elementary/elm_ctxpopup.eo b/src/lib/elementary/elm_ctxpopup.eo index 1421d036a9..019e0926aa 100644 --- a/src/lib/elementary/elm_ctxpopup.eo +++ b/src/lib/elementary/elm_ctxpopup.eo @@ -8,14 +8,44 @@ enum Elm.Ctxpopup.Direction unknown [[Ctxpopup does not determine it's direction yet.]] } -class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, - Efl.Ui.Menu, Efl.Ui.Legacy) +class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, Efl.Ui.Legacy) { [[Elementary context popup class]] legacy_prefix: elm_ctxpopup; eo_prefix: elm_obj_ctxpopup; event_prefix: elm_ctxpopup; methods { + @property selected_item { + get { + [[Get the selected item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The selected item or $null.]] + } + } + @property first_item { + get { + [[Get the first item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The first item or $null.]] + } + } + @property last_item { + get { + [[Get the last item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The last item or $null.]] + } + } + @property items { + get { + [[Returns a list of the widget item.]] + return: const(list); [[const list to widget items]] + } + } + @property horizontal { set { [[Change the ctxpopup's orientation to horizontal or vertical.]] @@ -208,10 +238,6 @@ class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.widget_event; Efl.Ui.Widget.focused_item { get; } - Efl.Ui.Menu.selected_item { get; } - Efl.Ui.Menu.first_item { get; } - Efl.Ui.Menu.last_item { get; } - Efl.Ui.Menu.items { get; } Efl.Access.Widget.Action.elm_actions { get; } Efl.Access.state_set { get; } Efl.Part.part; diff --git a/src/lib/elementary/elm_ctxpopup_item.eo b/src/lib/elementary/elm_ctxpopup_item.eo index b713716435..2abdbfc9ad 100644 --- a/src/lib/elementary/elm_ctxpopup_item.eo +++ b/src/lib/elementary/elm_ctxpopup_item.eo @@ -1,10 +1,58 @@ -class Elm.Ctxpopup.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Access.Widget.Action, +class Elm.Ctxpopup.Item(Elm.Widget.Item, Efl.Access.Widget.Action, Efl.Ui.Legacy) { [[Elementary context popup item class]] legacy_prefix: elm_ctxpopup_item; eo_prefix: elm_obj_ctxpopup_item; methods { + @property prev { + get { + [[Get the item before this one in the widget's list of items. + + See also @.next. + ]] + } + values { + item: Elm.Widget.Item; [[The item before the object in its parent's + list. If there is no previous item or in case + of error, $null is returned.]] + } + } + @property next { + get { + [[Get the item after this one in the widget's list of items. + + See also @.prev. + ]] + } + values { + item: Elm.Widget.Item; [[The item after the object in its parent's + list. If there is no next item or in case + of error, $null is returned.]] + } + } + @property selected { + [[Indicates whether this item is currently selected.]] + get { + [[Get the selected state of this item.]] + } + set { + [[Set the selected state of $item. + + This sets the selected state of the given item $it. + $true for selected, $false for not selected. + + If a new item is selected the previously selected will + be unselected. Previously selected item can be retrieved + with @Elm.Ctxpopup.selected_item.get. + + Selected items will be highlighted. + ]] + } + values { + selected: bool; [[The selection state.]] + } + } init { [[Init context popup item]] params { @@ -23,9 +71,6 @@ class Elm.Ctxpopup.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Access.Widget.Action, Elm.Widget.Item.part_content { get; set; } Elm.Widget.Item.part_content_unset; Elm.Widget.Item.item_focus { get; set; } - Efl.Ui.Item.selected { get; set; } - Efl.Ui.Item.prev { get; } - Efl.Ui.Item.next { get; } Efl.Access.Widget.Action.elm_actions { get; } } } diff --git a/src/lib/elementary/elm_dbus_menu.c b/src/lib/elementary/elm_dbus_menu.c index 7becff12fe..0bf096347d 100644 --- a/src/lib/elementary/elm_dbus_menu.c +++ b/src/lib/elementary/elm_dbus_menu.c @@ -334,7 +334,7 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List *property_list, char *property; Eldbus_Message_Iter *layout, *array, *pair, *variant; Eina_List *l; - Eina_Iterator *it = NULL; + const Eina_List *it; Elm_Object_Item *obj_item; layout = eldbus_message_iter_container_new(iter, 'r', NULL); @@ -360,8 +360,8 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List *property_list, if (recursion_depth > 0) { - it = efl_ui_menu_items_get(dbus_menu->menu); - EINA_ITERATOR_FOREACH (it, obj_item) + it = elm_menu_items_get(dbus_menu->menu); + EINA_LIST_FOREACH (it, l, obj_item) { variant = eldbus_message_iter_container_new(array, 'v', "(ia{sv}av)"); @@ -370,7 +370,6 @@ _root_layout_build(Elm_DBus_Menu *dbus_menu, Eina_List *property_list, recursion_depth - 1, variant); eldbus_message_iter_container_close(array, variant); } - eina_iterator_free(it); } eldbus_message_iter_container_close(layout, array); @@ -423,7 +422,8 @@ _elm_dbus_menu_add(Eo *menu) { Elm_DBus_Menu *dbus_menu; Elm_Object_Item *obj_item; - Eina_Iterator *it = NULL; + const Eina_List *it; + Eina_List *l; ELM_MENU_CHECK(menu) NULL; @@ -443,8 +443,8 @@ _elm_dbus_menu_add(Eo *menu) dbus_menu->menu = menu; - it = efl_ui_menu_items_get(menu); - EINA_ITERATOR_FOREACH(it, obj_item) + it = elm_menu_items_get(menu); + EINA_LIST_FOREACH(it, l, obj_item) { ELM_MENU_ITEM_DATA_GET(obj_item, item); if (!_menu_add_recursive(dbus_menu, item)) @@ -453,7 +453,6 @@ _elm_dbus_menu_add(Eo *menu) goto error_hash; } } - eina_iterator_free(it); return dbus_menu; diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c index df0011e30b..6088c6fda6 100644 --- a/src/lib/elementary/elm_menu.c +++ b/src/lib/elementary/elm_menu.c @@ -916,64 +916,6 @@ elm_menu_parent_get(const Evas_Object *obj) return efl_ui_widget_parent_get(obj); } -EAPI Elm_Widget_Item * -elm_menu_selected_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_selected_item_get(obj); -} - -EAPI const Eina_List * -elm_menu_items_get(const Evas_Object *obj) -{ - Eina_List *lst = NULL; - Eina_Iterator *it; - void *item_data; - - it = efl_ui_menu_items_get(obj); - EINA_ITERATOR_FOREACH(it, item_data) - { - lst = eina_list_append(lst, item_data); - } - eina_iterator_free(it); - return lst; -} - -EAPI Elm_Widget_Item * -elm_menu_first_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_first_item_get(obj); -} - -EAPI Elm_Widget_Item * -elm_menu_last_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_last_item_get(obj); -} - -EAPI void -elm_menu_item_selected_set(Evas_Object *obj, Eina_Bool selected) -{ - efl_ui_item_selected_set(obj, selected); -} - -EAPI Eina_Bool -elm_menu_item_selected_get(const Evas_Object *obj) -{ - return efl_ui_item_selected_get(obj); -} - -EAPI Elm_Widget_Item * -elm_menu_item_prev_get(const Evas_Object *obj) -{ - return efl_ui_item_prev_get(obj); -} - -EAPI Elm_Widget_Item * -elm_menu_item_next_get(const Evas_Object *obj) -{ - return efl_ui_item_next_get(obj); -} - EOLIAN static Evas_Object* _elm_menu_efl_ui_widget_widget_parent_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { @@ -1265,14 +1207,14 @@ _elm_menu_item_subitems_clear(Eo *eo_item EINA_UNUSED, Elm_Menu_Item_Data *it) efl_del(sub_it); } -EOLIAN static Eina_Iterator* -_elm_menu_efl_ui_menu_items_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) +EOLIAN static const Eina_List * +_elm_menu_items_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - return eina_list_iterator_new(sd->items); + return sd->items; } EOLIAN static void -_elm_menu_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, +_elm_menu_item_selected_set(Eo *eo_item EINA_UNUSED, Elm_Menu_Item_Data *item, Eina_Bool selected) { @@ -1292,13 +1234,13 @@ _elm_menu_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, } EOLIAN static Eina_Bool -_elm_menu_item_efl_ui_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Menu_Item_Data *item) +_elm_menu_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Menu_Item_Data *item) { return item->selected; } EOLIAN static Elm_Object_Item * -_elm_menu_item_efl_ui_item_prev_get(Eo *eo_item, Elm_Menu_Item_Data *item) +_elm_menu_item_prev_get(Eo *eo_item, Elm_Menu_Item_Data *item) { if (item->parent) { @@ -1322,7 +1264,7 @@ _elm_menu_item_efl_ui_item_prev_get(Eo *eo_item, Elm_Menu_Item_Data *item) } EOLIAN static Elm_Object_Item * -_elm_menu_item_efl_ui_item_next_get(Eo *eo_item, Elm_Menu_Item_Data *item) +_elm_menu_item_next_get(Eo *eo_item, Elm_Menu_Item_Data *item) { if (item->parent) { @@ -1346,20 +1288,20 @@ _elm_menu_item_efl_ui_item_next_get(Eo *eo_item, Elm_Menu_Item_Data *item) } EOLIAN static Elm_Object_Item* -_elm_menu_efl_ui_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) +_elm_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { return (sd->items ? sd->items->data : NULL); } EOLIAN static Elm_Object_Item* -_elm_menu_efl_ui_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) +_elm_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { Eina_List *l = eina_list_last(sd->items); return (l ? l->data : NULL); } EOLIAN static Elm_Object_Item* -_elm_menu_efl_ui_menu_selected_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) +_elm_menu_selected_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { Eina_List *l; Elm_Object_Item *eo_item; diff --git a/src/lib/elementary/elm_menu.eo b/src/lib/elementary/elm_menu.eo index 922bcf0b1c..1657a2c7c1 100644 --- a/src/lib/elementary/elm_menu.eo +++ b/src/lib/elementary/elm_menu.eo @@ -1,4 +1,4 @@ -class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Menu, +class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Access.Selection, Efl.Ui.Focus.Manager, Efl.Ui.Legacy) { [[Elementary menu class]] @@ -6,6 +6,36 @@ class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Menu, eo_prefix: elm_obj_menu; event_prefix: elm_menu; methods { + @property selected_item { + get { + [[Get the selected item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The selected item or $null.]] + } + } + @property first_item { + get { + [[Get the first item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The first item or $null.]] + } + } + @property last_item { + get { + [[Get the last item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The last item or $null.]] + } + } + @property items { + get { + [[Returns a list of the widget item.]] + return: const(list); [[const list to widget items]] + } + } relative_move { [[Move the menu to a new position @@ -65,10 +95,6 @@ class Elm.Menu (Efl.Ui.Widget, Efl.Ui.Clickable, Efl.Ui.Menu, Efl.Access.access_children { get; } Efl.Access.Selection.selected_children_count { get; } Efl.Access.Selection.selected_child { get; } - Efl.Ui.Menu.selected_item { get; } - Efl.Ui.Menu.first_item { get; } - Efl.Ui.Menu.last_item { get; } - Efl.Ui.Menu.items { get; } Efl.Object.provider_find; } events { diff --git a/src/lib/elementary/elm_menu_item.eo b/src/lib/elementary/elm_menu_item.eo index 6acbfaa9fd..4c7e7eb9d7 100644 --- a/src/lib/elementary/elm_menu_item.eo +++ b/src/lib/elementary/elm_menu_item.eo @@ -1,30 +1,77 @@ -class Elm.Menu.Item(Elm.Widget.Item, Efl.Access.Selection, - Efl.Ui.Item, Efl.Ui.Legacy) +class Elm.Menu.Item(Elm.Widget.Item, Efl.Access.Selection, Efl.Ui.Legacy) { [[Elementary menu item class]] legacy_prefix: elm_menu_item; eo_prefix: elm_obj_menu_item; methods { - @property icon_name { - get { - [[Get the string representation from the icon of a menu item + @property icon_name { + get { + [[Get the string representation from the icon of a menu item - Once this icon is set, any previously set icon will be deleted. - To hide icon set it to "". - ]] - } - set { - [[Set the icon of a menu item to the standard icon with the - given name. + Once this icon is set, any previously set icon will be deleted. + To hide icon set it to "". + ]] + } + set { + [[Set the icon of a menu item to the standard icon with the + given name. - Once this icon is set, any previously set icon will be deleted. - To hide icon set it to "". - ]] - } - values { - icon: string; [[The name of icon object.]] - } - } + Once this icon is set, any previously set icon will be deleted. + To hide icon set it to "". + ]] + } + values { + icon: string; [[The name of icon object.]] + } + } + @property prev { + get { + [[Get the item before this one in the widget's list of items. + + See also @.next. + ]] + } + values { + item: Elm.Widget.Item; [[The item before the object in its parent's + list. If there is no previous item or in case + of error, $null is returned.]] + } + } + @property next { + get { + [[Get the item after this one in the widget's list of items. + + See also @.prev. + ]] + } + values { + item: Elm.Widget.Item; [[The item after the object in its parent's + list. If there is no next item or in case + of error, $null is returned.]] + } + } + @property selected { + [[Indicates whether this item is currently selected.]] + get { + [[Get the selected state of this item.]] + } + set { + [[Set the selected state of $item. + + This sets the selected state of the given item $it. + $true for selected, $false for not selected. + + If a new item is selected the previously selected will + be unselected. Previously selected item can be retrieved + with @Elm.Menu.selected_item.get. + + Selected items will be highlighted. + ]] + } + values { + selected: bool; [[The selection state.]] + } + } index_get @const { [[Get the item index]] return: uint; [[Item index]] @@ -70,8 +117,5 @@ class Elm.Menu.Item(Elm.Widget.Item, Efl.Access.Selection, Efl.Access.state_set { get; } Efl.Access.Selection.selected_children_count { get; } Efl.Access.Selection.selected_child { get; } - Efl.Ui.Item.selected { get; set; } - Efl.Ui.Item.prev { get; } - Efl.Ui.Item.next { get; } } } diff --git a/src/lib/elementary/elm_menu_legacy.h b/src/lib/elementary/elm_menu_legacy.h index 8903190ce9..9c86efc722 100644 --- a/src/lib/elementary/elm_menu_legacy.h +++ b/src/lib/elementary/elm_menu_legacy.h @@ -30,62 +30,5 @@ EAPI void elm_menu_parent_set(Evas_Object *obj, Evas_Obj */ EAPI Evas_Object *elm_menu_parent_get(const Evas_Object *obj); -/** - * @brief Get the selected item in the menu. - * - * @return The selected item or @c null. - * - * @ingroup Elm_Menu - */ -EAPI Elm_Widget_Item *elm_menu_selected_item_get(const Evas_Object *obj); - -/** Returns a list of the item's items. - * - * @ingroup Elm_Menu - */ -EAPI const Eina_List *elm_menu_items_get(const Evas_Object *obj); - -/** Get the first item in the menu. - * - * @ingroup Elm_Menu - */ -EAPI Elm_Widget_Item *elm_menu_first_item_get(const Evas_Object *obj); - -/** Get the last item in the menu. - * - * @ingroup Elm_Menu - */ -EAPI Elm_Widget_Item *elm_menu_last_item_get(const Evas_Object *obj); - -/** - * @brief Set the selected state of @c item. - * - * @param[in] selected The selection state. - * - * @ingroup Elm_Menu_Item - */ -EAPI void elm_menu_item_selected_set(Evas_Object *obj, Eina_Bool selected); - -/** - * @brief Get the selected state of @c item. - * - * @return The selection state. - * - * @ingroup Elm_Menu_Item - */ -EAPI Eina_Bool elm_menu_item_selected_get(const Evas_Object *obj); - -/** Get the previous item in the menu. - * - * @ingroup Elm_Menu_Item - */ -EAPI Elm_Widget_Item *elm_menu_item_prev_get(const Evas_Object *obj); - -/** Get the next item in the menu. - * - * @ingroup Elm_Menu_Item - */ -EAPI Elm_Widget_Item *elm_menu_item_next_get(const Evas_Object *obj); - #include "elm_menu_item.eo.legacy.h" #include "elm_menu.eo.legacy.h" diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c index 94d8c6f670..d2bc1427ae 100644 --- a/src/lib/elementary/elm_toolbar.c +++ b/src/lib/elementary/elm_toolbar.c @@ -3102,7 +3102,7 @@ _elm_toolbar_item_insert_after(Eo *obj, Elm_Toolbar_Data *sd, Elm_Object_Item *e } EOLIAN static Elm_Object_Item* -_elm_toolbar_efl_ui_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) +_elm_toolbar_first_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) { if (!sd->items) return NULL; Elm_Toolbar_Item_Data *it = ELM_TOOLBAR_ITEM_FROM_INLIST(sd->items); @@ -3111,7 +3111,7 @@ _elm_toolbar_efl_ui_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *s } EOLIAN static Elm_Object_Item* -_elm_toolbar_efl_ui_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) +_elm_toolbar_last_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) { if (!sd->items) return NULL; @@ -3121,13 +3121,13 @@ _elm_toolbar_efl_ui_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd } EOLIAN static Eina_Iterator* -_elm_toolbar_efl_ui_menu_items_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) +_elm_toolbar_items_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) { return eina_inlist_iterator_new(sd->items); } EOLIAN static Elm_Object_Item * -_elm_toolbar_item_efl_ui_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *it) +_elm_toolbar_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *it) { ELM_TOOLBAR_ITEM_CHECK_OR_RETURN(it, NULL); @@ -3138,7 +3138,7 @@ _elm_toolbar_item_efl_ui_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item } EOLIAN static Elm_Object_Item * -_elm_toolbar_item_efl_ui_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *it) +_elm_toolbar_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *it) { ELM_TOOLBAR_ITEM_CHECK_OR_RETURN(it, NULL); @@ -3176,7 +3176,7 @@ _elm_toolbar_item_find_by_label(const Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, } EOLIAN static void -_elm_toolbar_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item, Eina_Bool selected) +_elm_toolbar_item_selected_set(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item, Eina_Bool selected) { if (item->selected == selected) return; if (selected) _item_select(item); @@ -3184,13 +3184,13 @@ _elm_toolbar_item_efl_ui_item_selected_set(Eo *eo_item EINA_UNUSED, Elm_Toolbar_ } EOLIAN static Eina_Bool -_elm_toolbar_item_efl_ui_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item) +_elm_toolbar_item_selected_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item) { return item->selected; } EOLIAN static Elm_Object_Item* -_elm_toolbar_efl_ui_menu_selected_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) +_elm_toolbar_selected_item_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd) { return sd->selected_item; } @@ -3429,48 +3429,6 @@ elm_toolbar_transverse_expanded_get(const Evas_Object *obj) return sd->transverse_expanded; } -EAPI Elm_Widget_Item * -elm_toolbar_selected_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_selected_item_get(obj); -} - -EAPI Elm_Widget_Item * -elm_toolbar_first_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_first_item_get(obj); -} - -EAPI Elm_Widget_Item * -elm_toolbar_last_item_get(const Evas_Object *obj) -{ - return efl_ui_menu_last_item_get(obj); -} - -EAPI void -elm_toolbar_item_selected_set(Evas_Object *obj, Eina_Bool selected) -{ - efl_ui_item_selected_set(obj, selected); -} - -EAPI Eina_Bool -elm_toolbar_item_selected_get(const Evas_Object *obj) -{ - return efl_ui_item_selected_get(obj); -} - -EAPI Elm_Widget_Item * -elm_toolbar_item_prev_get(const Evas_Object *obj) -{ - return efl_ui_item_prev_get(obj); -} - -EAPI Elm_Widget_Item * -elm_toolbar_item_next_get(const Evas_Object *obj) -{ - return efl_ui_item_next_get(obj); -} - EOLIAN static void _elm_toolbar_homogeneous_set(Eo *obj, Elm_Toolbar_Data *sd, Eina_Bool homogeneous) { @@ -3891,7 +3849,7 @@ _elm_toolbar_item_efl_access_state_set_get(Eo *eo_it, Elm_Toolbar_Item_Data *ite ret = efl_access_state_set_get(efl_super(eo_it, ELM_TOOLBAR_ITEM_CLASS)); - sel = efl_ui_item_selected_get(eo_it); + sel = elm_toolbar_item_selected_get(eo_it); STATE_TYPE_SET(ret, EFL_ACCESS_STATE_SELECTABLE); diff --git a/src/lib/elementary/elm_toolbar.eo b/src/lib/elementary/elm_toolbar.eo index 66ccfbc447..41629e0c93 100644 --- a/src/lib/elementary/elm_toolbar.eo +++ b/src/lib/elementary/elm_toolbar.eo @@ -25,13 +25,43 @@ enum Elm.Toolbar.Shrink_Mode class Elm.Toolbar (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable, Efl.Ui.Direction, Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Access, - Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Menu, Efl.Ui.Legacy) + Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy) { [[Elementary toolbar class]] legacy_prefix: elm_toolbar; eo_prefix: elm_obj_toolbar; event_prefix: elm_toolbar; methods { + @property selected_item { + get { + [[Get the selected item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The selected item or $null.]] + } + } + @property first_item { + get { + [[Get the first item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The first item or $null.]] + } + } + @property last_item { + get { + [[Get the last item in the widget.]] + } + values { + item: Elm.Widget.Item; [[The last item or $null.]] + } + } + @property items { + get { + [[Returns a list of the widget item.]] + return: iterator @owned @warn_unused; [[iterator to widget items]] + } + } @property homogeneous { [[Control homogeneous mode. @@ -340,10 +370,6 @@ class Elm.Toolbar (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Elm.Interface_Scroll Efl.Access.Selection.is_child_selected; Efl.Access.Selection.all_children_select; Efl.Access.Selection.access_selection_clear; - Efl.Ui.Menu.selected_item { get; } - Efl.Ui.Menu.first_item { get; } - Efl.Ui.Menu.last_item { get; } - Efl.Ui.Menu.items { get; } Efl.Ui.Focus.Composition.prepare; } events { diff --git a/src/lib/elementary/elm_toolbar_item.eo b/src/lib/elementary/elm_toolbar_item.eo index d3b78c2ec5..c5fb4037e2 100644 --- a/src/lib/elementary/elm_toolbar_item.eo +++ b/src/lib/elementary/elm_toolbar_item.eo @@ -23,12 +23,60 @@ struct Elm.Toolbar.Item.State data: const(void_ptr); [[Item data]] } -class Elm.Toolbar.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Ui.Focus.Object, Efl.Ui.Legacy) +class Elm.Toolbar.Item(Elm.Widget.Item, Efl.Ui.Focus.Object, Efl.Ui.Legacy) { [[Elementary toolbar item class]] legacy_prefix: elm_toolbar_item; eo_prefix: elm_obj_toolbar_item; methods { + @property prev { + get { + [[Get the item before this one in the widget's list of items. + + See also @.next. + ]] + } + values { + item: Elm.Widget.Item; [[The item before the object in its parent's + list. If there is no previous item or in case + of error, $null is returned.]] + } + } + @property next { + get { + [[Get the item after this one in the widget's list of items. + + See also @.prev. + ]] + } + values { + item: Elm.Widget.Item; [[The item after the object in its parent's + list. If there is no next item or in case + of error, $null is returned.]] + } + } + @property selected { + [[Indicates whether this item is currently selected.]] + get { + [[Get the selected state of this item.]] + } + set { + [[Set the selected state of $item. + + This sets the selected state of the given item $it. + $true for selected, $false for not selected. + + If a new item is selected the previously selected will + be unselected. Previously selected item can be retrieved + with @Elm.Toolbar.selected_item.get. + + Selected items will be highlighted. + ]] + } + values { + selected: bool; [[The selection state.]] + } + } @property priority { get { [[Get the priority of a toolbar item.]] @@ -276,8 +324,5 @@ class Elm.Toolbar.Item(Elm.Widget.Item, Efl.Ui.Item, Efl.Ui.Focus.Object, Efl.Ui Efl.Ui.Focus.Object.focus { set; } Efl.Access.i18n_name { get; } Efl.Access.state_set { get; } - Efl.Ui.Item.selected { get; set; } - Efl.Ui.Item.prev { get; } - Efl.Ui.Item.next { get; } } } diff --git a/src/lib/elementary/elm_toolbar_legacy.h b/src/lib/elementary/elm_toolbar_legacy.h index 6268d541e8..9d0fe5b007 100644 --- a/src/lib/elementary/elm_toolbar_legacy.h +++ b/src/lib/elementary/elm_toolbar_legacy.h @@ -109,91 +109,5 @@ EAPI void elm_toolbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); */ EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj); -/** - * @brief Get the selected item. - * - * The selected item can be unselected with function - * elm_toolbar_item_selected_set(). - * - * The selected item always will be highlighted on toolbar. - * - * @return The selected toolbar item. - * - * @ingroup Elm_Toolbar - */ -EAPI Elm_Widget_Item *elm_toolbar_selected_item_get(const Evas_Object *obj); - -/** - * @brief Get the first item in the given toolbar widget's list of items. - * - * See: @ref elm_obj_toolbar_item_append and @ref elm_obj_toolbar_last_item_get - * - * @return The first item or @c NULL, if it has no items (and on errors) - * - * @ingroup Elm_Toolbar - */ -EAPI Elm_Widget_Item *elm_toolbar_first_item_get(const Evas_Object *obj); - -/** - * @brief Get the last item in the given toolbar widget's list of items. - * - * See: @ref elm_obj_toolbar_item_prepend and - * @ref elm_obj_toolbar_first_item_get - * - * @return The last item or @c NULL, if it has no items (and on errors) - * - * @ingroup Elm_Toolbar - */ -EAPI Elm_Widget_Item *elm_toolbar_last_item_get(const Evas_Object *obj); - -/** - * @brief Get the item before @c item in toolbar. - * - * @note If it is the first item, @c null will be returned. - * - * @return The item before @c item, or @c null if none or on failure. - * - * @ingroup Elm_Toolbar_Item - */ -EAPI Elm_Widget_Item *elm_toolbar_item_prev_get(const Evas_Object *obj); - -/** - * @brief Get the item after @c item in toolbar. - * - * @note If it is the last item, @c null will be returned. - * - * @return The item after @c item, or @c null if none or on failure. - * - * @ingroup Elm_Toolbar_Item - */ -EAPI Elm_Widget_Item *elm_toolbar_item_next_get(const Evas_Object *obj); - -/** - * @brief Set the selected state of an item. - * - * This sets the selected state of the given item @c it. @c true for selected, - * @c false for not selected. - * - * If a new item is selected the previously selected will be unselected. - * Previously selected item can be get with function - * @ref efl_ui_menu_selected_item_get. - * - * Selected items will be highlighted. - * - * @param[in] selected The selected state. - * - * @ingroup Elm_Toolbar_Item - */ -EAPI void elm_toolbar_item_selected_set(Evas_Object *obj, Eina_Bool selected); - -/** - * @brief Get whether the @c item is selected or not. - * - * @return The selected state. - * - * @ingroup Elm_Toolbar_Item - */ -EAPI Eina_Bool elm_toolbar_item_selected_get(const Evas_Object *obj); - #include "elm_toolbar_item.eo.legacy.h" #include "elm_toolbar.eo.legacy.h"