forked from enlightenment/efl
create and use ELM_WIDGET_ITEM for elm widget structs to ensure location/name
SVN revision: 64218
This commit is contained in:
parent
474c285562
commit
4ad1c5f0db
|
@ -6,7 +6,7 @@ typedef struct _Elm_Ctxpopup_Item Elm_Ctxpopup_Item;
|
||||||
|
|
||||||
struct _Elm_Ctxpopup_Item
|
struct _Elm_Ctxpopup_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
const char *label;
|
const char *label;
|
||||||
Evas_Object *icon;
|
Evas_Object *icon;
|
||||||
Evas_Smart_Cb func;
|
Evas_Smart_Cb func;
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_Hoversel_Item
|
struct _Elm_Hoversel_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
const char *label;
|
const char *label;
|
||||||
const char *icon_file;
|
const char *icon_file;
|
||||||
const char *icon_group;
|
const char *icon_group;
|
||||||
|
|
|
@ -33,7 +33,7 @@ struct _Elm_Naviframe_Text_Item_Pair
|
||||||
|
|
||||||
struct _Elm_Naviframe_Item
|
struct _Elm_Naviframe_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
Eina_Inlist *content_list;
|
Eina_Inlist *content_list;
|
||||||
Eina_Inlist *text_list;
|
Eina_Inlist *text_list;
|
||||||
|
|
|
@ -41,7 +41,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_Diskselector_Item
|
struct _Elm_Diskselector_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
Eina_List *node;
|
Eina_List *node;
|
||||||
Evas_Object *icon;
|
Evas_Object *icon;
|
||||||
const char *label;
|
const char *label;
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
struct _Elm_Flipselector_Item
|
struct _Elm_Flipselector_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
const char *label;
|
const char *label;
|
||||||
Evas_Smart_Cb func;
|
Evas_Smart_Cb func;
|
||||||
void *data;
|
void *data;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
struct _Elm_Gengrid_Item
|
struct _Elm_Gengrid_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
Evas_Object *spacer;
|
Evas_Object *spacer;
|
||||||
const Elm_Gengrid_Item_Class *itc;
|
const Elm_Gengrid_Item_Class *itc;
|
||||||
|
|
|
@ -16,7 +16,7 @@ typedef struct _Item_Cache Item_Cache;
|
||||||
|
|
||||||
struct _Elm_Genlist_Item
|
struct _Elm_Genlist_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
Widget_Data *wd;
|
Widget_Data *wd;
|
||||||
const Elm_Genlist_Item_Class *itc;
|
const Elm_Genlist_Item_Class *itc;
|
||||||
|
|
|
@ -21,7 +21,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_Index_Item
|
struct _Elm_Index_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
const char *letter;
|
const char *letter;
|
||||||
int level;
|
int level;
|
||||||
Eina_Bool selected : 1;
|
Eina_Bool selected : 1;
|
||||||
|
|
|
@ -32,7 +32,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_List_Item
|
struct _Elm_List_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
Widget_Data *wd;
|
Widget_Data *wd;
|
||||||
Eina_List *node;
|
Eina_List *node;
|
||||||
const char *label;
|
const char *label;
|
||||||
|
|
|
@ -5,7 +5,7 @@ typedef struct _Widget_Data Widget_Data;
|
||||||
|
|
||||||
struct _Elm_Menu_Item
|
struct _Elm_Menu_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
Elm_Menu_Item *parent;
|
Elm_Menu_Item *parent;
|
||||||
Evas_Object *content;
|
Evas_Object *content;
|
||||||
const char *icon_str;
|
const char *icon_str;
|
||||||
|
|
|
@ -15,7 +15,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_Segment_Item
|
struct _Elm_Segment_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
Evas_Object *icon;
|
Evas_Object *icon;
|
||||||
const char *label;
|
const char *label;
|
||||||
int seg_index;
|
int seg_index;
|
||||||
|
|
|
@ -5,7 +5,7 @@ typedef struct _Widget_Data Widget_Data;
|
||||||
|
|
||||||
struct _Elm_Slideshow_Item
|
struct _Elm_Slideshow_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
|
|
||||||
Eina_List *l, *l_built;
|
Eina_List *l, *l_built;
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ struct _Widget_Data
|
||||||
|
|
||||||
struct _Elm_Toolbar_Item
|
struct _Elm_Toolbar_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item base;
|
ELM_WIDGET_ITEM;
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
const char *label;
|
const char *label;
|
||||||
const char *icon_str;
|
const char *icon_str;
|
||||||
|
|
|
@ -240,6 +240,7 @@ EAPI void _elm_access_object_register(Evas_Object *obj, Evas_Object
|
||||||
EAPI void _elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj);
|
EAPI void _elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj);
|
||||||
EAPI Eina_Bool _elm_access_2nd_click_timeout(Evas_Object *obj);
|
EAPI Eina_Bool _elm_access_2nd_click_timeout(Evas_Object *obj);
|
||||||
|
|
||||||
|
#define ELM_WIDGET_ITEM Elm_Widget_Item base /**< put this as the first member in your widget item struct */
|
||||||
struct _Elm_Widget_Item
|
struct _Elm_Widget_Item
|
||||||
{
|
{
|
||||||
/* ef1 ~~ efl, el3 ~~ elm */
|
/* ef1 ~~ efl, el3 ~~ elm */
|
||||||
|
@ -264,14 +265,14 @@ struct _Elm_Widget_Item
|
||||||
|
|
||||||
struct _Elm_Object_Item
|
struct _Elm_Object_Item
|
||||||
{
|
{
|
||||||
Elm_Widget_Item it;
|
ELM_WIDGET_ITEM;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ELM_NEW(t) calloc(1, sizeof(t))
|
#define ELM_NEW(t) calloc(1, sizeof(t))
|
||||||
|
|
||||||
#define ELM_OBJ_ITEM_CHECK_OR_RETURN(it, ...) \
|
#define ELM_OBJ_ITEM_CHECK_OR_RETURN(it, ...) \
|
||||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *) (it), __VA_ARGS__); \
|
ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *) (it), __VA_ARGS__); \
|
||||||
ELM_CHECK_WIDTYPE(it->it.widget, widtype) __VA_ARGS__;
|
ELM_CHECK_WIDTYPE(it->base.widget, widtype) __VA_ARGS__;
|
||||||
|
|
||||||
EAPI Eina_Bool elm_widget_api_check(int ver);
|
EAPI Eina_Bool elm_widget_api_check(int ver);
|
||||||
EAPI Evas_Object *elm_widget_add(Evas *evas);
|
EAPI Evas_Object *elm_widget_add(Evas *evas);
|
||||||
|
@ -621,12 +622,6 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
|
||||||
#define elm_widget_item_signal_emit_hook_set(item, func) \
|
#define elm_widget_item_signal_emit_hook_set(item, func) \
|
||||||
_elm_widget_item_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_On_Signal_Emit_Cb)func)
|
_elm_widget_item_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_On_Signal_Emit_Cb)func)
|
||||||
|
|
||||||
/**
|
|
||||||
* Cast and ensure the given pointer is an Elm_Widget_Item or return NULL.
|
|
||||||
*/
|
|
||||||
#define ELM_WIDGET_ITEM(item) \
|
|
||||||
(((item) && (EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC))) ? \
|
|
||||||
((Elm_Widget_Item *)(item)) : NULL)
|
|
||||||
|
|
||||||
#define ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, ...) \
|
#define ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, ...) \
|
||||||
do { \
|
do { \
|
||||||
|
|
Loading…
Reference in New Issue