diff --git a/src/lib/elementary/elm_gen.h b/src/lib/elementary/elm_gen.h index 9f2bef7370..a1985c944a 100644 --- a/src/lib/elementary/elm_gen.h +++ b/src/lib/elementary/elm_gen.h @@ -1,3 +1,9 @@ +/* Type definitions for elementary generic items (genlist, gengrid, ...). + * Only for legacy. + */ + +#ifndef EFL_NOLEGACY_API_SUPPORT + typedef struct Elm_Gen_Item Elm_Gen_Item; /** @@ -57,3 +63,45 @@ typedef Evas_Object *(*Elm_Gen_Item_Reusable_Content_Get_Cb)(vo #define ELM_GEN_ITEM_CLASS_VERSION 3 #define ELM_GEN_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_VERSION, 0, 0 + + +/** Elementary genlist/gengrid callback functions data structure */ +typedef struct _Elm_Gen_Item_Class_Functions +{ + Elm_Gen_Item_Text_Get_Cb text_get; /**< Text fetching class function for genlist/gengrid item classes. */ + Elm_Gen_Item_Content_Get_Cb content_get; /**< Content fetching class function for genlist/gengrid item classes. */ + Elm_Gen_Item_State_Get_Cb state_get; /**< State fetching class function for genlist/gengrid item classes. */ + Elm_Gen_Item_Del_Cb del; /**< Deletion class function for genlist/gengrid item classes. */ + Elm_Gen_Item_Filter_Get_Cb filter_get; /**< Filter seeking class function for genlist/gengrid item classes. */ + Elm_Gen_Item_Reusable_Content_Get_Cb reusable_content_get; /**< Reusable content get class function for gen item classes. */ +} Elm_Gen_Item_Class_Functions; + +/** Gengrid or Genlist item class definition. */ +typedef struct _Elm_Gen_Item_Class +{ + int version; /**< Set by elementary if you alloc an item class using + * elm_genlist/gengrid_item_class_new(), or if you set your own + * class (must be const) then set it to + * ELM_GENLIST/GENGRID_ITEM_CLASS_VERSION. */ + unsigned int refcount; /**< Set it to 0 if you use your own const class, or + * its managed for you by class ref/unref calls. */ + Eina_Bool delete_me; /**< Leave this alone - set it to 0 if you have a const + * class of your own. */ + const char *item_style; /**< Name of the visual style to use for this item. If + * you don't know use "default". */ + const char *decorate_item_style; /**< Style used if item is set to a decorate + * mode. see elm_genlist_item_decorate_mode_set() or + * NULL if you don't care. currently it's used only in genlist. */ + const char *decorate_all_item_style; /**< Style to use when in edit mode, or + * NULL if you don't care. Currently + * it's used only in genlist. */ + Elm_Gen_Item_Class_Functions func; /**< Set of callbacks */ +} Elm_Gen_Item_Class; + +/** See @ref Elm_Gen_Item_Class. */ +typedef Elm_Gen_Item_Class Elm_Gengrid_Item_Class; + +/** See @ref Elm_Gen_Item_Class. */ +typedef Elm_Gen_Item_Class Elm_Genlist_Item_Class; + +#endif diff --git a/src/lib/elementary/elm_general.eot b/src/lib/elementary/elm_general.eot index 4bde308d45..e9dd416509 100644 --- a/src/lib/elementary/elm_general.eot +++ b/src/lib/elementary/elm_general.eot @@ -7,63 +7,11 @@ struct Elm.Event.Policy_Changed } /* FIXME: These shouldn't be here, we don't do functions in eolian!!! */ -type Elm_Gen_Item_Text_Get_Cb: __undefined_type; [[Elementary genlist/gengrid item text callback type]] -type Elm_Gen_Item_Content_Get_Cb: __undefined_type; [[Elementary genlist/gengrid item content callback type]] -type Elm_Gen_Item_State_Get_Cb: __undefined_type; [[Elementary genlist/gengrid item state callback type]] -type Elm_Gen_Item_Del_Cb: __undefined_type; [[Elementary genlist/gengrid item del callback type]] -type Elm_Gen_Item_Filter_Get_Cb: __undefined_type; [[Elementary genlist/gengrid item filter callback type]] -type Elm_Gen_Item_Reusable_Content_Get_Cb: __undefined_type; [[Elementary genlist/gengrid item reusable content callback type]] type Elm_Tooltip_Item_Content_Cb: __undefined_type; [[Elementary tooltip item content callback type]] type Elm_Object_Item_Signal_Cb: __undefined_type; [[Elementary object item signal callback type]] type Evas_Smart_Cb: __undefined_type; [[Evas smart callback type]] type Eina_Compare_Cb: __undefined_type; [[Eina compare callback type]] -/* FIXME: This shouldn't be here, we don't do functions in eolian!!! */ -struct Elm.Gen.Item.Class.Functions -{ - [[Elementary genlist/gengrid callback functions data structure]] - text_get: Elm_Gen_Item_Text_Get_Cb; [[ Text fetching class function for - genlist/gengrid item classes. ]] - content_get: Elm_Gen_Item_Content_Get_Cb; [[ Content fetching class function - for genlist/gengrid item classes. ]] - state_get: Elm_Gen_Item_State_Get_Cb; [[ State fetching class function for - genlist/gengrid item classes. ]] - del: Elm_Gen_Item_Del_Cb; [[ Deletion class function for genlist/gengrid - item classes. ]] - filter_get: Elm_Gen_Item_Filter_Get_Cb; [[ Filter seeking class function for - genlist/gengrid item classes. ]] - reusable_content_get: Elm_Gen_Item_Reusable_Content_Get_Cb; [[ Reusable content get class - function for gen item classes. ]] - -} - -struct Elm.Gen.Item.Class -{ - [[ Gengrid or Genlist item class definition. ]] - version: int; [[Set by elementary if you alloc an item class using - elm_genlist/gengrid_item_class_new(), or if you set your own - class (must be const) then set it to - ELM_GENLIST/GENGRID_ITEM_CLASS_VERSION. ]] - refcount: uint; [[ Set it to 0 if you use your own const class, or - its managed for you by class ref/unref calls. ]] - delete_me: bool; [[ Leave this alone - set it to 0 if you have a - const class of your own. ]] - item_style: string; [[ Name of the visual style to use for this item. - If you don't know use "default". ]] - decorate_item_style: string; [[ Style used if item is set to a decorate - mode. see elm_genlist_item_decorate_mode_set() - or NULL if you don't care. currently - it's used only in genlist. ]] - decorate_all_item_style: string; [[ Style to use when in edit mode, or - NULL if you don't care. Currently - it's used only in genlist. ]] - func: Elm.Gen.Item.Class.Functions; [[ Set of callbacks ]] -} - -type Elm.Gengrid.Item.Class: Elm.Gen.Item.Class; [[ See @Elm.Gen.Item.Class. ]] - -type Elm.Genlist.Item.Class: Elm.Gen.Item.Class; [[ See @Elm.Gen.Item.Class. ]] - enum Elm.Glob.Match_Flags { [[Glob matching bitfiled flags. @since 1.11]] diff --git a/src/lib/elementary/elm_gengrid.eo b/src/lib/elementary/elm_gengrid.eo index f61af3501a..0e9b1e16d9 100644 --- a/src/lib/elementary/elm_gengrid.eo +++ b/src/lib/elementary/elm_gengrid.eo @@ -1,5 +1,6 @@ import elm_general; import ecore_types; +import elm_gengrid_item; enum Elm.Gengrid.Reorder_Type { diff --git a/src/lib/elementary/elm_gengrid_item.eo b/src/lib/elementary/elm_gengrid_item.eo index 375dbaa1a2..ba11961266 100644 --- a/src/lib/elementary/elm_gengrid_item.eo +++ b/src/lib/elementary/elm_gengrid_item.eo @@ -1,5 +1,7 @@ import elm_general; +type @extern Elm.Gengrid.Item.Class: __undefined_type; + enum Elm.Gengrid.Item.Scrollto_Type { [[Defines where to position the item in the genlist.]] diff --git a/src/lib/elementary/elm_genlist_item.eo b/src/lib/elementary/elm_genlist_item.eo index 0ecd147430..5530c7f4a1 100644 --- a/src/lib/elementary/elm_genlist_item.eo +++ b/src/lib/elementary/elm_genlist_item.eo @@ -1,5 +1,7 @@ import elm_general; +type @extern Elm.Genlist.Item.Class: __undefined_type; + enum Elm.Genlist.Item.Type { [[Defines if the item is of any special type (has subitems or it's the