and lets actually merge the gnelist/grid item class goop so when it
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 6 Mar 2012 06:09:20 +0000 (06:09 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 6 Mar 2012 06:09:20 +0000 (06:09 +0000)
all just become sgenlsit we are all happen. elm_gen.h is just there as
a temporary common header until it all beocmes genlist (or genlist
under another name - gnengrid)

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@68773 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_gen.h
src/lib/elm_gengrid.h
src/lib/elm_genlist.h

index 4083dc8..71ccc14 100644 (file)
@@ -1,25 +1,62 @@
-/* TEMPORARY: DOCS WILL BE FILLED IN WITH CNP/SED */
-// XXX: elm_gen -> kill.
 typedef struct Elm_Gen_Item             Elm_Gen_Item;
+
+/**
+ * @struct Elm_Gen_Item_Class
+ *
+ * Gengrid or Genlist item class definition.
+ * field details.
+ */
 typedef struct _Elm_Gen_Item_Class      Elm_Gen_Item_Class;
-typedef struct _Elm_Gen_Item_Class_Func Elm_Gen_Item_Class_Func;    /**< Class functions for gen item classes. */
+
+/**
+ * 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
+ */
 typedef char                         *(*Elm_Gen_Item_Text_Get_Cb)(void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for gen item classes. */
+
+/**
+ * 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
+ */
 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. */
+
+/**
+ * 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
+ * @return The hell if I know
+ */
 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. */
+
+/**
+ * Deletion class function for Elm_Gen_Item_Class.
+ * @param data The data passed in the item creation function
+ * @param obj The base widget object
+ */
 typedef void                          (*Elm_Gen_Item_Del_Cb)(void *data, Evas_Object *obj); /**< Deletion class function for gen item classes. */
+
 struct _Elm_Gen_Item_Class
 {
-   int version;
-   unsigned int refcount;
-   Eina_Bool delete_me : 1;
-   const char *item_style;
-   const char *mode_item_style;
-   const char *edit_item_style;
-   struct _Elm_Gen_Item_Class_Func
-   {
-      Elm_Gen_Item_Text_Get_Cb    text_get;
-      Elm_Gen_Item_Content_Get_Cb content_get;
-      Elm_Gen_Item_State_Get_Cb   state_get;
-      Elm_Gen_Item_Del_Cb         del;
+   int           version; /**< Set by elementary if you alloc an item class via elm_gengrid_item_class_new() or elm_genlist_item_class_new(), or if you sety your own class (must be const) then set it to ELM_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 : 1; /**< 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   *mode_item_style; /**< Style used if item is set to a specific mode. @see elm_genlist_item_mode_set() or NULL if you don't care */
+   const char   *edit_item_style; /**< Style to use when in edit mode, or NULL if you dont care */
+   struct {
+      Elm_Gen_Item_Text_Get_Cb    text_get; /**< Text fetching class function for gengrid/list item classes.*/
+      Elm_Gen_Item_Content_Get_Cb content_get; /**< Content fetching class function for gengrid/list item classes. */
+      Elm_Gen_Item_State_Get_Cb   state_get; /**< State fetching class function for gengrid/list item classes. */
+      Elm_Gen_Item_Del_Cb         del; /**< Deletion class function for gengrid/list item classes. */
    } func;
-};
+}; /**< #Elm_Gen_Item_Class member definitions */
+
+#define ELM_GEN_ITEM_CLASS_VERSION 2
+#define ELM_GEN_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_VERSION, 0, 0
index c41add9..3835ff9 100644 (file)
  * @{
  */
 
-typedef struct _Elm_Gengrid_Item_Class      Elm_Gengrid_Item_Class; /**< Gengrid item class definition structs */
-
-#define Elm_Gengrid_Item_Class Elm_Gen_Item_Class
-typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;    /**< Class functions for gengrid item classes. */
+#define ELM_GENGRID_ITEM_CLASS_VERSION ELM_GEN_ITEM_CLASS_VERSION
+#define ELM_GENGRID_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_HEADER
 
 /**
- * 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
+ * @see Elm_Gen_Item_Class
  */
-typedef char *(*Elm_Gengrid_Item_Text_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Class Elm_Gengrid_Item_Class;
 
 /**
- * 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
+ * @see Elm_Gen_Item_Text_Get_Cb
  */
-typedef Evas_Object *(*Elm_Gengrid_Item_Content_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Text_Get_Cb Elm_Gengrid_Item_Text_Get_Cb;
 
 /**
- * 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
- * @return The hell if I know
+ * @see Elm_Gen_Item_Content_Get_Cb
  */
-typedef Eina_Bool (*Elm_Gengrid_Item_State_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Content_Get_Cb Elm_Gengrid_Item_Content_Get_Cb;
 
 /**
- * Deletion class function for Elm_Gen_Item_Class.
- * @param data The data passed in the item creation function
- * @param obj The base widget object
+ * @see Elm_Gen_Item_State_Get_Cb
  */
-typedef void (*Elm_Gengrid_Item_Del_Cb)(void *data, Evas_Object *obj);
+typedef Elm_Gen_Item_State_Get_Cb Elm_Gengrid_Item_State_Get_Cb;
 
 /**
- * @struct _Elm_Gengrid_Item_Class
- *
- * Gengrid item class definition. See @ref Gengrid_Item_Class for
- * field details.
+ * @see Elm_Gen_Item_Del_Cb
  */
-struct _Elm_Gengrid_Item_Class
-{
-   const char *item_style;
-   struct _Elm_Gengrid_Item_Class_Func
-   {
-      Elm_Gengrid_Item_Text_Get_Cb    text_get; /**< Text fetching class function for gengrid item classes.*/
-      Elm_Gengrid_Item_Content_Get_Cb content_get; /**< Content fetching class function for gengrid item classes. */
-      Elm_Gengrid_Item_State_Get_Cb   state_get; /**< State fetching class function for gengrid item classes. */
-      Elm_Gengrid_Item_Del_Cb         del; /**< Deletion class function for gengrid item classes. */
-   } func;
-};   /**< #Elm_Gengrid_Item_Class member definitions */
-#define Elm_Gengrid_Item_Class_Func Elm_Gen_Item_Class_Func
+typedef Elm_Gen_Item_Del_Cb Elm_Gengrid_Item_Del_Cb;
 
 /**
  * Add a new gengrid widget to the given parent Elementary
@@ -837,9 +807,6 @@ EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Obj
 //EAPI void                          elm_gengrid_realized_items_update(Evas_Object *obj);
 //EAPI unsigned int elm_gengrid_items_count(const Evas_Object *obj);
 
-#define ELM_GENGRID_ITEM_CLASS_VERSION 2 /* current version number */
-#define ELM_GENGRID_ITEM_CLASS_HEADER ELM_GENGRID_ITEM_CLASS_VERSION, 0, 0
-
 /**
  * Add a new gengrid item class in a given gengrid widget.
  *
index b9e5661..54540d9 100644 (file)
  * @{
  */
 
+#define ELM_GENLIST_ITEM_CLASS_VERSION ELM_GEN_ITEM_CLASS_VERSION
+#define ELM_GENLIST_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_HEADER
+
 /**
  * Defines if the item is of any special type (has subitems or it's the
  * index of a group), or is just a simple item.
@@ -363,67 +366,32 @@ typedef enum
    ELM_GENLIST_ITEM_FIELD_CONTENT = (1 << 1),
    ELM_GENLIST_ITEM_FIELD_STATE = (1 << 2)
 } Elm_Genlist_Item_Field_Type;
-typedef struct _Elm_Genlist_Item_Class      Elm_Genlist_Item_Class; /**< Genlist item class definition structs */
-
-#define Elm_Genlist_Item_Class Elm_Gen_Item_Class
-typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func;    /**< Class functions for genlist item class */
 
 /**
- * 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
+ * @see Elm_Gen_Item_Class
  */
-typedef char *(*Elm_Genlist_Item_Text_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Class Elm_Genlist_Item_Class; 
 
 /**
- * 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
+ * @see Elm_Gen_Item_Text_Get_Cb
  */
-typedef Evas_Object *(*Elm_Genlist_Item_Content_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Text_Get_Cb Elm_Genlist_Item_Text_Get_Cb;
 
 /**
- * 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
- * @return The hell if I know
+ * @see Elm_Gen_Item_Content_Get_Cb
  */
-typedef Eina_Bool (*Elm_Genlist_Item_State_Get_Cb)(void *data, Evas_Object *obj, const char *part);
+typedef Elm_Gen_Item_Content_Get_Cb Elm_Genlist_Item_Content_Get_Cb;
 
 /**
- * Deletion class function for Elm_Gen_Item_Class.
- * @param data The data passed in the item creation function
- * @param obj The base widget object
+ * @see Elm_Gen_Item_State_Get_Cb
  */
-typedef void (*Elm_Genlist_Item_Del_Cb)(void *data, Evas_Object *obj);
+typedef Elm_Gen_Item_State_Get_Cb Elm_Genlist_Item_State_Get_Cb;
 
 /**
- * @struct _Elm_Genlist_Item_Class
- *
- * Genlist item class definition structs.
- *
- * This struct contains the style and fetching functions that will define the
- * contents of each item.
- *
- * @see @ref Genlist_Item_Class
+ * @see Elm_Gen_Item_Del_Cb
  */
-struct _Elm_Genlist_Item_Class
-{
-   const char *item_style; /**< style of this class. */
-   struct Elm_Genlist_Item_Class_Func
-   {
-      Elm_Genlist_Item_Text_Get_Cb    text_get; /**< Text fetching class function for genlist item classes.*/
-      Elm_Genlist_Item_Content_Get_Cb content_get; /**< Content fetching class function for genlist item classes. */
-      Elm_Genlist_Item_State_Get_Cb   state_get; /**< State fetching class function for genlist item classes. */
-      Elm_Genlist_Item_Del_Cb         del; /**< Deletion class function for genlist item classes. */
-   } func;
-};
-#define Elm_Genlist_Item_Class_Func Elm_Gen_Item_Class_Func
+typedef Elm_Gen_Item_Del_Cb Elm_Genlist_Item_Del_Cb;
+
 /**
  * Add a new genlist widget to the given parent Elementary
  * (container) object
@@ -1121,9 +1089,6 @@ EAPI void                          elm_genlist_realized_items_update(Evas_Object
  */
 EAPI unsigned int elm_genlist_items_count(const Evas_Object *obj);
 
-#define ELM_GENLIST_ITEM_CLASS_VERSION 2 /* current version number */
-#define ELM_GENLIST_ITEM_CLASS_HEADER ELM_GENLIST_ITEM_CLASS_VERSION, 0, 0
-
 /**
  * Add a new genlist item class in a given genlist widget.
  *