[access] support back gesture
[framework/uifw/elementary.git] / src / lib / elm_widget.h
index 1bc7677..713f831 100644 (file)
@@ -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
@@ -534,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;
@@ -549,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 */
@@ -590,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);
@@ -617,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 */
@@ -646,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;
@@ -786,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);
@@ -796,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);
@@ -824,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);
@@ -836,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.