2 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
23 * @brief Header for Eail Utility functions
35 #define EAIL_STR_SCROLL_UP "scroll_up" /**< @brief String for 'scroll up'*/
36 #define EAIL_STR_SCROLL_DOWN "scroll_down" /**< @brief String for 'scroll down'*/
37 #define EAIL_STR_SCROLL_LEFT "scroll_left" /**< @brief String for 'scroll left'*/
38 #define EAIL_STR_SCROLL_RIGHT "scroll_right" /**< @brief String for 'scroll right'*/
41 * @enum EAIL_SCROLL_TYPE Type of scroll direction
45 EAIL_SCROLL_TYPE_UP,/**< scroll 'up' direction */
46 EAIL_SCROLL_TYPE_DOWN,/**< scroll 'down' direction */
47 EAIL_SCROLL_TYPE_LEFT,/**< scroll 'left' direction */
48 EAIL_SCROLL_TYPE_RIGHT/**< scroll 'right' direction */
52 * @brief Helper function gets substring from string
54 gchar *eail_get_substring(const gchar* string, gint start_offset, gint end_offset);
57 * @brief Generic function for generating ref_state for Evas_Objects stored in
61 AtkStateSet *eail_evas_obj_ref_state_set(Evas_Object *widget,
62 AtkStateSet *state_set);
65 * @brief Generic function for grabbing focus on Evas_Object stored in ATK object
67 gboolean eail_evas_obj_grab_focus(Evas_Object *widget);
70 * @brief Emulates mouse 'press' event at given coordinates
72 void eail_mouse_press_on_coords(Evas_Object *widget, int x, int y);
75 * @brief Emulates mouse 'release' event at given coordinates
77 void eail_mouse_release_on_coords(Evas_Object *widget, int x, int y);
80 * @brief Emulates mouse 'click' event at given coordinates
82 void eail_mouse_click_on_coords(Evas_Object *widget, int x, int y);
85 * @brief Gets coordinates of center of given widget
87 void eail_get_coords_widget_center(Evas_Object *widget, int *x, int *y);
90 * @brief Gets edje parts list for item
93 Eina_List *eail_get_edje_parts_for_item(Elm_Object_Item *item);
96 * @brief Gets text content from item (each text is put into field in Eina_List
99 Eina_List *eail_item_get_content_strings(Elm_Object_Item *item);
102 * @brief Scrolls screen to given direction
104 gboolean eail_handle_scroll(Evas_Object *widget,
105 enum EAIL_SCROLL_TYPE type);
108 * @brief Scrolls screen up
110 gboolean eail_action_scroll_up(Evas_Object *widget,
114 * @brief Scrolls screen down
116 gboolean eail_action_scroll_down(Evas_Object *widget,
120 * @brief Scrolls screen left
122 gboolean eail_action_scroll_left(Evas_Object *widget,
126 * @brief Scrolls screen right
128 gboolean eail_action_scroll_right(Evas_Object *widget,
132 * @brief Emits signal for ATK Object
134 void eail_emit_atk_signal(AtkObject * atk_obj,
135 const gchar *signal_name,
139 * @brief Handler for selected event in for list-based content
141 void eail_list_item_handle_selected_event(void *data,
146 * @brief Handler for unselected event for list-based content
148 void eail_list_item_handle_unselected_event(void *data,
154 * @brief Gets raw evas object list for eail item
156 Eina_List *eail_get_raw_evas_obj_list_from_item(Elm_Object_Item *item);
159 * @brief Helper function for emitting 'children changed' signal when needed
161 void eail_emit_children_changed(gboolean added,
166 * @brief Helper function for emit children changed signal when needed (func
167 * version that takes object instead of index-number)
169 void eail_emit_children_changed_obj(gboolean added,
171 AtkObject *changed_obj);
174 * @brief Helper function to notify windows about focus changes of its children
176 void eail_notify_child_focus_changes(void);