Improve documentation for Evas, Ecore, Edje and Elementary.
authorsachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 17 Sep 2009 22:38:35 +0000 (22:38 +0000)
committersachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 17 Sep 2009 22:38:35 +0000 (22:38 +0000)
Work by:
 - Thiago R. Masaki (mostly)
 - Fabiano Fidencio
 - Gustavo Lima

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

src/lib/edje_cache.c
src/lib/edje_container.c
src/lib/edje_edit.c
src/lib/edje_main.c
src/lib/edje_message_queue.c
src/lib/edje_program.c
src/lib/edje_util.c

index f430650..efa36c7 100644 (file)
@@ -1,6 +1,25 @@
 /*
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
+/* EDJE - EFL graphical design and layout library based on Evas
+ * Copyright (C) 2008 Cedric Bail
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library;
+ * if not, see <http://www.gnu.org/licenses/>.
+ */
+
+
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -438,8 +457,43 @@ _edje_file_cache_shutdown(void)
 
 
 
+/**
+ * @endcond
+ */
 
+/*============================================================================*
+ *                                 Global                                     *
+ *============================================================================*/
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_cache_Group Cache
+ *
+ * @brief These functions provide an abstraction layer between the
+ * application code and the interface, while allowing extremely
+ * flexible dynamic layouts and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
 
+/**
+ * @brief Set the file cache size.
+ *
+ * @param count The file cache size in edje file units. Default is 16.
+ *
+ * This function sets the file cache size. Edje keeps this cache in
+ * order to prevent duplicates of edje file entries in memory. The
+ * file cache size can be retrieved with edje_file_cache_get().
+ *
+ * @see edje_file_cache_get()
+ * @see edje_file_cache_flush()
+ *
+ */
 
 EAPI void
 edje_file_cache_set(int count)
@@ -449,12 +503,38 @@ edje_file_cache_set(int count)
    _edje_cache_file_clean();
 }
 
+/**
+ * @brief Return the file cache size.
+ *
+ * @return The file cache size in edje file units. Default is 16.
+ *
+ * This function returns the file cache size set by
+ * edje_file_cache_set().
+ *
+ * @see edje_file_cache_set()
+ * @see edje_file_cache_flush()
+ *
+ */
+
 EAPI int
 edje_file_cache_get(void)
 {
    return _edje_file_cache_size;
 }
 
+/**
+ * @brief Clean the file cache.
+ *
+ * @return The file cache size.
+ *
+ * This function cleans the file cache entries, but keeps this cache's
+ * size to the last value set.
+ *
+ * @see edje_file_cache_set()
+ * @see edje_file_cache_get()
+ *
+ */
+
 EAPI void
 edje_file_cache_flush(void)
 {
@@ -466,6 +546,21 @@ edje_file_cache_flush(void)
    _edje_file_cache_size = ps;
 }
 
+/**
+ * @brief Set the collection cache size.
+ *
+ * @param count The collection cache size, in edje object units. Default is 16.
+ *
+ * This function sets the collection cache size. Edje keeps this cache
+ * in order to prevent duplicates of edje {collection,group,part}
+ * entries in memory. The collection cache size can be retrieved with
+ * edje_collection_cache_get().
+ *
+ * @see edje_collection_cache_get()
+ * @see edje_collection_cache_flush()
+ *
+ */
+
 EAPI void
 edje_collection_cache_set(int count)
 {
@@ -479,12 +574,38 @@ edje_collection_cache_set(int count)
    /* FIXME: freach in file hash too! */
 }
 
+/**
+ * @brief Return the collection cache size.
+ *
+ * @return The collection cache size, in edje object units. Default is 16.
+ *
+ * This function returns the collection cache size set by
+ * edje_collection_cache_set().
+ *
+ * @see edje_collection_cache_set()
+ * @see edje_collection_cache_flush()
+ *
+ */
+
 EAPI int
 edje_collection_cache_get(void)
 {
    return _edje_collection_cache_size;
 }
 
+/**
+ * @brief Clean the collection cache.
+ *
+ * @return The collection cache size.
+ *
+ * This function cleans the collection cache, but keeps this cache's
+ * size to the last value set.
+ *
+ * @see edje_collection_cache_set()
+ * @see edje_collection_cache_get()
+ *
+ */
+
 EAPI void
 edje_collection_cache_flush(void)
 {
index bf59bb1..6a6795d 100644 (file)
@@ -168,6 +168,46 @@ _edje_item_recalc(Edje_Item *ei)
 
 
 /*****************************/
+/**
+ * @endcond
+ */
+
+/*============================================================================*
+ *                                 Global                                     *
+ *============================================================================*/
+
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_container_Group Container
+ *
+ * @brief These functions provides an abstraction layer between the application
+ * code and the interface, while allowing extremely flexible dynamic layouts
+ * and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
+
+/**
+ * @brief Create an edje item.
+ *
+ * @param cl The edje item of type Edje_Item_Class.
+ * @param data The edje item data.
+ *
+ * @return The new edje item created.
+ *
+ * This function creates an new edje item. The edje item data can be
+ * retrieved with edje_item_data_get().
+ *
+ * @see edje_item_del()
+ * @see edje_item_data_set()
+ * @see edje_item_data_get()
+ *
+ */
 
 Edje_Item *
 edje_item_add(Edje_Item_Class *cl, void *data)
@@ -182,6 +222,19 @@ edje_item_add(Edje_Item_Class *cl, void *data)
    return ei;
 }
 
+/**
+ * @brief Delete an edje item.
+ *
+ * @param ei The edje item to be deleted.
+ *
+ * This function deletes the edje item from memory.
+ *
+ * @see edje_item_add()
+ * @see edje_item_data_set()
+ * @see edje_item_data_get()
+ *
+ */
+
 void
 edje_item_del(Edje_Item *ei)
 {
@@ -197,6 +250,16 @@ edje_item_del(Edje_Item *ei)
    _edje_container_recalc(sd);
 }
 
+/**
+ * @brief Return the smart object of the edje item.
+ *
+ * @param ei The edje item wich the smart object of type Evas_Object is get
+ * from.
+ *
+ * This function returns the smart object in the edje item.
+ *
+ */
+
 Evas_Object *
 edje_item_container_get(Edje_Item *ei)
 {
@@ -205,6 +268,20 @@ edje_item_container_get(Edje_Item *ei)
 }
 
 /* an arbitary data pointer to use to track other data */
+/**
+ * @brief Set the edje item data.
+ *
+ * @param ei The edje item of type Edje_Item_Class.
+ * @param data The edje item data.
+ *
+ * This function set the data of the edje item. The edje item data can be
+ * retrieved with edje_item_data_get().
+ *
+ * @see edje_item_add()
+ * @see edje_item_del()
+ * @see edje_item_data_get()
+ *
+ */
 
 void
 edje_item_data_set(Edje_Item *ei, void *data)
@@ -212,6 +289,19 @@ edje_item_data_set(Edje_Item *ei, void *data)
    ei->data = data;
 }
 
+/**
+ * @brief Get the data of the edje item.
+ *
+ * @param ei The edje item of type Edje_Item_Class.
+ *
+ * This function get the data of the edje item set by edje_item_data_set().
+ *
+ * @see edje_item_data_set()
+ * @see edje_item_add()
+ * @see edje_item_del()
+ *
+ */
+
 void *
 edje_item_data_get(Edje_Item *ei)
 {
@@ -219,6 +309,7 @@ edje_item_data_get(Edje_Item *ei)
 }
 
 /* this object covers the entire item */
+
 void
 edje_item_overlay_object_set(Edje_Item *ei, Evas_Object *obj)
 {
@@ -231,6 +322,8 @@ edje_item_overlay_object_set(Edje_Item *ei, Evas_Object *obj)
      evas_object_smart_member_add(((Smart_Data *)(ei->sd))->smart_obj, obj);
 }
 
+
+
 Evas_Object *
 edje_item_overlay_object_get(Edje_Item *ei)
 {
index f8c7373..289b024 100644 (file)
@@ -74,6 +74,7 @@ _alloc(size_t size)
 /* INTERNALS */
 /*************/
 
+
 static Edje_Part_Description *
 _edje_part_description_find_byname(Edje *ed, const char *part, const char *state) //state include the value in the string (ex. "default 0.00")
 {
@@ -625,6 +626,23 @@ edje_edit_compiler_get(Evas_Object *obj)
 /*  GROUPS API  */
 /****************/
 
+/**
+ * @brief Add an edje (empty) group to an edje object's group set.
+ *
+ * @param obj The pointer to edje object.
+ * @param name The name of the group.
+ *
+ * @return 1 If it could allocate memory to the part group added
+ * or zero if not.
+ *
+ * This function adds, at run time, one more group, which will reside
+ * in memory, to the group set found in the .edj file which @a obj was
+ * loaded with. This group can be manipulated by other API functions,
+ * like @c edje_edit_part_add(), for example. If desired, the new
+ * group can be actually commited the respective .edj by use of @c
+ * edje_edit_save().
+ *
+ */
 EAPI Eina_Bool
 edje_edit_group_add(Evas_Object *obj, const char *name)
 {
@@ -703,7 +721,18 @@ edje_edit_group_add(Evas_Object *obj, const char *name)
    return 1;
 }
 
-
+/**
+ * @brief Delete an edje object's current group.
+ *
+ * @param obj The pointer to the edje object.
+ *
+ * @return @c 1 on success, @c 0 on failure.
+ *
+ * This function deletes the group which @a obj is set to. This
+ * operation can be commited the the .edj file the object was loaded
+ * with by use of @c edje_edit_save().
+ *
+ */
 EAPI Eina_Bool
 edje_edit_group_del(Evas_Object *obj)
 {
index dbc0b74..2d78f10 100644 (file)
@@ -10,12 +10,42 @@ static int initted = 0;
 Eina_Mempool *_edje_real_part_mp = NULL;
 Eina_Mempool *_edje_real_part_state_mp = NULL;
 
-/************************** API Routines **************************/
 
-/** Initialize the EDJE library.
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_main_Group Main
+ *
+ * @brief These functions provide an abstraction layer between the
+ * application code and the interface, while allowing extremely
+ * flexible dynamic layouts and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
+
+/**
+ * @brief Initialize the edje library.
+ *
+ * @return The new init count. The initial value is zero.
+ *
+ * This function initializes the ejde library, making the propers
+ * calls to initialization functions. It makes calls to functions
+ * eina_init(), ecore_job_init(), embryo_init() and eet_init() so
+ * there is no need to call those functions again in your code. To
+ * shutdown edje there is a function edje_shutdown().
+ *
+ * @see edje_shutdown()
+ * @see eina_init()
+ * @see ecore_job_init()
+ * @see embryo_init()
+ * @see eet_init()
  *
- * @return The new init count.
  */
+
 EAPI int
 edje_init(void)
 {
@@ -61,10 +91,24 @@ edje_init(void)
    return 0;
 }
 
-/** Shutdown the EDJE library.
+/**
+ * @brief Shutdown the edje library.
+ *
+ * @return Zero, always.
+ *
+ * This function shuts down the edje library. It calls the functions
+ * eina_shutdown(), ecore_job_shutdown(), embryo_shutdown() and
+ * eet_shutdown(), so there is no need to call these functions again
+ * in your code.
+ *
+ * @see edje_init()
+ * @see eina_shutdown()
+ * @see ecore_job_shutdown()
+ * @see embryo_shutdown()
+ * @see eet_shutdown()
  *
- * @return The new init count.
  */
+
 EAPI int
 edje_shutdown(void)
 {
index fec5638..da15847 100644 (file)
@@ -12,6 +12,40 @@ static Ecore_Timer *job_loss_timer = NULL;
 static Eina_List *msgq = NULL;
 static Eina_List *tmp_msgq = NULL;
 
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_message_queue_Group Message_Queue
+ *
+ * @brief These functions provide an abstraction layer between the
+ * application code and the interface, while allowing extremely
+ * flexible dynamic layouts and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
+
+/**
+ * @brief Send message to object.
+ *
+ * @param obj The edje object reference.
+ * @param type The type of message to send.
+ * @param id A identification number for the message.
+ * @param msg The message to be send.
+ *
+ *
+ * This function sends messages to this object and to all of its child
+ * objects, if applicable. The function that handles messages arriving
+ * at this edje object is is set with
+ * edje_object_message_handler_set().
+ *
+ * @see edje_object_message_handler_set()
+ *
+ */
+
 EAPI void
 edje_object_message_send(Evas_Object *obj, Edje_Message_Type type, int id, void *msg)
 {
@@ -30,6 +64,19 @@ edje_object_message_send(Evas_Object *obj, Edje_Message_Type type, int id, void
      }
 }
 
+/**
+ * @brief Set the message handler function for this an object.
+ *
+ * @param obj The edje object reference.
+ * @param func The function to handle messages.
+ * @param data The data to be associated to the message handler.
+ *
+ *
+ * This function associates a message handler function and data to the
+ * edje object.
+ *
+ */
+
 EAPI void
 edje_object_message_handler_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data)
 {
@@ -40,6 +87,17 @@ edje_object_message_handler_set(Evas_Object *obj, void (*func) (void *data, Evas
    _edje_message_cb_set(ed, func, data);
 }
 
+/**
+ * @brief Process an object's message queue.
+ *
+ * @param obj The edje object reference.
+ *
+ * This function goes through the object message queue processing the
+ * pending messages for *this* specific edje object. Normally they'd
+ * be processed only at idle time.
+ *
+ */
+
 EAPI void
 edje_object_message_signal_process(Evas_Object *obj)
 {
@@ -84,12 +142,21 @@ edje_object_message_signal_process(Evas_Object *obj)
      }
 }
 
+/**
+ * @brief Process all queued up edje messages.
+ *
+ * This function triggers the processing of messages addressed to any
+ * (alive) edje objects.
+ *
+ */
+
 EAPI void
 edje_message_signal_process(void)
 {
    _edje_message_queue_process();
 }
 
+
 static int
 _edje_dummy_timer(void *data __UNUSED__)
 {
index bbf392b..6575a80 100644 (file)
@@ -13,13 +13,35 @@ int             _edje_anim_count = 0;
 Ecore_Animator *_edje_timer = NULL;
 Eina_List      *_edje_animators = NULL;
 
-/************************** API Routines **************************/
 
-/* FIXDOC: Expand */
-/** Set the frametime
- * @param t The frametime
+/*============================================================================*
+ *                                   API                                      *
+ *============================================================================*/
+
+/**
+ * @addtogroup Edje_program_Group Program
+ *
+ * @brief These functions provide an abstraction layer between the
+ * application code and the interface, while allowing extremely
+ * flexible dynamic layouts and animations.
+ *
+ * For more information, you can look at the @ref tutorial_list_page.
+ *
+ * @{
+ */
+
+/**
+ * @brief Set edje trasitions' frame time.
+ *
+ * @param t The frame time, in seconds. Default value is 1/30.
+ *
+ * This function sets the edje built-in animations' frame time (thus,
+ * affecting their resolution) by calling
+ * ecore_animator_frametime_set(). This frame time can be retrieved
+ * with edje_frametime_get().
+ *
+ * @see edje_frametime_get()
  *
- * Sets the global frametime in seconds, by default this is 1/30.
  */
 EAPI void
 edje_frametime_set(double t)
@@ -27,11 +49,16 @@ edje_frametime_set(double t)
    ecore_animator_frametime_set(t);
 }
 
-/* FIXDOC: Expand */
-/** Get the frametime
- * @return The frametime
+/**
+ * @brief Get edje trasitions' frame time.
+ *
+ * @return The frame time, in seconds.
+ *
+ * This function returns the edje frame time set by
+ * edje_frametime_set().
+ *
+ * @see edje_frametime_set()
  *
- * Returns the frametime in seconds, by default this is 1/30.
  */
 EAPI double
 edje_frametime_get(void)
@@ -39,13 +66,15 @@ edje_frametime_get(void)
    return ecore_animator_frametime_get();
 }
 
-/* FIXDOC: Expand */
-/** Add a callback for a signal emitted by @a obj.
- * @param obj A valid Evas_Object handle
- * @param emission The signal name
- * @param source The signal source
- * @param func The callback function to be executed when the signal is emitted
- * @param data A pointer to data to pass in to the callback function
+/**
+ * @brief Add a callback for a signal emitted by @a obj.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @param emission The signal's name.
+ * @param source The signal's source.
+ * @param func The callback function to be executed when the signal is
+ * emitted.
+ * @param data A pointer to data to pass in to the callback function.
  *
  * Connects a callback function to a signal emitted by @a obj.
  * In EDC, a program can emit a signal as follows:
@@ -69,21 +98,21 @@ edje_frametime_get(void)
  * edje_object_callback_add(obj, "a_signal", "a_source", cb_signal, data);
  * @endcode
  *
- * Here, @a data is an arbitrary pointer to be used as desired.
- * Note that @a emission and @a source correspond respectively to first and
- * second parameters to the SIGNAL_EMIT action.
+ * Here, @a data is an arbitrary pointer to be used as desired.  Note
+ * that @a emission and @a source correspond respectively to the first
+ * and the second parameters at the SIGNAL_EMIT action.
  *
- * Internal edje signals can also be attached to, and globs can be in either
- * the emission or source name. e.g.
+ * Internal edje signals can also be attached to, and globs can occur
+ * in either the emission or source name, e.g.
  *
  * @code
  * edje_object_callback_add(obj, "mouse,down,*", "button.*", NULL);
  * @endcode
  *
  * Here, any mouse down events on an edje part whose name begins with
- * "button." will trigger the callback. The actual signal and source name
- * will be passed in to the @a emission and @a source parameters of the
- * callback function. (e.g. "mouse,down,2" and "button.close").
+ * "button." will trigger the callback. The actual signal and source
+ * names will be passed in to the @a emission and @a source parameters
+ * of the callback function (e.g. "mouse,down,2" and "button.close").
  */
 EAPI void
 edje_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
@@ -112,17 +141,23 @@ edje_object_signal_callback_add(Evas_Object *obj, const char *emission, const ch
      _edje_callbacks_patterns_clean(ed);
 }
 
-/** Remove a callback from an object
- * @param obj A valid Evas_Object handle
- * @param emission the emission string
- * @param source the source string
- * @param func the callback function
- * @return the data pointer
+/**
+ * @brief Remove a signal-triggered callback from an object.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @param emission The emission string.
+ * @param source The source string.
+ * @param func The callback function.
+ * @return The data pointer
+ *
+ * This function removes a callback, previously attached to the
+ * emittion of a signal, from the object @a obj. The parameters @a
+ * emission, @a source and @a func must match exactly those passed to
+ * a previous call to edje_object_signal_callback_add(). The data
+ * pointer that was passed to this call will be returned.
+ *
+ * @see edje_object_signal_callback_add().
  *
- * Removes a callback from an object. The parameters @a emission, @a source
- * and @a func must match exactly those passed to a previous call to
- * edje_object_signal_callback_add(). The data pointer that was passed to
- * this call will be returned.
  */
 EAPI void *
 edje_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source))
@@ -166,24 +201,22 @@ edje_object_signal_callback_del(Evas_Object *obj, const char *emission, const ch
    return NULL;
 }
 
-/* FIXDOC: Verify/Expand */
-/** Send a signal to the Edje object
- * @param obj A vaild Evas_Object handle
- * @param emission The signal
- * @param source The signal source
- *
- * This sends a signal to the edje object.
+/**
+ * @brief Send a signal to an edje object.
  *
- * An edje program can respond to a signal by specifying matching 'signal'
- * and 'source' fields.
+ * @param obj A valid Evas_Object handle.
+ * @param emission The signal's name.
+ * @param source The signal's source.
  *
- * E.g.
+ * This function sends a signal to the object @a obj. An edje program
+ * can respond to a signal by specifying matching 'signal' and
+ * 'source' fields.
  *
  * @code
  * edje_object_signal_emit(obj, "a_signal", "");
  * @endcode
  *
- * will trigger a program whose edc is:
+ * will trigger a program whose EDC block is:
  *
  * @code
  * program {
@@ -194,7 +227,7 @@ edje_object_signal_callback_del(Evas_Object *obj, const char *emission, const ch
  * }
  * @endcode
  *
- * FIXME should this signal be sent to children also?
+ * FIXME: should this signal be sent to children also?
  */
 EAPI void
 edje_object_signal_emit(Evas_Object *obj, const char *emission, const char *source)
@@ -209,12 +242,18 @@ edje_object_signal_emit(Evas_Object *obj, const char *emission, const char *sour
 }
 
 /* FIXDOC: Verify/Expand */
-/** Set the Edje to play or pause
- * @param obj A valid Evas_Object handle
- * @param play Play instruction (1 to play, 0 to pause)
+/**
+ * @brief Set the edje object to playing or paused states.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @param play Object state (1 to playing, 0 to pauseed).
+ *
+ * This function sets the edje object @a obj to playing or paused
+ * states, depending on the parameter @a play.  This has no effect if
+ * the object was already at that state.
+ *
+ * @see edje_object_play_get().
  *
- * This sets the Edje to play or pause depending on the parameter.
- * This has no effect if the Edje is already in that state.
  */
 EAPI void
 edje_object_play_set(Evas_Object *obj, int play)
@@ -252,11 +291,19 @@ edje_object_play_set(Evas_Object *obj, int play)
      }
 }
 
-/* FIXDOC: Verify/Expand */
-/** Get the Edje play/pause state
- * @param obj A valid Evas_Object handle
- * @return 0 if Edje not connected, Edje delete_me, or Edje paused\n
- * 1 if Edje set to play
+/**
+ * @brief Get the edje object's play/pause state.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @return @c 0 if the object is not connected, its @c delete_me flag
+ * is set, or it is at paused state; @c 1 if the object is at playing
+ * state.
+ *
+ * This function tells if an edje object is playing or not. This state
+ * is set by edje_object_play_set().
+ *
+ * @see edje_object_play_set().
+ *
  */
 EAPI int
 edje_object_play_get(const Evas_Object *obj)
@@ -271,11 +318,18 @@ edje_object_play_get(const Evas_Object *obj)
 }
 
 /* FIXDOC: Verify/Expand */
-/** Set Animation state
- * @param obj A valid Evas_Object handle
- * @param on Animation State
+/**
+ * @brief Set the object's animation state.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @param on Animation State.
+ *
+ * This function starts or stops an edje object's animation. The
+ * information if it's runnig can be retrieved by
+ * edje_object_animation_get().
+ *
+ * @see edje_object_animation_get()
  *
- * Stop or start an Edje animation.
  */
 EAPI void
 edje_object_animation_set(Evas_Object *obj, int on)
@@ -334,12 +388,19 @@ edje_object_animation_set(Evas_Object *obj, int on)
    _edje_unblock(ed);
 }
 
-/* FIXDOC: Verify/Expand */
-/** Get the animation state
- * @param obj A valid Evas_Object handle
- * @return 0 on Error or if not animated\n
- * 1 if animated
+/**
+ * @brief Get the edje object's animation state.
+ *
+ * @param obj A valid Evas_Object handle.
+ * @return @c 0 on error or if object is not animated; @c 1 if animated.
+ *
+ * This function returns if the animation is playing or not. The
+ * animation state is set by edje_object_play_set().
+ *
+ * @see edje_object_animation_set().
+ *
  */
+
 EAPI int
 edje_object_animation_get(const Evas_Object *obj)
 {
index 4737b5a..6a884f6 100644 (file)
@@ -43,22 +43,23 @@ Edje_Real_Part *_edje_real_part_recursive_get_helper(Edje *ed, char **path);
 
 /************************** API Routines **************************/
 
-/* FIXDOC: These all need to be looked over, Verified/Expanded upon.  
- I just got lazy and stopped putting FIXDOC next to each function in this file. */
-
 //#define FASTFREEZE 1
 
-/** Freeze all Edje objects in the current process.
+/**
+ * @brief Freeze Edje objects.
+ *
+ * This function freezes every edje objects in the current process.
+ *
+ * See edje_object_freeze().
  *
- * See edje_object_freeze() for more.
  */
 EAPI void
 edje_freeze(void)
 {
-#ifdef FASTFREEZE   
+#ifdef FASTFREEZE
    _edje_freeze_val++;
    printf("fr ++ ->%i\n", _edje_freeze_val);
-#else   
+#else
 // FIXME: could just have a global freeze instead of per object
 // above i tried.. but this broke some things. notable e17's menus. why?
    Eina_List *l;
@@ -66,24 +67,24 @@ edje_freeze(void)
 
    EINA_LIST_FOREACH(_edje_edjes, l, data)
      edje_object_freeze(data);
-#endif   
+#endif
 }
 
-#ifdef FASTFREEZE   
+#ifdef FASTFREEZE
 static void
 _edje_thaw_edje(Edje *ed)
 {
    int i;
-   
+
    for (i = 0; i < ed->table_parts_size; i++)
      {
        Edje_Real_Part *rp;
-       
+
        rp = ed->table_parts[i];
        if (rp->part->type == EDJE_PART_TYPE_GROUP && rp->swallowed_object)
          {
             Edje *ed2;
-            
+
             ed2 = _edje_fetch(rp->swallowed_object);
             if (ed2) _edje_thaw_edje(ed2);
          }
@@ -92,16 +93,20 @@ _edje_thaw_edje(Edje *ed)
 }
 #endif
 
-/** Thaw all Edje objects in the current process.
+/**
+ * @brief Thaw edje objects.
+ *
+ * This function thaw all edje object in the current process.
+ *
+ * See edje_object_thaw().
  *
- * See edje_object_thaw() for more.
  */
 EAPI void
 edje_thaw(void)
 {
   Evas_Object *data;
 
-#ifdef FASTFREEZE   
+#ifdef FASTFREEZE
    _edje_freeze_val--;
    printf("fr -- ->%i\n", _edje_freeze_val);
    if ((_edje_freeze_val <= 0) && (_edje_freeze_calc_count > 0))
@@ -124,10 +129,15 @@ edje_thaw(void)
 
    EINA_LIST_FOREACH(_edje_edjes, l, data)
      edje_object_thaw(data);
-#endif   
+#endif
 }
 
-/* FIXDOC: Expand */
+/**
+ * @brief Set the edje append fontset.
+ *
+ * This function set the edje append fontset.
+ *
+ */
 EAPI void
 edje_fontset_append_set(const char *fonts)
 {
@@ -136,17 +146,47 @@ edje_fontset_append_set(const char *fonts)
    _edje_fontset_append = fonts ? strdup(fonts) : NULL;
 }
 
-/* FIXDOC: Expand */
+/**
+ * @brief Get the edje append fontset.
+ *
+ * @return The edje append fontset.
+ *
+ * This function returns the edje append fontset set by
+ * edje_fontset_append_set() function.
+ *
+ * @see edje_fontset_append_set().
+ *
+ */
 EAPI const char *
 edje_fontset_append_get(void)
 {
    return _edje_fontset_append;
 }
 
+/**
+ * @brief Set edje's global scaling factor.
+ *
+ * @param The edje (global) scale factor. The defaul is 1.0.
+ *
+ * Edje allows one to build scalable interfaces. Scale factors, which
+ * are set to neutral values by default (no scaling, actual sizes),
+ * are of two types: global and individual. Edje's global scaling
+ * factor will affect all its objects which hadn't their individual
+ * scaling factors altered from the default value. If they had it set
+ * differently, that factor will override the global one.
+ *
+ * Scaling affects the values of min/max object sizes, which are
+ * multiplied by it. Font sizes are scaled, too.
+ *
+ * This property can be retrieved with edje_scale_get().
+ *
+ * @see edje_scale_get().
+ *
+ */
 EAPI void
 edje_scale_set(double scale)
 {
-   Eina_List *l;
+  Eina_List *l;
    Evas_Object *data;
 
    if (_edje_scale == scale) return;
@@ -155,12 +195,39 @@ edje_scale_set(double scale)
      edje_object_calc_force(data);
 }
 
+/**
+ * @brief Get edje's global scaling factor.
+ *
+ * @return The edje (global) scale factor. The defaul is 1.0.
+ *
+ * This function returns edje's global scale factor, which can be set
+ * by edje_scale_set().
+ *
+ * @see edje_scale_set().
+ *
+ */
 EAPI double
 edje_scale_get(void)
 {
    return _edje_scale;
 }
 
+/**
+ * @brief Set the edje object's scaling factor.
+ *
+ * @param The edje object's reference.
+ * @param The edje object scale factor. The defaul is 1.0.
+ *
+ * This function sets the individual scale factor of the @a obj edje
+ * object. This property (or edje's global scale factor, when
+ * applicable), will affect this object's parts. However, only parts
+ * which, at the EDC language level, were declared which the "scale"
+ * attribute set to 1 (default is zero) will be affected.
+ *
+ * This scale factor can be retrieved with edje_object_scale_get().
+ * @see edje_object_scale_get().
+ *
+ */
 EAPI void
 edje_object_scale_set(Evas_Object *obj, double scale)
 {
@@ -173,6 +240,17 @@ edje_object_scale_set(Evas_Object *obj, double scale)
    edje_object_calc_force(obj);
 }
 
+/**
+ * @brief Get the edje object's scaling factor.
+ *
+ * @param The edje object's reference.
+ *
+ * This function returns the individual scale factor of the @a obj
+ * edje object, which can be set by edje_object_scale_set().
+ *
+ * @see edje_object_scale_set().
+ *
+ */
 EAPI double
 edje_object_scale_get(const Evas_Object *obj)
 {
@@ -183,16 +261,17 @@ edje_object_scale_get(const Evas_Object *obj)
    return ed->scale;
 }
 
-/* FIXDOC: Verify/Expand */
-/** Get Edje object data
+/**
+ * @brief Get Edje object data.
+ *
  * @param obj A valid Evas_Object handle
  * @param key The data key
  * @return The data string
  *
- * This fetches data specified at the object level.
+ * This function fetches data specified at the object level.
  *
- * In EDC this comes from a data block within the group block that @a obj
- * was loaded from. E.g.
+ * In EDC this comes from a data block within the group block that @a
+ * obj was loaded from. E.g.
  *
  * @code
  * collections {
@@ -223,14 +302,15 @@ edje_object_data_get(const Evas_Object *obj, const char *key)
    return NULL;
 }
 
-/* FIXDOC: Verify/Expand */
-/** Freeze object
+/**
+ * @brief Freeze object.
+ *
  * @param obj A valid Evas_Object handle
- * @return The frozen state\n
- * 0 on Error
+ * @return The frozen state or 0 on Error
+ *
+ * This function puts all changes on hold. Successive freezes will
+ * nest, requiring an equal number of thaws.
  *
- * This puts all changes on hold.  Successive freezes will nest,
- * requiring an equal number of thaws.
  */
 EAPI int
 edje_object_freeze(Evas_Object *obj)
@@ -250,12 +330,14 @@ edje_object_freeze(Evas_Object *obj)
    return _edje_freeze(ed);
 }
 
-/** Thaw object
+/**
+ * @brief Thaw object.
+ *
  * @param obj A valid Evas_Object handle
- * @return The frozen state\n
- * 0 on Error
+ * @return The frozen state or 0 on Error
  *
  * This allows frozen changes to occur.
+ *
  */
 EAPI int
 edje_object_thaw(Evas_Object *obj)
@@ -276,7 +358,9 @@ edje_object_thaw(Evas_Object *obj)
    return _edje_thaw(ed);
 }
 
-/** Set Edje color class
+/**
+ * @brief Set Edje color class.
+ *
  * @param color_class
  * @param r Object Red value
  * @param g Object Green value
@@ -291,14 +375,19 @@ edje_object_thaw(Evas_Object *obj)
  * @param b3 Shadow Blue value
  * @param a3 Shadow Alpha value
  *
- * Sets the color values for a process level color class. This will cause all
- * edje parts in the current process that have the specified color class to
- * have their colors multiplied by these values. (Object level color classes
- * set by edje_object_color_class_set() will override the values set by this
+ * This function sets the color values for a process level color
+ * class.  This will cause all edje parts in the current process that
+ * have the specified color class to have their colors multiplied by
+ * these values.  (Object level color classes set by
+ * edje_object_color_class_set() will override the values set by this
  * function).
  *
- * The first color is the object, the second is the text outline, and the
- * third is the text shadow. (Note that the second two only apply to text parts)
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
+ *
+ * @see edje_color_class_set().
+ *
  */
 EAPI void
 edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
@@ -368,9 +457,13 @@ edje_color_class_set(const char *color_class, int r, int g, int b, int a, int r2
 }
 
 /**
+ * @brief Delete edje color class.
+ *
  * @param color_class
  *
- * Deletes any values at the process level for the specified color class.
+ * This function deletes any values at the process level for the
+ * specified color class.
+ *
  */
 void
 edje_color_class_del(const char *color_class)
@@ -403,10 +496,14 @@ edje_color_class_del(const char *color_class)
 }
 
 /**
- * Lists all color classes known about by the current process.
+ * @brief Lists color classes.
+ *
+ * @return A list of color class names (strings). These strings and
+ * the list must be free()'d by the caller.
+ *
+ * This function lists all color classes known about by the current
+ * process.
  *
- * @return A list of color class names (strings). These strings and the list
- * must be free()'d by the caller.
  */
 Eina_List *
 edje_color_class_list(void)
@@ -430,7 +527,9 @@ _edje_color_class_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key
    return EINA_TRUE;
 }
 
-/** Sets the object color class
+/**
+ * @brief Sets the object color class.
+ *
  * @param obj A valid Evas_Object handle
  * @param color_class
  * @param r Object Red value
@@ -446,12 +545,15 @@ _edje_color_class_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key
  * @param b3 Shadow Blue value
  * @param a3 Shadow Alpha value
  *
- * Sets the color values for an object level color class. This will cause all
- * edje parts in the specified object that have the specified color class to
- * have their colors multiplied by these values.
+ * This function sets the color values for an object level color
+ * class. This will cause all edje parts in the specified object that
+ * have the specified color class to have their colors multiplied by
+ * these values.
+ *
+ * The first color is the object, the second is the text outline, and
+ * the third is the text shadow. (Note that the second two only apply
+ * to text parts).
  *
- * The first color is the object, the second is the text outline, and the
- * third is the text shadow. (Note that the second two only apply to text parts)
  */
 EAPI void
 edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
@@ -543,10 +645,13 @@ edje_object_color_class_set(Evas_Object *obj, const char *color_class, int r, in
 }
 
 /**
- * @param color_class
+ * @brief Delete the object color class.
+ *
+ * @param color_class The color class to be deleted.
+ *
+ * This function deletes any values at the object level for the
+ * specified object and color class.
  *
- * Deletes any values at the object level for the specified object and
- * color class.
  */
 void
 edje_object_color_class_del(Evas_Object *obj, const char *color_class)
@@ -586,13 +691,18 @@ edje_object_color_class_del(Evas_Object *obj, const char *color_class)
    _edje_recalc(ed);
 }
 
-/** Set the Edje text class
- * @param text_class The text class name ?!
+/**
+ * @brief Set the Edje text class.
+ *
+ * @param text_class The text class name
  * @param font The font name
  * @param size The font size
  *
- * This sets updates all edje members which belong to this text class
- * with the new font attributes.
+ * This function sets updates all edje members which belong to this
+ * text class with the new font attributes.
+ *
+ * @see edje_text_class_get().
+ *
  */
 EAPI void
 edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size size)
@@ -656,9 +766,13 @@ edje_text_class_set(const char *text_class, const char *font, Evas_Font_Size siz
 }
 
 /**
- * @param text_class
+ * @brief Delete the text class.
+ *
+ * @param text_class The text class name string
+ *
+ * This function deletes any values at the process level for the
+ * specified text class.
  *
- * Deletes any values at the process level for the specified text class.
  */
 void
 edje_text_class_del(const char *text_class)
@@ -693,10 +807,14 @@ edje_text_class_del(const char *text_class)
 }
 
 /**
- * Lists all text classes known about by the current process.
+ * @brief List text classes.
+ *
+ * @return A list of text class names (strings). These strings are
+ * stringshares and the list must be free()'d by the caller.
+ *
+ * This function lists all text classes known about by the current
+ * process.
  *
- * @return A list of text class names (strings). These strings are stringshares and
- * the list must be free()'d by the caller.
  */
 Eina_List *
 edje_text_class_list(void)
@@ -719,13 +837,16 @@ _edje_text_class_list_foreach(const Eina_Hash *hash __UNUSED__, const void *key,
    return EINA_TRUE;
 }
 
-/** Sets Edje text class
+/**
+ * @brief Sets Edje text class.
+ *
  * @param obj A valid Evas_Object handle
  * @param text_class The text class name
  * @param font Font name
  * @param size Font Size
  *
- * Sets the text class for the Edje.
+ * This function sets the text class for the Edje.
+ *
  */
 EAPI void
 edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size)
@@ -800,11 +921,16 @@ edje_object_text_class_set(Evas_Object *obj, const char *text_class, const char
    _edje_recalc(ed);
 }
 
-/** Check if Edje part exists
+/**
+ * @brief Check if Edje part exists.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name to check
- * @return 0 on Error\n
- * 1 if Edje part exists
+ *
+ * @return 0 on Error, 1 if Edje part exists.
+ *
+ * This function returns if a part exists in the edje.
+ *
  */
 EAPI int
 edje_object_part_exists(const Evas_Object *obj, const char *part)
@@ -820,16 +946,20 @@ edje_object_part_exists(const Evas_Object *obj, const char *part)
 }
 
 /**
- * Gets the Evas_Object corresponding to a given part.
- * You should never modify the state of the returned object
- * (with evas_object_move() or evas_object_hide() for example),
- * but you can safely query info about its current state
- * (with evas_object_visible_get() or evas_object_color_get() for example)
+ * @brief Gets the evas object from a part.
  *
  * @param obj A valid Evas_Object handle
  * @param part The Edje part
- * @return Returns the Evas_Object corresponding to the given part,
- * or NULL on failure (if the part doesn't exist)
+ * @return Returns the Evas_Object corresponding to the given part, or
+ * NULL on failure (if the part doesn't exist)
+ *
+ * This functio gets the Evas_Object corresponding to a given part.
+ *
+ * You should never modify the state of the returned object (with
+ * evas_object_move() or evas_object_hide() for example), but you can
+ * safely query info about its current state (with
+ * evas_object_visible_get() or evas_object_color_get() for example)
+ *
  **/
 EAPI const Evas_Object *
 edje_object_part_object_get(const Evas_Object *obj, const char *part)
@@ -848,7 +978,9 @@ edje_object_part_object_get(const Evas_Object *obj, const char *part)
    return rp->object;
 }
 
-/** Get the geometry of an Edje part
+/**
+ * @brief Get the geometry of an Edje part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The Edje part
  * @param x The x coordinate pointer
@@ -856,7 +988,7 @@ edje_object_part_object_get(const Evas_Object *obj, const char *part)
  * @param w The width pointer
  * @param h The height pointer
  *
- * Gets the geometry of an Edje part
+ * This function gets the geometry of an Edje part.
  *
  * It is valid to pass NULL as any of @a x, @a y, @a w or @a h, whose
  * values you are uninterested in.
@@ -896,6 +1028,19 @@ edje_object_part_geometry_get(const Evas_Object *obj, const char *part, Evas_Coo
 }
 
 /* FIXDOC: New Function */
+/**
+ * @brief Set the object text callback.
+ *
+ * @param obj A valid Evas_Object handle
+ * @param func The callback function to handle the text change
+ * @param data The data associated to the callback function.
+ *
+ * This function gets the geometry of an Edje part
+ *
+ * It is valid to pass NULL as any of @a x, @a y, @a w or @a h, whose
+ * values you are uninterested in.
+ *
+ */
 EAPI void
 edje_object_text_change_cb_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, const char *part), void *data)
 {
@@ -963,10 +1108,16 @@ edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text)
    _edje_object_part_text_raw_set(obj, rp, part, text);
 }
 
-/** Returns the text of the object part
+/**
+ * @brief Return the text of the object part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
+ *
  * @return The text string
+ *
+ * This function returns the text associated to the object part.
+ *
  */
 EAPI const char *
 edje_object_part_text_get(const Evas_Object *obj, const char *part)
@@ -1139,15 +1290,19 @@ _edje_text_unescape(const char *text)
    return ret;
 }
 
-/** Sets the raw (non escaped) text for an object part.
- *
- * This will do escape for you if it is a TEXTBLOCK part, that is, if
- * text contain tags, these tags will not be interpreted/parsed by
- * TEXTBLOCK.
+/**
+ * @brief Sets the raw (non escaped) text for an object part.
  *
  * @param obj A valid Evas Object handle
  * @param part The part name
  * @param text The text string
+ *
+ * This funciton will do escape for you if it is a TEXTBLOCK part,
+ * that is, if text contain tags, these tags will not be
+ * interpreted/parsed by TEXTBLOCK.
+ *
+ * @see edje_object_part_text_unescaped_get().
+ *
  */
 EAPI void
 edje_object_part_text_unescaped_set(Evas_Object *obj, const char *part, const char *text_to_escape)
@@ -1170,15 +1325,21 @@ edje_object_part_text_unescaped_set(Evas_Object *obj, const char *part, const ch
      }
 }
 
-/** Returns the text of the object part, without escaping.
- *
- * Counterpart of edje_object_part_text_unescaped_set(). Please notice
- * that the result is newly allocated memory and should be released
- * with free() when done.
+/**
+ * @brief Returns the text of the object part, without escaping.
  *
  * @param obj A valid Evas_Object handle
  * @param part The part name
- * @return The @b allocated text string without escaping, or NULL on problems.
+ * @return The @b allocated text string without escaping, or NULL on
+ * problems.
+ *
+ * This function is the counterpart of
+ * edje_object_part_text_unescaped_set(). Please notice that the
+ * result is newly allocated memory and should be released with free()
+ * when done.
+ *
+ * @see edje_object_part_text_unescaped_set().
+ *
  */
 EAPI char *
 edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part)
@@ -1211,10 +1372,15 @@ edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part)
    return NULL;
 }
 
-/** Returns the selection text of the object part
+/**
+ * @brief Return the selection text of the object part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @return The text string
+ *
+ * This function returns selection text of the object part.
+ *
  */
 EAPI const char *
 edje_object_part_text_selection_get(const Evas_Object *obj, const char *part)
@@ -1231,9 +1397,14 @@ edje_object_part_text_selection_get(const Evas_Object *obj, const char *part)
    return NULL;
 }
 
-/** sets the selection to be none
+/**
+ * @brief Set the selection to be none.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
+ *
+ * This function sets the selection text to be none.
+ *
  */
 EAPI void
 edje_object_part_text_select_none(const Evas_Object *obj, const char *part)
@@ -1249,9 +1420,14 @@ edje_object_part_text_select_none(const Evas_Object *obj, const char *part)
      _edje_entry_select_none(rp);
 }
 
-/** sets the selection to be everything
+/**
+ * @brief Set the selection to be everything.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
+ *
+ * This function selects all text of the object of the part.
+ *
  */
 EAPI void
 edje_object_part_text_select_all(const Evas_Object *obj, const char *part)
@@ -1267,10 +1443,16 @@ edje_object_part_text_select_all(const Evas_Object *obj, const char *part)
      _edje_entry_select_all(rp);
 }
 
-/** Inserts the text for an object part just before the cursor position
+/**
+ * @brief Insert text for an object part.
+ *
  * @param obj A valid Evas Object handle
  * @param part The part name
  * @param text The text string
+ *
+ * This function inserts the text for an object part just before the
+ * cursor position.
+ *
  */
 EAPI void
 edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *text)
@@ -1294,10 +1476,16 @@ edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *tex
      rp->edje->text_change.func(rp->edje->text_change.data, obj, part);
 }
 
-/** Returns a list of char * anchor names
+/**
+ * @brief Return a list of char anchor names.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
+ *
  * @return The list of anchors (const char *), do not modify!
+ *
+ * This function returns a list of char anchor names.
+ *
  */
 EAPI const Eina_List *
 edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
@@ -1314,11 +1502,19 @@ edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
    return NULL;
 }
 
-/** Returns a list of Evas_Textblock_Rectangle * anchor rectangles
+/**
+ * @brief Return a list of Evas_Textblock_Rectangle anchor rectangles.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param anchor The anchor name
- * @return The list of anchor rects (const Evas_Textblock_Rectangle *), do not modify!
+ *
+ * @return The list of anchor rects (const Evas_Textblock_Rectangle
+ * *), do not modify!
+ *
+ * This function return a list of Evas_Textblock_Rectangle anchor
+ * rectangles.
+ *
  */
 EAPI const Eina_List *
 edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor)
@@ -1335,13 +1531,17 @@ edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *pa
    return NULL;
 }
 
-/** Returns the cursor geometry of the part relative to the edje object
+/**
+ * @brief Returns the cursor geometry of the part relative to the edje
+ * object.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param x Cursor X position
  * @param y Cursor Y position
  * @param w Cursor width
  * @param h Cursor height
+ *
  */
 EAPI void
 edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
@@ -1366,7 +1566,10 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa
    return;
 }
 
-/** Enables selection if the entyr is an EXPLICIT selection mode type
+/**
+ * @brief Enables selection if the entyr is an EXPLICIT selection mode
+ * type.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  */
@@ -1384,7 +1587,9 @@ edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part,
      _edje_entry_select_allow_set(rp, allow);
 }
 
-/** Aborts any selection action on a part
+/**
+ * @brief Aborts any selection action on a part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  */
@@ -1402,7 +1607,9 @@ edje_object_part_text_select_abort(const Evas_Object *obj, const char *part)
      _edje_entry_select_abort(rp);
 }
 
-/** Swallows an object into the edje
+/**
+ * @brief Swallows an object into the edje.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param obj_swallow The object to swallow
@@ -1411,8 +1618,8 @@ edje_object_part_text_select_abort(const Evas_Object *obj, const char *part)
  * for the part affect the swallowed object. (e.g. resize, move, show,
  * raise/lower, etc.).
  *
- * If an object has already been swallowed into this part, then it will
- * first be unswallowed before the new object is swallowed.
+ * If an object has already been swallowed into this part, then it
+ * will first be unswallowed before the new object is swallowed.
  */
 EAPI void
 edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow)
@@ -1452,7 +1659,9 @@ _recalc_extern_parent(Evas_Object *obj)
    _edje_recalc(ed);
 }
 
-/** Set the object minimum size
+/**
+ * @brief Set the object minimum size.
+ *
  * @param obj A valid Evas_Object handle
  * @param minw The minimum width
  * @param minh The minimum height
@@ -1475,7 +1684,9 @@ edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord mi
      }
 }
 
-/** Set the object maximum size
+/**
+ * @brief Set the object maximum size.
+ *
  * @param obj A valid Evas_Object handle
  * @param maxw The maximum width
  * @param maxh The maximum height
@@ -1498,16 +1709,18 @@ edje_extern_object_max_size_set(Evas_Object *obj, Evas_Coord maxw, Evas_Coord ma
      }
 }
 
-/** Set the object aspect size
+/**
+ * @brief Set the object aspect size.
+ *
  * @param obj A valid Evas_Object handle
  * @param aspect The aspect control axes
  * @param aw The aspect radio width
  * @param ah The aspect ratio height
  *
- * This sets the desired aspect ratio to keep an object that will be swallowed
- * by Edje. The width and height define a preferred size ASPECT and the
- * object may be scaled to be larger or smaller, but retaining the relative
- * scale of both aspect width and height.
+ * This sets the desired aspect ratio to keep an object that will be
+ * swallowed by Edje. The width and height define a preferred size
+ * ASPECT and the object may be scaled to be larger or smaller, but
+ * retaining the relative scale of both aspect width and height.
  */
 EAPI void
 edje_extern_object_aspect_set(Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah)
@@ -1672,23 +1885,27 @@ _edje_box_layout_external_new(const char *name, Evas_Object_Box_Layout func, voi
    return l;
 }
 
-/** Registers a custom layout to be used in edje boxes
+/**
+ * @brief Registers a custom layout to be used in edje boxes.
+ *
  * @param name The name of the layout
  * @param func The function defining the layout
- * @param layout_data_get This function gets the custom data pointer for func
- * @param layout_data_free Passed to func to free its private data when needed
+ * @param layout_data_get This function gets the custom data pointer
+ * for func
+ * @param layout_data_free Passed to func to free its private data
+ * when needed
  * @param free_data Frees data
  * @param data Private pointer passed to layout_data_get
  *
- * This function registers custom layouts that can be referred from themes
- * by the registered name.
- * The Evas_Object_Box_Layout functions receive two pointers for internal
- * use, one being private data, and the other the function to free that
- * data when it's not longer needed. From Edje, this private data will be
- * retrieved by calling layout_data_get, and layout_data_free will be the
- * free function passed to func. layout_data_get will be called with data
- * as its parameter, and this one will be freed by free_data whenever the
- * layout is unregistered from Edje.
+ * This function registers custom layouts that can be referred from
+ * themes by the registered name. The Evas_Object_Box_Layout
+ * functions receive two pointers for internal use, one being private
+ * data, and the other the function to free that data when it's not
+ * longer needed. From Edje, this private data will be retrieved by
+ * calling layout_data_get, and layout_data_free will be the free
+ * function passed to func. layout_data_get will be called with data
+ * as its parameter, and this one will be freed by free_data whenever
+ * the layout is unregistered from Edje.
  */
 EAPI void
 edje_box_layout_register(const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data)
@@ -1749,7 +1966,9 @@ edje_box_layout_register(const char *name, Evas_Object_Box_Layout func, void *(*
      }
 }
 
-/** Unswallow an object
+/**
+ * @brief Unswallow an object.
+ *
  * @param obj A valid Evas_Object handle
  * @param obj_swallow The swallowed object
  *
@@ -1789,7 +2008,9 @@ edje_object_part_unswallow(Evas_Object *obj __UNUSED__, Evas_Object *obj_swallow
      }
 }
 
-/** Get the object currently swallowed by a part
+/**
+ * @brief Get the object currently swallowed by a part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @return The swallowed object, or NULL if there is none.
@@ -1811,7 +2032,9 @@ edje_object_part_swallow_get(const Evas_Object *obj, const char *part)
    return rp->swallowed_object;
 }
 
-/** Get the minimum size for an object
+/**
+ * @brief Get the minimum size for an object.
+ *
  * @param obj A valid Evas_Object handle
  * @param minw Minimum width pointer
  * @param minh Minimum height pointer
@@ -1835,12 +2058,14 @@ edje_object_size_min_get(const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *m
    if (minh) *minh = ed->collection->prop.min.h;
 }
 
-/** Get the maximum size for an object
+/**
+ * @brief Get the maximum size for an object.
+ *
  * @param obj A valid Evas_Object handle
  * @param maxw Maximum width pointer
  * @param maxh Maximum height pointer
  *
- * Gets the object's maximum size values from the Edje.  These are set
+ * Gets the object's maximum size values from the Edje. These are set
  * to zero if no Edje is connected to the Evas Object.
  */
 EAPI void
@@ -1879,7 +2104,9 @@ edje_object_size_max_get(const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *m
      }
 }
 
-/** Force a Size/Geometry calculation
+/**
+ * @brief Force a Size/Geometry calculation.
+ *
  * @param obj A valid Evas_Object handle
  *
  * Forces the object @p obj to recalculation layout regardless of
@@ -1910,7 +2137,9 @@ edje_object_calc_force(Evas_Object *obj)
    _edje_freeze_val = pf2;
 }
 
-/** Calculate minimum size
+/**
+ * @brief Calculate minimum size.
+ *
  * @param obj A valid Evas_Object handle
  * @param minw Minimum width pointer
  * @param minh Minimum height pointer
@@ -2056,7 +2285,9 @@ edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Co
    ed->calc_only = 0;
 }
 
-/** Returns the state of the Edje part
+/**
+ * @brief Returns the state of the Edje part.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param val_ret
@@ -2086,6 +2317,7 @@ edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val
    if (!rp)
      {
        if (val_ret) *val_ret = 0;
+       printf("part not found\n");
        return "";
      }
    if (!rp->chosen_description)
@@ -2109,7 +2341,9 @@ edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val
    return "";
 }
 
-/** Determine dragable directions
+/**
+ * @brief Determine dragable directions.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  *
@@ -2138,7 +2372,9 @@ edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part)
    return EDJE_DRAG_DIR_NONE;
 }
 
-/** Set the dragable object location
+/**
+ * @brief Set the dragable object location.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The x value
@@ -2175,7 +2411,9 @@ edje_object_part_drag_value_set(Evas_Object *obj, const char *part, double dx, d
    _edje_emit(rp->edje, "drag,set", rp->part->name);
 }
 
-/** Get the dragable object location
+/**
+ * @brief Get the dragable object location.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The X value pointer
@@ -2217,7 +2455,9 @@ edje_object_part_drag_value_get(const Evas_Object *obj, const char *part, double
    if (dy) *dy = ddy;
 }
 
-/** Set the dragable object size
+/**
+ * @brief Set the dragable object size.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dw The drag width
@@ -2250,7 +2490,9 @@ edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, do
    _edje_recalc(rp->edje);
 }
 
-/** Get the dragable object size
+/**
+ * @brief Get the dragable object size.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dw The drag width pointer
@@ -2286,7 +2528,9 @@ edje_object_part_drag_size_get(const Evas_Object *obj, const char *part, double
    if (dh) *dh = rp->drag->size.y;
 }
 
-/** Sets the drag step increment
+/**
+ * @brief Sets the drag step increment.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The x step ammount
@@ -2316,7 +2560,9 @@ edje_object_part_drag_step_set(Evas_Object *obj, const char *part, double dx, do
 #endif
 }
 
-/** Gets the drag step increment values.
+/**
+ * @brief Gets the drag step increment values.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part
  * @param dx The x step increment pointer
@@ -2352,7 +2598,9 @@ edje_object_part_drag_step_get(const Evas_Object *obj, const char *part, double
    if (dy) *dy = rp->drag->step.y;
 }
 
-/** Sets the page step increments
+/**
+ * @brief Sets the page step increments.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The x page step increment
@@ -2382,7 +2630,9 @@ edje_object_part_drag_page_set(Evas_Object *obj, const char *part, double dx, do
 #endif
 }
 
-/** Gets the page step increments
+/**
+ * @brief Gets the page step increments.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The dx page increment pointer
@@ -2418,7 +2668,9 @@ edje_object_part_drag_page_get(const Evas_Object *obj, const char *part, double
    if (dy) *dy = rp->drag->page.y;
 }
 
-/** Steps the dragable x,y steps
+/**
+ * @brief Steps the dragable x,y steps.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The x step
@@ -2454,14 +2706,16 @@ edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double
    _edje_emit(rp->edje, "drag,step", rp->part->name);
 }
 
-/** Pages x,y steps
+/**
+ * @brief Pages x,y steps.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param dx The x step
  * @param dy The y step
  *
- * Pages x,y where the increment is defined by edje_object_part_drag_page_set.\n
- * WARNING: Paging is bugged!
+ * Pages x,y where the increment is defined by
+ * edje_object_part_drag_page_set.\n WARNING: Paging is bugged!
  */
 EAPI void
 edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double dy)
@@ -2507,7 +2761,9 @@ _edje_box_shutdown(void)
    _edje_box_layout_registry = NULL;
 }
 
-/** Appends an object to the box
+/**
+ * @brief Appends an object to the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to append
@@ -2515,7 +2771,7 @@ _edje_box_shutdown(void)
  * @return 1: Successfully added.\n
  * 0: An error occured.
  *
- * Appends child to the box indicated by part.\n
+ * Appends child to the box indicated by part.
  */
 EAPI Eina_Bool
 edje_object_part_box_append(Evas_Object *obj, const char *part, Evas_Object *child)
@@ -2533,7 +2789,9 @@ edje_object_part_box_append(Evas_Object *obj, const char *part, Evas_Object *chi
    return _edje_real_part_box_append(rp, child);
 }
 
-/** Prepends an object to the box
+/**
+ * @briefPrepends an object to the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to prepend
@@ -2541,7 +2799,7 @@ edje_object_part_box_append(Evas_Object *obj, const char *part, Evas_Object *chi
  * @return 1: Successfully added.\n
  * 0: An error occured.
  *
- * Prepends child to the box indicated by part.\n
+ * Prepends child to the box indicated by part.
  */
 EAPI Eina_Bool
 edje_object_part_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child)
@@ -2559,7 +2817,9 @@ edje_object_part_box_prepend(Evas_Object *obj, const char *part, Evas_Object *ch
    return _edje_real_part_box_prepend(rp, child);
 }
 
-/** Adds an object to the box
+/**
+ * @brief Adds an object to the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to insert
@@ -2568,7 +2828,8 @@ edje_object_part_box_prepend(Evas_Object *obj, const char *part, Evas_Object *ch
  * @return 1: Successfully added.\n
  * 0: An error occured.
  *
- * Inserts child in the box given by part, in the position marked by reference.\n
+ * Inserts child in the box given by part, in the position marked by
+ * reference.
  */
 EAPI Eina_Bool
 edje_object_part_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
@@ -2586,7 +2847,9 @@ edje_object_part_box_insert_before(Evas_Object *obj, const char *part, Evas_Obje
    return _edje_real_part_box_insert_before(rp, child, reference);
 }
 
-/** Inserts an object to the box
+/**
+ * @brief Inserts an object to the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to insert
@@ -2595,7 +2858,8 @@ edje_object_part_box_insert_before(Evas_Object *obj, const char *part, Evas_Obje
  * @return 1: Successfully added.\n
  * 0: An error occured.
  *
- * Adds child to the box indicated by part, in the position given by pos.\n
+ * Adds child to the box indicated by part, in the position given by
+ * pos.
  */
 EAPI Eina_Bool
 edje_object_part_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
@@ -2613,14 +2877,16 @@ edje_object_part_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *
    return _edje_real_part_box_insert_at(rp, child, pos);
 }
 
-/** Removes an object from the box
+/**
+ * @brief Removes an object from the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to remove
  *
  * @return Pointer to the object removed, or NULL.
  *
- * Removes child from the box indicated by part.\n
+ * Removes child from the box indicated by part.
  */
 EAPI Evas_Object *
 edje_object_part_box_remove(Evas_Object *obj, const char *part, Evas_Object *child)
@@ -2638,14 +2904,17 @@ edje_object_part_box_remove(Evas_Object *obj, const char *part, Evas_Object *chi
    return _edje_real_part_box_remove(rp, child);
 }
 
-/** Removes an object from the box
+/**
+ * @brief Removes an object from the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param pos
  *
  * @return Pointer to the object removed, or NULL.
  *
- * Removes from the box indicated by part, the object in the position pos.\n
+ * Removes from the box indicated by part, the object in the position
+ * pos.
  */
 EAPI Evas_Object *
 edje_object_part_box_remove_at(Evas_Object *obj, const char *part, unsigned int pos)
@@ -2663,7 +2932,9 @@ edje_object_part_box_remove_at(Evas_Object *obj, const char *part, unsigned int
    return _edje_real_part_box_remove_at(rp, pos);
 }
 
-/** Removes all elements from the box
+/**
+ * @brief Removes all elements from the box.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param clear Delete objects on removal
@@ -2672,7 +2943,7 @@ edje_object_part_box_remove_at(Evas_Object *obj, const char *part, unsigned int
  * 0: An error occured.
  *
  * Removes all the external objects from the box indicated by part.
- * Elements created from the theme will not be removed.\n
+ * Elements created from the theme will not be removed.
  */
 EAPI Eina_Bool
 edje_object_part_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear)
@@ -2870,7 +3141,9 @@ _edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child)
    _edje_recalc(rp->edje);
 }
 
-/** Packs an object into the table
+/**
+ * @brief Packs an object into the table.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to pack in
@@ -2882,7 +3155,7 @@ _edje_table_child_remove(Edje_Real_Part *rp, Evas_Object *child)
  * @return 1: Successfully added.\n
  * 0: An error occured.
  *
- * Packs an object into the table indicated by part.\n
+ * Packs an object into the table indicated by part.
  */
 EAPI Eina_Bool
 edje_object_part_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
@@ -2900,7 +3173,9 @@ edje_object_part_table_pack(Evas_Object *obj, const char *part, Evas_Object *chi
    return _edje_real_part_table_pack(rp, child_obj, col, row, colspan, rowspan);
 }
 
-/** Removes an object from the table
+/**
+ * @brief Removes an object from the table.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param child The object to pack in
@@ -2908,7 +3183,7 @@ edje_object_part_table_pack(Evas_Object *obj, const char *part, Evas_Object *chi
  * @return 1: Successfully removed.\n
  * 0: An error occured.
  *
- * Removes an object from the table indicated by part.\n
+ * Removes an object from the table indicated by part.
  */
 EAPI Eina_Bool
 edje_object_part_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj)
@@ -2926,7 +3201,9 @@ edje_object_part_table_unpack(Evas_Object *obj, const char *part, Evas_Object *c
    return _edje_real_part_table_unpack(rp, child_obj);
 }
 
-/** Gets the number of columns and rows the table has
+/**
+ * @brief Gets the number of columns and rows the table has.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param cols Pointer where to store number of columns (can be NULL)
@@ -2935,7 +3212,7 @@ edje_object_part_table_unpack(Evas_Object *obj, const char *part, Evas_Object *c
  * @return 1: Successfully get some data.\n
  * 0: An error occured.
  *
- * Retrieves the size of the table in number of columns and rows.\n
+ * Retrieves the size of the table in number of columns and rows.
  */
 EAPI Eina_Bool
 edje_object_part_table_col_row_size_get(const Evas_Object *obj, const char *part, int *cols, int *rows)
@@ -2954,7 +3231,9 @@ edje_object_part_table_col_row_size_get(const Evas_Object *obj, const char *part
    return EINA_TRUE;
 }
 
-/** Removes all object from the table
+/**
+ * @brief Removes all object from the table.
+ *
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param clear If set, will delete subobjs on remove
@@ -2962,8 +3241,8 @@ edje_object_part_table_col_row_size_get(const Evas_Object *obj, const char *part
  * @return 1: Successfully clear table.\n
  * 0: An error occured.
  *
- * Removes all object from the table indicated by part, except
- * the internal ones set from the theme.\n
+ * Removes all object from the table indicated by part, except the
+ * internal ones set from the theme.
  */
 EAPI Eina_Bool
 edje_object_part_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear)
@@ -3133,8 +3412,8 @@ _edje_color_class_member_del(Edje *ed, const char *color_class)
 }
 
 /**
- * Used to free the member lists that are stored in the text_class
- * and color_class hashtables.
+ * Used to free the member lists that are stored in the text_class and
+ * color_class hashtables.
  */
 static Eina_Bool
 member_list_free(const Eina_Hash *hash __UNUSED__, const void *key __UNUSED__, void *data, void *fdata __UNUSED__)