2011-12-30 01:41:11 -08:00
typedef struct Elm_Gen_Item Elm_Gen_Item ;
2012-03-05 22:09:20 -08:00
/**
* Text fetching class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
* @ param part The part name of the swallow
* @ return The allocated ( NOT stringshared ) string to set as the text
*/
2011-12-30 01:41:11 -08:00
typedef char * ( * Elm_Gen_Item_Text_Get_Cb ) ( void * data , Evas_Object * obj , const char * part ) ; /**< Label fetching class function for gen item classes. */
2012-03-05 22:09:20 -08:00
/**
* Content ( swallowed object ) fetching class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
* @ param part The part name of the swallow
* @ return The content object to swallow
*/
2011-12-30 01:41:11 -08:00
typedef Evas_Object * ( * Elm_Gen_Item_Content_Get_Cb ) ( void * data , Evas_Object * obj , const char * part ) ; /**< Content(swallowed object) fetching class function for gen item classes. */
2012-03-05 22:09:20 -08:00
/**
* State fetching class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
* @ param part The part name of the swallow
2015-03-11 04:16:36 -07:00
* @ return The boolean state of this element ( resulting in the edje object being emitted a signal of " elm,state,partname,active " or " elm.state,partname,passve "
2012-03-05 22:09:20 -08:00
*/
2011-12-30 01:41:11 -08:00
typedef Eina_Bool ( * Elm_Gen_Item_State_Get_Cb ) ( void * data , Evas_Object * obj , const char * part ) ; /**< State fetching class function for gen item classes. */
2012-03-05 22:09:20 -08:00
/**
* Deletion class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
*/
2011-12-30 01:41:11 -08:00
typedef void ( * Elm_Gen_Item_Del_Cb ) ( void * data , Evas_Object * obj ) ; /**< Deletion class function for gen item classes. */
2012-03-05 22:09:20 -08:00
2015-09-23 04:50:05 -07:00
/**
* Filter class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
* @ param key The key needed for item filter to be decided on
* @ return The boolean state of filter for this element
*/
typedef Eina_Bool ( * Elm_Gen_Item_Filter_Get_Cb ) ( void * data , Evas_Object * obj , void * key ) ; /**< Filter seeking class function for gen item classes. */
2016-02-12 11:14:13 -08:00
/**
* Reusable content get class function for Elm_Gen_Item_Class .
* @ param data The data passed in the item creation function
* @ param obj The base widget object
* @ param part The part name of the swallow
* @ param old The old content object for reusing
* @ return The content object to swallow
*
* @ since 1.18
*/
typedef Evas_Object * ( * Elm_Gen_Item_Reusable_Content_Get_Cb ) ( void * data , Evas_Object * obj , const char * part , Evas_Object * old ) ; /**< Cache Pop class function for gen item classes. */
2016-02-13 11:38:26 -08:00
# define ELM_GEN_ITEM_CLASS_VERSION 3
2012-03-05 22:09:20 -08:00
# define ELM_GEN_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_VERSION, 0, 0