ELM_ACTIVATE_UP,
ELM_ACTIVATE_DOWN,
ELM_ACTIVATE_RIGHT,
- ELM_ACTIVATE_LEFT
+ ELM_ACTIVATE_LEFT,
+ ELM_ACTIVATE_BACK
} Elm_Activate;
/* Please, ALWAYS update the ELM_WIDGET_SMART_CLASS_INIT macro
Evas_Object *resize_obj;
Evas_Object *hover_obj;
Eina_List *tooltips, *cursors;
+ Evas_Object *focus_previous, *focus_next;
+ Evas_Object *focus_up, *focus_down, *focus_right, *focus_left;
/* "show region" coordinates. all widgets got those because this
* info may be set and queried recursively through the widget
Evas_Object *obj);
int frozen;
+ int orient_mode; /* -1 is disabled */
Eina_Bool drag_x_locked : 1;
Eina_Bool drag_y_locked : 1;
* default */
Eina_Bool still_in : 1;
Eina_Bool can_access : 1;
+ Eina_Bool highlighted : 1;
+ Eina_Bool highlight_root : 1;
} Elm_Widget_Smart_Data;
/**
/**< base structure for all widget items that are not Elm_Widget themselves */
typedef struct _Elm_Widget_Item Elm_Widget_Item;
+typedef struct _Elm_Widget_Item_Signal_Data Elm_Widget_Item_Signal_Data;
/**< accessibility information to be able to set and get from the access API */
typedef struct _Elm_Access_Info Elm_Access_Info;
typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const char *emission, const char *source);
typedef void (*Elm_Widget_Disable_Cb)(void *data);
typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data);
+typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Widget_Item *item, const char *emission, const char *source);
#define ELM_ACCESS_DONE -1 /* sentence done - send done event here */
#define ELM_ACCESS_CANCEL -2 /* stop reading immediately */
{
int type;
const void *data;
- Elm_Access_Content_Cb func;
+ Elm_Access_Info_Cb func;
};
struct _Elm_Access_Info
Evas_Object *part_object;
};
+void _elm_access_shutdown();
+void _elm_access_mouse_event_enabled_set(Eina_Bool enabled);
+/* elm_widget_focus_list_next_get();, elm_widget_focus_next_get();
+ and elm_widget_focus_cycle(); use _elm_access_read_mode to use
+ focus chain */
+void _elm_access_read_mode_set(Eina_Bool enabled);
+Eina_Bool _elm_access_read_mode_get();
+void _elm_access_widget_item_access_order_set(Elm_Widget_Item *item, Eina_List *objs);
+const Eina_List *_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item);
+void _elm_access_widget_item_access_order_unset(Elm_Widget_Item *item);
+void _elm_access_highlight_object_scroll(Evas_Object *obj, int type, int x, int y);
+
EAPI void _elm_access_clear(Elm_Access_Info *ac);
EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const char *text);
-EAPI void _elm_access_callback_set(Elm_Access_Info *ac, int type, Elm_Access_Content_Cb func, const void *data);
-EAPI char *_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj); /* this is ok it actually returns a strduped string - it's meant to! */
-EAPI void _elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj);
+EAPI void _elm_access_callback_set(Elm_Access_Info *ac, int type, Elm_Access_Info_Cb func, const void *data);
+EAPI char *_elm_access_text_get(const Elm_Access_Info *ac, int type, const Evas_Object *obj); /* this is ok it actually returns a strduped string - it's meant to! */
+EAPI void _elm_access_read(Elm_Access_Info *ac, int type, const Evas_Object *obj);
EAPI void _elm_access_say(const char *txt);
EAPI Elm_Access_Info *_elm_access_object_get(const Evas_Object *obj);
EAPI void _elm_access_object_hilight(Evas_Object *obj);
/**< put this as the first member in your widget item struct */
#define ELM_WIDGET_ITEM Elm_Widget_Item base
+struct _Elm_Widget_Item_Signal_Data
+{
+ Elm_Widget_Item *item;
+ Elm_Widget_Item_Signal_Cb func;
+ const char *emission;
+ const char *source;
+ void *data;
+};
+
struct _Elm_Widget_Item
{
/* ef1 ~~ efl, el3 ~~ elm */
Elm_Widget_Disable_Cb disable_func;
Evas_Object *access_obj;
const char *access_info;
+ Eina_List *access_order;
+ Eina_List *translate_strings;
+ Eina_List *signals;
Eina_Bool disabled : 1;
Eina_Bool on_deletion : 1;
EAPI Eina_Bool elm_widget_focus_next_get(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next);
EAPI Eina_Bool elm_widget_focus_list_direction_get(const Evas_Object *obj, const Evas_Object *base, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), double degree, Evas_Object **direction, double *weight);
EAPI Eina_Bool elm_widget_focus_list_next_get(const Evas_Object *obj, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), Elm_Focus_Direction dir, Evas_Object **next);
+EAPI Evas_Object *elm_widget_focus_next_object_get(const Evas_Object *obj, Elm_Focus_Direction dir);
+EAPI void elm_widget_focus_next_object_set(Evas_Object *obj, Evas_Object *next, Elm_Focus_Direction dir);
EAPI void elm_widget_focus_set(Evas_Object *obj, int first);
EAPI void elm_widget_focused_object_clear(Evas_Object *obj);
EAPI Evas_Object *elm_widget_parent_get(const Evas_Object *obj);
EAPI void elm_widget_display_mode_set(Evas_Object *obj, Evas_Display_Mode dispmode);
EAPI const Elm_Widget_Smart_Class *elm_widget_smart_class_get(void);
+EAPI Eina_Bool elm_widget_highlight_get(const Evas_Object *obj);
+EAPI void elm_widget_parent_highlight_set(Evas_Object *obj, Eina_Bool highlighted);
/**
* @internal
*
EAPI void elm_widget_focus_tree_unfocusable_handle(Evas_Object *obj);
EAPI void elm_widget_focus_disabled_handle(Evas_Object *obj);
EAPI unsigned int elm_widget_focus_order_get(const Evas_Object *obj);
+EAPI Evas_Object *elm_widget_newest_focus_order_get(const Evas_Object *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only);
EAPI void elm_widget_activate(Evas_Object *obj, Elm_Activate act);
EAPI void elm_widget_text_part_set(Evas_Object *obj, const char *part, const char *label);
EAPI const char *elm_widget_text_part_get(const Evas_Object *obj, const char *part);
-EAPI void elm_widget_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text);
-EAPI const char *elm_widget_translatable_text_part_get(const Evas_Object *obj, const char *part);
+EAPI void elm_widget_domain_translatable_part_text_set(Evas_Object *obj, const char *part, const char *domain, const char *text);
+EAPI const char *elm_widget_translatable_part_text_get(const Evas_Object *obj, const char *part);
EAPI void elm_widget_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
EAPI Evas_Object *elm_widget_content_part_get(const Evas_Object *obj, const char *part);
EAPI Evas_Object *elm_widget_content_part_unset(Evas_Object *obj, const char *part);
EAPI void elm_widget_access_info_set(Evas_Object *obj, const char *txt);
EAPI const char *elm_widget_access_info_get(const Evas_Object *obj);
+EAPI void elm_widget_orientation_set(Evas_Object *obj, int rotation);
+EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
+EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj);
+// TIZEN ONLY: temporary code. should be removed after eo is applied.
+EAPI void _elm_widget_orient_signal_emit(Evas_Object *obj);
+
EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
EAPI void _elm_widget_item_free(Elm_Widget_Item *item);
EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item);
EAPI Evas_Object *_elm_widget_item_part_content_unset(Elm_Widget_Item *item, const char *part);
EAPI void _elm_widget_item_part_text_set(Elm_Widget_Item *item, const char *part, const char *label);
EAPI const char *_elm_widget_item_part_text_get(const Elm_Widget_Item *item, const char *part);
+
+EAPI void _elm_widget_item_signal_callback_add(Elm_Widget_Item *item, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func, void *data);
+EAPI void *_elm_widget_item_signal_callback_del(Elm_Widget_Item *it, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func);
EAPI void _elm_widget_item_signal_emit(Elm_Widget_Item *item, const char *emission, const char *source);
EAPI void _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Set_Cb func);
EAPI void _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Get_Cb func);
EAPI Eina_Bool _elm_widget_item_disabled_get(const Elm_Widget_Item *item);
EAPI void _elm_widget_item_disable_hook_set(Elm_Widget_Item *item, Elm_Widget_Disable_Cb func);
EAPI void _elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item, Elm_Widget_Del_Pre_Cb func);
+EAPI void _elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item, const char *part, const char *domain, const char *label);
+EAPI const char * _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, const char *part);
+EAPI void _elm_widget_item_translate(Elm_Widget_Item *item);
/**
* Function to operate on a given widget's scrollabe children when necessary.