}
/**
+ * @brief Gets index in parent
+ *
+ * @param parent EailItemParent instance
+ * @param item EailItem child instance
+ *
+ * @returns int representing the index in parent
+ */
+static gint
+eail_gengrid_get_item_index_in_parent(EailItemParent *parent, EailItem *item)
+{
+ Elm_Object_Item *it = eail_item_get_item(item);
+
+ if (!it) return -1;
+
+ return elm_gengrid_item_index_get(it)-1;
+}
+
+/**
* @brief EailItemParent interface initialization
*
* @param iface EailItemParentIface instance
iface->grab_item_focus = eail_gengrid_grab_item_focus;
iface->get_item_extents = eail_gengrid_item_extents_get;
iface->get_actions_supported = eail_gengrid_get_actions_supported;
+ iface->get_item_index_in_parent = eail_gengrid_get_item_index_in_parent;
}
/**
}
/**
+ * @brief Gets index in parent
+ *
+ * @param parent EailItemParent instance
+ * @param item EailItem child instance
+ *
+ * @returns int representing the index in parent
+ */
+static gint
+eail_index_get_item_index_in_parent(EailItemParent *parent, EailItem *item)
+{
+ Elm_Object_Item *it = eail_item_get_item(item);
+ const Eina_List *items;
+ int i = 0;
+
+ if (!it) return -1;
+
+ items = eail_index_get_index_items(ATK_OBJECT(parent));
+ for (i=0; i<eina_list_count(items); ++i)
+ {
+ if (eina_list_nth(items, i) == it)
+ {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+/**
* @brief Initialization of EailItemParentIface callbacks
*
* @param iface EailItemParentIface instance
{
iface->get_item_name = eail_index_get_item_name;
iface->is_content_get_supported = eail_index_content_get_support;
+ iface->get_item_index_in_parent = eail_index_get_item_index_in_parent;
}
/**
}
/**
+ * @brief Gets index in parent
+ *
+ * @param parent EailItemParent instance
+ * @param item EailItem child instance
+ *
+ * @returns int representing the index in parent
+ */
+static gint
+eail_list_get_item_index_in_parent(EailItemParent *parent, EailItem *item)
+{
+ Elm_Object_Item *it = eail_item_get_item(item);
+ Eina_List *items;
+ gint index = -1;
+ int i = 0;
+
+ if (!it) return -1;
+
+ items = eail_list_get_items(EAIL_LIST(ATK_OBJECT(parent)));
+ for (i=0; i<eina_list_count(items); ++i)
+ {
+ if (eina_list_nth(items, i) == it)
+ {
+ index = i;
+ break;
+ }
+ }
+
+ eina_list_free(items);
+ return index;
+}
+
+/**
* @brief Gets the name of a list's child
*
* @param parent EailItemParent instance
iface->grab_item_focus = eail_list_grab_item_focus;
iface->get_evas_obj = eail_list_get_evas_obj;
iface->get_actions_supported = eail_list_get_actions_supported;
+ iface->get_item_index_in_parent = eail_list_get_item_index_in_parent;
}
/*
}
/**
+ * @brief Gets index in parent
+ *
+ * @param parent EailItemParent instance
+ * @param item EailItem child instance
+ *
+ * @returns int representing the index in parent
+ */
+static gint
+eail_menu_get_item_index_in_parent(EailItemParent *parent, EailItem *item)
+{
+ Elm_Object_Item *it = eail_item_get_item(item);
+ if (!it) return -1;
+
+ return elm_menu_item_index_get(it);
+}
+
+/**
* @brief Initializes EailItemParentIface callbacks
*
* @param iface EailItemParentIface instance
iface->ref_n_child = eail_menu_item_ref_child;
iface->get_actions_supported = eail_menu_get_actions_supported;
iface->is_content_get_supported = eail_menu_item_content_get_support;
+ iface->get_item_index_in_parent = eail_menu_get_item_index_in_parent;
}
}
/**
+ * @brief Gets index in parent
+ *
+ * @param parent EailItemParent instance
+ * @param item EailItem child instance
+ *
+ * @returns int representing the index in parent
+ */
+static gint
+eail_toolbar_get_item_index_in_parent(EailItemParent *parent, EailItem *item)
+{
+ Elm_Object_Item *it = eail_item_get_item(item);
+ Eina_List *items;
+ gint index = -1;
+ int i = 0;
+
+ if (!it) return -1;
+
+ items = eail_toolbar_get_items(EAIL_TOOLBAR(ATK_OBJECT(parent)));
+ for (i=0; i<eina_list_count(items); ++i)
+ {
+ if (eina_list_nth(items, i) == it)
+ {
+ index = i;
+ break;
+ }
+ }
+
+ eina_list_free(items);
+ return index;
+}
+
+/**
* @brief Initialization of EailItemParentIface interface callbacks
*
* Function called upon instance creation. It initializes EailItemParent
iface->get_item_name = eail_toolbar_item_name_get;
iface->get_evas_obj = eail_toolbar_get_evas_obj;
iface->get_actions_supported = eail_toolbar_get_actions_supported;
+ iface->get_item_index_in_parent = eail_toolbar_get_item_index_in_parent;
}