From: Hyoyoung Chang <hyoyoung@gmail.com>
[framework/uifw/elementary.git] / src / lib / elm_toolbar.h
index 24e8a22..2011a5c 100644 (file)
@@ -29,9 +29,8 @@
  *
  * Supported elm_object_item common APIs.
  * @li elm_object_item_disabled_set
- * @li elm_object_item_text_set
+ * @li elm_object_item_disabled_get
  * @li elm_object_item_part_text_set
- * @li elm_object_item_text_get
  * @li elm_object_item_part_text_get
  *
  * List of examples:
  * @enum _Elm_Toolbar_Shrink_Mode
  * @typedef Elm_Toolbar_Shrink_Mode
  *
- * Set toolbar's items display behavior, it can be scrollabel,
+ * Set toolbar's items display behavior, it can be scrollable,
  * show a menu with exceeding items, or simply hide them.
  *
  * @note Default value is #ELM_TOOLBAR_SHRINK_MENU. It reads value
  * from elm config.
  *
- * Values <b> don't </b> work as bitmask, only one can be choosen.
+ * Values <b> don't </b> work as bitmask, only one can be chosen.
  *
- * @see elm_toolbar_mode_shrink_set()
- * @see elm_toolbar_mode_shrink_get()
+ * @see elm_toolbar_shrink_mode_set()
+ * @see elm_toolbar_shrink_mode_get()
  *
  * @ingroup Toolbar
  */
 typedef enum
 {
-   ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimun size to fit all the items. */
+   ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimum size to fit all the items. */
    ELM_TOOLBAR_SHRINK_HIDE, /**< Hide exceeding items. */
    ELM_TOOLBAR_SHRINK_SCROLL, /**< Allow accessing exceeding items through a scroller. */
    ELM_TOOLBAR_SHRINK_MENU, /**< Inserts a button to pop up a menu with exceeding items. */
+   ELM_TOOLBAR_SHRINK_EXPAND, /**< Expand all items according the size of the toolbar. */
    ELM_TOOLBAR_SHRINK_LAST /**< Indicates error if returned by elm_toolbar_shrink_mode_get() */
 } Elm_Toolbar_Shrink_Mode;
 
@@ -143,7 +143,7 @@ EAPI Elm_Icon_Lookup_Order        elm_toolbar_icon_order_lookup_get(const Evas_O
  * Set whether the toolbar should always have an item selected.
  *
  * @param obj The toolbar object.
- * @param wrap @c EINA_TRUE to enable always-select mode or @c EINA_FALSE to
+ * @param always_select @c EINA_TRUE to enable always-select mode or @c EINA_FALSE to
  * disable it.
  *
  * This will cause the toolbar to always have an item selected, and clicking
@@ -175,7 +175,7 @@ EAPI Eina_Bool                    elm_toolbar_always_select_mode_get(const Evas_
  * Set whether the toolbar items' should be selected by the user or not.
  *
  * @param obj The toolbar object.
- * @param wrap @c EINA_TRUE to disable selection or @c EINA_FALSE to
+ * @param no_select @c EINA_TRUE to disable selection or @c EINA_FALSE to
  * enable it.
  *
  * This will turn off the ability to select items entirely and they will
@@ -217,12 +217,12 @@ EAPI Eina_Bool                    elm_toolbar_no_select_mode_get(const Evas_Obje
  * be set as @b last item.
  *
  * Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
  *
  * Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
  *
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
  * is selected, i.e., the user clicks over an unselected item.
  * If such function isn't needed, just passing
  * @c NULL as @p func is enough. The same should be done for @p data.
@@ -232,8 +232,7 @@ EAPI Eina_Bool                    elm_toolbar_no_select_mode_get(const Evas_Obje
  * If an absolute path is provided it will load it direct from a file.
  *
  * @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
  *
  * @ingroup Toolbar
  */
@@ -253,12 +252,12 @@ EAPI Elm_Object_Item             *elm_toolbar_item_append(Evas_Object *obj, cons
  * be set as @b first item.
  *
  * Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
  *
  * Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
  *
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
  * is selected, i.e., the user clicks over an unselected item.
  * If such function isn't needed, just passing
  * @c NULL as @p func is enough. The same should be done for @p data.
@@ -268,8 +267,7 @@ EAPI Elm_Object_Item             *elm_toolbar_item_append(Evas_Object *obj, cons
  * If an absolute path is provided it will load it direct from a file.
  *
  * @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
  *
  * @ingroup Toolbar
  */
@@ -290,12 +288,12 @@ EAPI Elm_Object_Item             *elm_toolbar_item_prepend(Evas_Object *obj, con
  * this toolbar will be just before item @p before.
  *
  * Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
  *
  * Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
  *
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
  * is selected, i.e., the user clicks over an unselected item.
  * If such function isn't needed, just passing
  * @c NULL as @p func is enough. The same should be done for @p data.
@@ -305,8 +303,7 @@ EAPI Elm_Object_Item             *elm_toolbar_item_prepend(Evas_Object *obj, con
  * If an absolute path is provided it will load it direct from a file.
  *
  * @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
  *
  * @ingroup Toolbar
  */
@@ -327,12 +324,12 @@ EAPI Elm_Object_Item             *elm_toolbar_item_insert_before(Evas_Object *ob
  * this toolbar will be just after item @p after.
  *
  * Items created with this method can be deleted with
- * elm_toolbar_item_del().
+ * elm_object_item_del().
  *
  * Associated @p data can be properly freed when item is deleted if a
- * callback function is set with elm_toolbar_item_del_cb_set().
+ * callback function is set with elm_object_item_del_cb_set().
  *
- * If a function is passed as argument, it will be called everytime this item
+ * If a function is passed as argument, it will be called every time this item
  * is selected, i.e., the user clicks over an unselected item.
  * If such function isn't needed, just passing
  * @c NULL as @p func is enough. The same should be done for @p data.
@@ -342,8 +339,7 @@ EAPI Elm_Object_Item             *elm_toolbar_item_insert_before(Evas_Object *ob
  * If an absolute path is provided it will load it direct from a file.
  *
  * @see elm_toolbar_item_icon_set()
- * @see elm_toolbar_item_del()
- * @see elm_toolbar_item_del_cb_set()
+ * @see elm_object_item_del()
  *
  * @ingroup Toolbar
  */
@@ -396,7 +392,7 @@ EAPI Elm_Object_Item             *elm_toolbar_item_next_get(const Elm_Object_Ite
 /**
  * Get the item before @p item in toolbar.
  *
- * @param item The toolbar item.
+ * @param it The toolbar item.
  * @return The item before @p item, or @c NULL if none or on failure.
  *
  * @note If it is the first item, @c NULL will be returned.
@@ -474,8 +470,8 @@ EAPI Eina_Bool                    elm_toolbar_item_selected_get(const Elm_Object
  * This sets the selected state of the given item @p it.
  * @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
  *
- * If a new item is selected the previosly selected will be unselected.
- * Previoulsy selected item can be get with function
+ * If a new item is selected the previously selected will be unselected.
+ * Previously selected item can be get with function
  * elm_toolbar_selected_item_get().
  *
  * Selected items will be highlighted.
@@ -507,7 +503,6 @@ EAPI Elm_Object_Item             *elm_toolbar_selected_item_get(const Evas_Objec
 /**
  * Set the icon associated with @p item.
  *
- * @param obj The parent of this item.
  * @param it The toolbar item.
  * @param icon A string with icon name or the absolute path of an image file.
  *
@@ -592,40 +587,10 @@ EAPI Eina_Bool                    elm_toolbar_item_icon_memfile_set(Elm_Object_I
 EAPI Eina_Bool                    elm_toolbar_item_icon_file_set(Elm_Object_Item *it, const char *file, const char *key);
 
 /**
- * Delete them item from the toolbar.
- *
- * @param it The item of toolbar to be deleted.
- *
- * @see elm_toolbar_item_append()
- * @see elm_toolbar_item_del_cb_set()
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_del(Elm_Object_Item *it);
-
-/**
- * Set the function called when a toolbar item is freed.
- *
- * @param it The item to set the callback on.
- * @param func The function called.
- *
- * If there is a @p func, then it will be called prior item's memory release.
- * That will be called with the following arguments:
- * @li item's data;
- * @li item's Evas object;
- * @li item itself;
- *
- * This way, a data associated to a toolbar item could be properly freed.
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb func);
-
-/**
  * Set or unset item as a separator.
  *
  * @param it The toolbar item.
- * @param setting @c EINA_TRUE to set item @p item as separator or
+ * @param separator @c EINA_TRUE to set item @p item as separator or
  * @c EINA_FALSE to unset, i.e., item will be used as a regular item.
  *
  * Items aren't set as separator by default.
@@ -659,14 +624,14 @@ EAPI Eina_Bool                    elm_toolbar_item_separator_get(const Elm_Objec
  * @param shrink_mode Toolbar's items display behavior.
  *
  * The toolbar won't scroll if #ELM_TOOLBAR_SHRINK_NONE,
- * but will enforce a minimun size so all the items will fit, won't scroll
+ * but will enforce a minimum size so all the items will fit, won't scroll
  * and won't show the items that don't fit if #ELM_TOOLBAR_SHRINK_HIDE,
  * will scroll if #ELM_TOOLBAR_SHRINK_SCROLL, and will create a button to
  * pop up excess elements with #ELM_TOOLBAR_SHRINK_MENU.
  *
  * @ingroup Toolbar
  */
-EAPI void                         elm_toolbar_mode_shrink_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode);
+EAPI void                         elm_toolbar_shrink_mode_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode);
 
 /**
  * Get the shrink mode of toolbar @p obj.
@@ -674,11 +639,11 @@ EAPI void                         elm_toolbar_mode_shrink_set(Evas_Object *obj,
  * @param obj The toolbar object.
  * @return Toolbar's items display behavior.
  *
- * @see elm_toolbar_mode_shrink_set() for details.
+ * @see elm_toolbar_shrink_mode_set() for details.
  *
  * @ingroup Toolbar
  */
-EAPI Elm_Toolbar_Shrink_Mode      elm_toolbar_mode_shrink_get(const Evas_Object *obj);
+EAPI Elm_Toolbar_Shrink_Mode      elm_toolbar_shrink_mode_get(const Evas_Object *obj);
 
 /**
  * Enable/disable homogeneous mode.
@@ -845,7 +810,7 @@ EAPI Evas_Object                 *elm_toolbar_item_menu_get(const Elm_Object_Ite
 EAPI Elm_Toolbar_Item_State      *elm_toolbar_item_state_add(Elm_Object_Item *it, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
 
 /**
- * Delete a previoulsy added state to @p item.
+ * Delete a previously added state to @p item.
  *
  * @param it The toolbar item.
  * @param state The state to be deleted.
@@ -864,7 +829,7 @@ EAPI Eina_Bool                    elm_toolbar_item_state_del(Elm_Object_Item *it
  *
  * If @p state is @c NULL, it won't select any state and the default item's
  * icon and label will be used. It's the same behaviour than
- * elm_toolbar_item_state_unser().
+ * elm_toolbar_item_state_unset().
  *
  * @see elm_toolbar_item_state_unset()
  *
@@ -929,223 +894,6 @@ EAPI Elm_Toolbar_Item_State      *elm_toolbar_item_state_next(Elm_Object_Item *i
  */
 EAPI Elm_Toolbar_Item_State      *elm_toolbar_item_state_prev(Elm_Object_Item *it);
 
-/**
- * Set the text to be shown in a given toolbar item's tooltips.
- *
- * @param it toolbar item.
- * @param text The text to set in the content.
- *
- * Setup the text as tooltip to object. The item can have only one tooltip,
- * so any previous tooltip data - set with this function or
- * elm_toolbar_item_tooltip_content_cb_set() - is removed.
- *
- * @see elm_object_tooltip_text_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
-
-/**
- * Set the content to be shown in the tooltip item.
- *
- * Setup the tooltip to item. The item can have only one tooltip,
- * so any previous tooltip data is removed. @p func(with @p data) will
- * be called every time that need show the tooltip and it should
- * return a valid Evas_Object. This object is then managed fully by
- * tooltip system and is deleted when the tooltip is gone.
- *
- * @param it the toolbar item being attached a tooltip.
- * @param func the function used to create the tooltip contents.
- * @param data what to provide to @a func as callback data/context.
- * @param del_cb called when data is not needed anymore, either when
- *        another callback replaces @a func, the tooltip is unset with
- *        elm_toolbar_item_tooltip_unset() or the owner @a item
- *        dies. This callback receives as the first parameter the
- *        given @a data, and @c event_info is the item.
- *
- * @see elm_object_tooltip_content_cb_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-
-/**
- * Unset tooltip from item.
- *
- * @param it toolbar item to remove previously set tooltip.
- *
- * Remove tooltip from item. The callback provided as del_cb to
- * elm_toolbar_item_tooltip_content_cb_set() will be called to notify
- * it is not used anymore.
- *
- * @see elm_object_tooltip_unset() for more details.
- * @see elm_toolbar_item_tooltip_content_cb_set()
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_tooltip_unset(Elm_Object_Item *it);
-
-/**
- * Sets a different style for this item tooltip.
- *
- * @note before you set a style you should define a tooltip with
- *       elm_toolbar_item_tooltip_content_cb_set() or
- *       elm_toolbar_item_tooltip_text_set()
- *
- * @param it toolbar item with tooltip already set.
- * @param style the theme style to use (default, transparent, ...)
- *
- * @see elm_object_tooltip_style_set() for more details.
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
-
-/**
- * Get the style for this item tooltip.
- *
- * @param it toolbar item with tooltip already set.
- * @return style the theme style in use, defaults to "default". If the
- *         object does not have a tooltip set, then NULL is returned.
- *
- * @see elm_object_tooltip_style_get() for more details.
- * @see elm_toolbar_item_tooltip_style_set()
- *
- * @ingroup Toolbar
- */
-EAPI const char                  *elm_toolbar_item_tooltip_style_get(const Elm_Object_Item *it);
-
-/**
- * Set the type of mouse pointer/cursor decoration to be shown,
- * when the mouse pointer is over the given toolbar widget item
- *
- * @param it toolbar item to customize cursor on
- * @param cursor the cursor type's name
- *
- * This function works analogously as elm_object_cursor_set(), but
- * here the cursor's changing area is restricted to the item's
- * area, and not the whole widget's. Note that that item cursors
- * have precedence over widget cursors, so that a mouse over an
- * item with custom cursor set will always show @b that cursor.
- *
- * If this function is called twice for an object, a previously set
- * cursor will be unset on the second call.
- *
- * @see elm_object_cursor_set()
- * @see elm_toolbar_item_cursor_get()
- * @see elm_toolbar_item_cursor_unset()
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_cursor_set(Elm_Object_Item *it, const char *cursor);
-
-/*
- * Get the type of mouse pointer/cursor decoration set to be shown,
- * when the mouse pointer is over the given toolbar widget item
- *
- * @param it toolbar item with custom cursor set
- * @return the cursor type's name or @c NULL, if no custom cursors
- * were set to @p item (and on errors)
- *
- * @see elm_object_cursor_get()
- * @see elm_toolbar_item_cursor_set()
- * @see elm_toolbar_item_cursor_unset()
- *
- * @ingroup Toolbar
- */
-EAPI const char                  *elm_toolbar_item_cursor_get(const Elm_Object_Item *it);
-
-/**
- * Unset any custom mouse pointer/cursor decoration set to be
- * shown, when the mouse pointer is over the given toolbar widget
- * item, thus making it show the @b default cursor again.
- *
- * @param it a toolbar item
- *
- * Use this call to undo any custom settings on this item's cursor
- * decoration, bringing it back to defaults (no custom style set).
- *
- * @see elm_object_cursor_unset()
- * @see elm_toolbar_item_cursor_set()
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_cursor_unset(Elm_Object_Item *it);
-
-/**
- * Set a different @b style for a given custom cursor set for a
- * toolbar item.
- *
- * @param it toolbar item with custom cursor set
- * @param style the <b>theme style</b> to use (e.g. @c "default",
- * @c "transparent", etc)
- *
- * This function only makes sense when one is using custom mouse
- * cursor decorations <b>defined in a theme file</b>, which can have,
- * given a cursor name/type, <b>alternate styles</b> on it. It
- * works analogously as elm_object_cursor_style_set(), but here
- * applyed only to toolbar item objects.
- *
- * @warning Before you set a cursor style you should have definen a
- *       custom cursor previously on the item, with
- *       elm_toolbar_item_cursor_set()
- *
- * @see elm_toolbar_item_cursor_engine_only_set()
- * @see elm_toolbar_item_cursor_style_get()
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_cursor_style_set(Elm_Object_Item *it, const char *style);
-
-/**
- * Get the current @b style set for a given toolbar item's custom
- * cursor
- *
- * @param it toolbar item with custom cursor set.
- * @return style the cursor style in use. If the object does not
- *         have a cursor set, then @c NULL is returned.
- *
- * @see elm_toolbar_item_cursor_style_set() for more details
- *
- * @ingroup Toolbar
- */
-EAPI const char                  *elm_toolbar_item_cursor_style_get(const Elm_Object_Item *it);
-
-/**
- * Set if the (custom)cursor for a given toolbar item should be
- * searched in its theme, also, or should only rely on the
- * rendering engine.
- *
- * @param it item with custom (custom) cursor already set on
- * @param engine_only Use @c EINA_TRUE to have cursors looked for
- * only on those provided by the rendering engine, @c EINA_FALSE to
- * have them searched on the widget's theme, as well.
- *
- * @note This call is of use only if you've set a custom cursor
- * for toolbar items, with elm_toolbar_item_cursor_set().
- *
- * @note By default, cursors will only be looked for between those
- * provided by the rendering engine.
- *
- * @ingroup Toolbar
- */
-EAPI void                         elm_toolbar_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
-
-/**
- * Get if the (custom) cursor for a given toolbar item is being
- * searched in its theme, also, or is only relying on the rendering
- * engine.
- *
- * @param it a toolbar item
- * @return @c EINA_TRUE, if cursors are being looked for only on
- * those provided by the rendering engine, @c EINA_FALSE if they
- * are being searched on the widget's theme, as well.
- *
- * @see elm_toolbar_item_cursor_engine_only_set(), for more details
- *
- * @ingroup Toolbar
- */
-EAPI Eina_Bool                    elm_toolbar_item_cursor_engine_only_get(const Elm_Object_Item *it);
 
 /**
  * Change a toolbar's orientation