X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_widget.h;h=713f8310d6c4a5a1d5eb0f994c037af5144741d5;hb=741fc0e81e431509bd9ba42c707dd99fba0570ee;hp=46229827757a82362b64bddbac7f867483685eb3;hpb=e7a831d8a3462006d978dabffb7f8e31beb62b30;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index 4622982..713f831 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -397,7 +397,8 @@ typedef enum 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 @@ -466,6 +467,8 @@ typedef struct _Elm_Widget_Smart_Data 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 @@ -532,6 +535,7 @@ typedef struct _Elm_Cursor Elm_Cursor; /**< 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; @@ -547,6 +551,7 @@ typedef Evas_Object *(*Elm_Widget_Content_Unset_Cb)(const void *data, c 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 */ @@ -588,6 +593,7 @@ 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); @@ -615,6 +621,15 @@ EAPI void _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Di /**< 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 */ @@ -644,6 +659,8 @@ struct _Elm_Widget_Item 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; @@ -708,6 +725,8 @@ EAPI Eina_Bool elm_widget_focus_direction_get(const Evas_Object *obj, con 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); @@ -782,8 +801,8 @@ EAPI Evas_Object *elm_widget_newest_focus_order_get(const Evas_Object *obj, 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); @@ -792,6 +811,9 @@ 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); @@ -820,6 +842,9 @@ EAPI Evas_Object *_elm_widget_item_part_content_get(const Elm_Widget_Item *i 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); @@ -832,6 +857,9 @@ EAPI void _elm_widget_item_disabled_set(Elm_Widget_Item *item, Eina_ 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.