- Elementary
- Main
- Authors
- Examples
- Files
- Pages
- Types
- Modules

Macros | Functions
Layout

## Macros
#define | elm_layout_icon_set(_ly, _obj)
| Convenience macro to set the icon object in a layout that follows the Elementary naming convention for its parts.
#define | elm_layout_icon_get(_ly) elm_layout_content_get((_ly), "elm.swallow.icon")
| Convenience macro to get the icon object from a layout that follows the Elementary naming convention for its parts.
#define | elm_layout_end_set(_ly, _obj)
| Convenience macro to set the end object in a layout that follows the Elementary naming convention for its parts.
#define | elm_layout_end_get(_ly) elm_layout_content_get((_ly), "elm.swallow.end")
| Convenience macro to get the end object in a layout that follows the Elementary naming convention for its parts.

## Functions
Evas_Object * | elm_layout_add (Evas_Object *parent)
| Add a new layout to the parent. More...
Eina_Bool | elm_layout_file_set (Evas_Object *obj, const char *file, const char *group)
| Set the file that will be used as layout. More...
Eina_Bool | elm_layout_theme_set (Evas_Object *obj, const char *clas, const char *group, const char *style)
| Set the edje group from the elementary theme that will be used as layout. More...
void | elm_layout_signal_emit (Evas_Object *obj, const char *emission, const char *source)
| Send a (Edje) signal to a given layout widget's underlying Edje object. More...
void | elm_layout_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
| Add a callback for a (Edje) signal emitted by a layout widget's underlying Edje object. More...
void * | elm_layout_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
| Remove a signal-triggered callback from a given layout widget. More...
Eina_Bool | elm_layout_box_append (Evas_Object *obj, const char *part, Evas_Object *child)
| Append child to layout box part. More...
Eina_Bool | elm_layout_box_prepend (Evas_Object *obj, const char *part, Evas_Object *child)
| Prepend child to layout box part. More...
Eina_Bool | elm_layout_box_insert_before (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
| Insert child to layout box part before a reference object. More...
Eina_Bool | elm_layout_box_insert_at (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
| Insert child to layout box part at a given position. More...
Evas_Object * | elm_layout_box_remove (Evas_Object *obj, const char *part, Evas_Object *child)
| Remove a child of the given part box. More...
Eina_Bool | elm_layout_box_remove_all (Evas_Object *obj, const char *part, Eina_Bool clear)
| Remove all children of the given part box. More...
Eina_Bool | elm_layout_table_pack (Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
| Insert child to layout table part. More...
Evas_Object * | elm_layout_table_unpack (Evas_Object *obj, const char *part, Evas_Object *child_obj)
| Unpack (remove) a child of the given part table. More...
Eina_Bool | elm_layout_table_clear (Evas_Object *obj, const char *part, Eina_Bool clear)
| Remove all the child objects of the given part table. More...
Evas_Object * | elm_layout_edje_get (const Evas_Object *obj)
| Get the edje layout. More...
const char * | elm_layout_data_get (const Evas_Object *obj, const char *key)
| Get the edje data from the given layout. More...
void | elm_layout_sizing_eval (Evas_Object *obj)
| Eval sizing. More...
void | elm_layout_sizing_restricted_eval (Evas_Object *obj, Eina_Bool w, Eina_Bool h)
| Request sizing reevaluation, restricted to current width and/or height. More...
Eina_Bool | elm_layout_part_cursor_set (Evas_Object *obj, const char *part_name, const char *cursor)
| Sets a specific cursor for an edje part. More...
const char * | elm_layout_part_cursor_get (const Evas_Object *obj, const char *part_name)
| Get the cursor to be shown when mouse is over an edje part. More...
Eina_Bool | elm_layout_part_cursor_unset (Evas_Object *obj, const char *part_name)
| Unsets a cursor previously set with elm_layout_part_cursor_set(). More...
Eina_Bool | elm_layout_part_cursor_style_set (Evas_Object *obj, const char *part_name, const char *style)
| Sets a specific cursor style for an edje part. More...
const char * | elm_layout_part_cursor_style_get (const Evas_Object *obj, const char *part_name)
| Get a specific cursor style for an edje part. More...
Eina_Bool | elm_layout_part_cursor_engine_only_set (Evas_Object *obj, const char *part_name, Eina_Bool engine_only)
| Sets if the cursor set should be searched on the theme or should use the provided by the engine, only. More...
Eina_Bool | elm_layout_part_cursor_engine_only_get (const Evas_Object *obj, const char *part_name)
| Get a specific cursor engine_only for an edje part. More...
Eina_Bool | elm_layout_content_set (Evas_Object *obj, const char *swallow, Evas_Object *content)
| Set the layout content. More...
Evas_Object * | elm_layout_content_get (const Evas_Object *obj, const char *swallow)
| Get the child object in the given content part. More...
Evas_Object * | elm_layout_content_unset (Evas_Object *obj, const char *swallow)
| Unset the layout content. More...
Eina_Bool | elm_layout_text_set (Evas_Object *obj, const char *part, const char *text)
| Set the text of the given part. More...
const char * | elm_layout_text_get (const Evas_Object *obj, const char *part)
| Get the text set in the given part. More...
#define | elm_obj_layout_file_set(file, group, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_theme_set(klass, group, style, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THEME_SET), EO_TYPECHECK(const char *, klass), EO_TYPECHECK(const char *, group), EO_TYPECHECK(const char *, style), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_signal_emit(emission, source) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_EMIT), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source)
#define | elm_obj_layout_signal_callback_add(emission, source, func, data) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_CALLBACK_ADD), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data)
#define | elm_obj_layout_signal_callback_del(emission, source, func, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_CALLBACK_DEL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void **, ret)
#define | elm_obj_layout_text_set(part, text, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_text_get(part, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)
#define | elm_obj_layout_box_append(part, child, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_box_prepend(part, child, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_PREPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_box_insert_before(part, child, reference, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_INSERT_BEFORE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(const Evas_Object *, reference), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_box_insert_at(part, child, pos, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_INSERT_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_box_remove(part, child, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_REMOVE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)
#define | elm_obj_layout_box_remove_all(part, clear, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_REMOVE_ALL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_table_pack(part, child, col, row, colspan, rowspan, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_PACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_table_unpack(part, child, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_UNPACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)
#define | elm_obj_layout_table_clear(part, clear, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_CLEAR), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_edje_get(ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_GET), EO_TYPECHECK(Evas_Object **, ret)
#define | elm_obj_layout_data_get(key, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_DATA_GET), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char **, ret)
#define | elm_obj_layout_sizing_eval() ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL)
#define | elm_obj_layout_sizing_restricted_eval(width, height) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_RESTRICTED_EVAL), EO_TYPECHECK(Eina_Bool, width), EO_TYPECHECK(Eina_Bool, height)
#define | elm_obj_layout_part_cursor_set(part_name, cursor, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char *, cursor), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_part_cursor_get(part_name, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char **, ret)
#define | elm_obj_layout_part_cursor_unset(part_name, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_UNSET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_part_cursor_style_set(part_name, style, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_STYLE_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char *, style), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_part_cursor_style_get(part_name, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_STYLE_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char **, ret)
#define | elm_obj_layout_part_cursor_engine_only_set(part_name, engine_only, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_ENGINE_ONLY_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool, engine_only), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_part_cursor_engine_only_get(part_name, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_ENGINE_ONLY_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_edje_object_can_access_set(can_access, ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_OBJECT_CAN_ACCESS_SET), EO_TYPECHECK(Eina_Bool, can_access), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_edje_object_can_access_get(ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_OBJECT_CAN_ACCESS_GET), EO_TYPECHECK(Eina_Bool *, ret)
#define | elm_obj_layout_smart_text_aliases_get(aliases) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_ALIASES_GET), EO_TYPECHECK(const Elm_Layout_Part_Alias_Description **, aliases)
#define | elm_obj_layout_smart_content_aliases_get(aliases) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_CONTENT_ALIASES_GET), EO_TYPECHECK(const Elm_Layout_Part_Alias_Description **, aliases)
#define | elm_obj_layout_sub_object_add_enable(enable) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SUB_OBJECT_ADD_ENABLE), EO_TYPECHECK(Eina_Bool *, enable)
#define | elm_obj_layout_theme_enable(enable) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THEME_ENABLE), EO_TYPECHECK(Eina_Bool *, enable)
#define | elm_obj_layout_freeze(ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_FREEZE), EO_TYPECHECK(int *, ret)
| Freezes the Elementary layout object. More...
#define | elm_obj_layout_thaw(ret) ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THAW), EO_TYPECHECK(int *, ret)
| Thaws the Elementary object. More...

## Detailed Description

A Layout is a direct realization of The Elementary Layout Class.

This is a container widget that takes a standard Edje design file and wraps it very thinly in a widget.

An Edje design (theme) file has a very wide range of possibilities to describe the behavior of elements forming a layout. Check out the Edje documentation and the EDC reference to get more information about what can be done with Edje.

Just like List, Box, and other container widgets, any object added to the Layout will become its child, meaning that it will be deleted if the Layout is deleted, moved if the Layout is moved, and so on.

The layout widget may contain as many parts/children as described in its theme file. Some of these children can have special types, such as content holder ones (swallow spots), boxes or tables. These are parts meant to contain others. For instance, objects can be added to different table parts by specifying the respective table part names. The same is valid for swallows and boxes.

The objects added as children of a layout will behave as described in the part description where they were added. There are 3 possible types of parts where a child can be added:

# Content (@c SWALLOW part)

Only one object can be added to the `SWALLOW` part at a time (but you still can have many `SWALLOW` parts and one object on each of them). Use the `elm_layout_content_set()/get/unset` functions to set, retrieve and unset objects as content of the `SWALLOW`. After being set to this part, the object's size, position, visibility, clipping and other description properties will be totally controlled by the description of the given part (inside the Edje theme file).

One can use `evas_object_size_hint_*` functions on the child to have some kind of control over its behavior, but the resulting behavior will still depend heavily on the `SWALLOW` part's description.

The Edje theme also can change the part description, based on signals or scripts running inside the theme. This change can also be animated. All of this will affect the child object set as content accordingly. The object's size will be changed if the part size is changed, it will animate moving accordingly if the part is moving, and so on.

The following picture demonstrates a layout widget with a child object added to its `SWALLOW:`

# Box (@c BOX part)

An Edje `BOX` part is very similar to the Elementary Box widget. It allows one to add objects to the box and have them distributed along its area, accordingly to the specified `layout` property (now by `layout` we mean the chosen layouting design of the Box, not the layout widget itself).

A similar effect for having a box with its position, size and other things controlled by the layout theme would be to create an Elementary Box widget and add it as content in a `SWALLOW` part.

The main difference to that, by using the layout box instead, is that its behavior, like layouting format, padding, align, etc., will all be controlled by the theme. This means, for example, that a signal could be sent to the layout's theme (with elm_layout_signal_emit()) and the signal be handled by changing the box's padding, or alignment, or both. Using the Elementary Box widget is not necessarily harder or easier, it just depends on the circumstances and requirements.

The layout box can be used through the `elm_layout_box_*` set of functions.

The following picture demonstrates a Layout widget with many child objects added to its `BOX` part:

# Table (@c TABLE part)

Just like the Box (`BOX` part), the layout table is very similar to the Elementary Table widget. It allows one to add objects to the table by specifying the row and column where the object should be added, and any column or row span, if necessary.

Again, we could have this design by adding a table widget to a `SWALLOW` part, using elm_layout_content_set(). The same difference happens here when choosing to use the layout table (a `TABLE` part) instead of the table in a `SWALLOW` part. It's just a matter of convenience.

The layout table can be used through the `elm_layout_table_*` set of functions.

The following picture demonstrates a layout widget with many child objects added to its `TABLE` part:

# Predefined Layouts

Another interesting thing about the layout widget is that it offers some predefined themes that come with the default Elementary theme. These themes can be set by the call elm_layout_theme_set(), and provide some basic functionality depending on the theme used.

Most of them already send some signals, some already provide a toolbar or back and next buttons.

These are the available predefined theme layouts. All of them have class = `layout`, group = `application`, and style = one of the following options:

- `toolbar-content` - for applications with a toolbar and main content area
- `toolbar-content-back` - for applications with a toolbar and main content (with a back button) and title areas
- `toolbar-content-back-next` - for applications with a toolbar and main content (with back and next buttons) and title areas
- `content-back` - for application with main content (with a back button) and title areas
- `content-back-next` - for applications with main content (with back and next buttons) and title areas
- `toolbar-vbox` - for applications with a toolbar and main content area as a vertical box
- `toolbar-table` - for applications with a toolbar and main content area as a table

# Emitted signals

This widget emits the following signals:

- "theme,changed" - The theme was changed.
- "language,changed" - the program's language changed

# Examples

Some examples of the Layout widget can be found here:

- Layout - Content, Table and Box
- Layout - Predefined Layout
- Layout - Signals and Size Changed
- An example of layout theme file

## Macro Definition Documentation

#define elm_obj_layout_box_append | ( |  | part,
|  |  | child,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_APPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Append child to layout box part.

Parameters

  [in] | part |
  [in] | child |
  [out] | ret |

See Also
  elm_layout_box_append

Referenced by elm_layout_box_append().

#define elm_obj_layout_box_insert_at | ( |  | part,
|  |  | child,
|  |  | pos,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_INSERT_AT), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned int, pos), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Insert child to layout box part at a given position.

Parameters

  [in] | part |
  [in] | child |
  [in] | pos |
  [out] | ret |

See Also
  elm_layout_box_insert_at

Referenced by elm_layout_box_insert_at().

#define elm_obj_layout_box_insert_before | ( |  | part,
|  |  | child,
|  |  | reference,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_INSERT_BEFORE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(const Evas_Object *, reference), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Insert child to layout box part before a reference object.

Parameters

  [in] | part |
  [in] | child |
  [in] | reference |
  [out] | ret |

See Also
  elm_layout_box_insert_before

Referenced by elm_layout_box_insert_before().

#define elm_obj_layout_box_prepend | ( |  | part,
|  |  | child,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_PREPEND), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Prepend child to layout box part.

Parameters

  [in] | part |
  [in] | child |
  [out] | ret |

See Also
  elm_layout_box_prepend

Referenced by elm_layout_box_prepend().

#define elm_obj_layout_box_remove | ( |  | part,
|  |  | child,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_REMOVE), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)

Since
  1.8

Remove a child of the given part box.

Parameters

  [in] | part |
  [in] | child |
  [out] | ret |

See Also
  elm_layout_box_remove

Referenced by elm_layout_box_remove().

#define elm_obj_layout_box_remove_all | ( |  | part,
|  |  | clear,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_BOX_REMOVE_ALL), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Remove all children of the given part box.

Parameters

  [in] | part |
  [in] | clear |
  [out] | ret |

See Also
  elm_layout_box_remove_all

Referenced by elm_layout_box_remove_all().

#define elm_obj_layout_data_get | ( |  | key,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_DATA_GET), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char **, ret)

Since
  1.8

Get the edje data from the given layout

Parameters

  [in] | key |
  [out] | ret |

See Also
  elm_layout_data_get

Referenced by elm_layout_data_get().

#define elm_obj_layout_edje_get | ( |  | ret | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_GET), EO_TYPECHECK(Evas_Object **, ret)

Since
  1.8

Get the edje layout

Parameters

  [out] | ret |

See Also
  elm_layout_edje_get

Referenced by elm_layout_edje_get().

#define elm_obj_layout_edje_object_can_access_get | ( |  | ret | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_OBJECT_CAN_ACCESS_GET), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Get accessibility state of texblock(text) parts in the layout object

Parameters

  [out] | ret |

See Also
  elm_layout_edje_object_can_access_get

#define elm_obj_layout_edje_object_can_access_set | ( |  | can_access,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_EDJE_OBJECT_CAN_ACCESS_SET), EO_TYPECHECK(Eina_Bool, can_access), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Set accessibility to all texblock(text) parts in the layout object

Parameters

  [in] | can_access |
  [out] | ret |

See Also
  elm_layout_edje_object_can_access_set

#define elm_obj_layout_file_set | ( |  | file,
|  |  | group,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Set the file that will be used as layout

Parameters

  [in] | file |
  [in] | group |
  [out] | ret |

See Also
  elm_layout_file_set

Referenced by elm_layout_file_set().

#define elm_obj_layout_freeze | ( |  | ret | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_FREEZE), EO_TYPECHECK(int *, ret)

Freezes the Elementary layout object.

Since
  1.8

Parameters

  [out] | ret |

See Also
  elm_layout_freeze

#define elm_obj_layout_part_cursor_engine_only_get | ( |  | part_name,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_ENGINE_ONLY_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Get a specific cursor engine_only for an edje part.

Parameters

  [in] | part_name |
  [out] | ret |

See Also
  elm_layout_part_cursor_engine_only_get

Referenced by elm_layout_part_cursor_engine_only_get().

#define elm_obj_layout_part_cursor_engine_only_set | ( |  | part_name,
|  |  | engine_only,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_ENGINE_ONLY_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool, engine_only), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Sets if the cursor set should be searched on the theme or should use

Parameters

  [in] | part_name |
  [in] | engine_only |
  [out] | ret |

See Also
  elm_layout_part_cursor_engine_only_set

Referenced by elm_layout_part_cursor_engine_only_set().

#define elm_obj_layout_part_cursor_get | ( |  | part_name,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char **, ret)

Since
  1.8

Get the cursor to be shown when mouse is over an edje part

Parameters

  [in] | part_name |
  [out] | ret |

See Also
  elm_layout_part_cursor_get

Referenced by elm_layout_part_cursor_get().

#define elm_obj_layout_part_cursor_set | ( |  | part_name,
|  |  | cursor,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char *, cursor), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Sets a specific cursor for an edje part.

Parameters

  [in] | part_name |
  [in] | cursor |
  [out] | ret |

See Also
  elm_layout_part_cursor_set

Referenced by elm_layout_part_cursor_set().

#define elm_obj_layout_part_cursor_style_get | ( |  | part_name,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_STYLE_GET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char **, ret)

Since
  1.8

Get a specific cursor style for an edje part.

Parameters

  [in] | part_name |
  [out] | ret |

See Also
  elm_layout_part_cursor_style_get

Referenced by elm_layout_part_cursor_style_get().

#define elm_obj_layout_part_cursor_style_set | ( |  | part_name,
|  |  | style,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_STYLE_SET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(const char *, style), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Sets a specific cursor style for an edje part.

Parameters

  [in] | part_name |
  [in] | style |
  [out] | ret |

See Also
  elm_layout_part_cursor_style_set

Referenced by elm_layout_part_cursor_style_set().

#define elm_obj_layout_part_cursor_unset | ( |  | part_name,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_PART_CURSOR_UNSET), EO_TYPECHECK(const char *, part_name), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Unsets a cursor previously set with elm_layout_part_cursor_set().

Parameters

  [in] | part_name |
  [out] | ret |

See Also
  elm_layout_part_cursor_unset

Referenced by elm_layout_part_cursor_unset().

#define elm_obj_layout_signal_callback_add | ( |  | emission,
|  |  | source,
|  |  | func,
|  |  | data
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_CALLBACK_ADD), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void *, data)

Since
  1.8

Add a callback for a (Edje) signal emitted by a layout widget's

Parameters

  [in] | emission |
  [in] | source |
  [in] | func |
  [in] | data |

See Also
  elm_layout_signal_callback_add

Referenced by elm_layout_signal_callback_add().

#define elm_obj_layout_signal_callback_del | ( |  | emission,
|  |  | source,
|  |  | func,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_CALLBACK_DEL), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source), EO_TYPECHECK(Edje_Signal_Cb, func), EO_TYPECHECK(void **, ret)

Since
  1.8

Remove a signal-triggered callback from a given layout widget.

Parameters

  [in] | emission |
  [in] | source |
  [in] | func |
  [out] | ret |

See Also
  elm_layout_signal_callback_del

Referenced by elm_layout_signal_callback_del().

#define elm_obj_layout_signal_emit | ( |  | emission,
|  |  | source
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIGNAL_EMIT), EO_TYPECHECK(const char *, emission), EO_TYPECHECK(const char *, source)

Since
  1.8

Send a (Edje) signal to a given layout widget's underlying Edje

Parameters

  [in] | emission |
  [in] | source |

See Also
  elm_layout_signal_emit

Referenced by elm_layout_signal_emit().

#define elm_obj_layout_sizing_eval | ( |  | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL)

Since
  1.8

Eval sizing

See Also
  elm_layout_sizing_eval

Referenced by elm_layout_sizing_eval().

#define elm_obj_layout_sizing_restricted_eval | ( |  | width,
|  |  | height
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_RESTRICTED_EVAL), EO_TYPECHECK(Eina_Bool, width), EO_TYPECHECK(Eina_Bool, height)

Since
  1.8

Eval sizing, restricted to current width and/or height

Parameters

  [in] | w | Restrict minimum size to the current width
  [in] | h | Restrict minimum size ot the current height

See Also
  elm_layout_sizing_restricted_eval

Referenced by elm_layout_sizing_restricted_eval().

#define elm_obj_layout_smart_content_aliases_get | ( |  | aliases | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_CONTENT_ALIASES_GET), EO_TYPECHECK(const Elm_Layout_Part_Alias_Description **, aliases)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [out] | aliases |

#define elm_obj_layout_smart_text_aliases_get | ( |  | aliases | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_ALIASES_GET), EO_TYPECHECK(const Elm_Layout_Part_Alias_Description **, aliases)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [out] | aliases |

#define elm_obj_layout_sub_object_add_enable | ( |  | enable | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SUB_OBJECT_ADD_ENABLE), EO_TYPECHECK(Eina_Bool *, enable)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | enable |

See Also
  elm_layout_sub_object_add_enable

#define elm_obj_layout_table_clear | ( |  | part,
|  |  | clear,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_CLEAR), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Eina_Bool, clear), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Remove all the child objects of the given part table.

Parameters

  [in] | part |
  [in] | clear |
  [out] | ret |

See Also
  elm_layout_table_clear

Referenced by elm_layout_table_clear().

#define elm_obj_layout_table_pack | ( |  | part,
|  |  | child,
|  |  | col,
|  |  | row,
|  |  | colspan,
|  |  | rowspan,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_PACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Insert child to layout table part.

Parameters

  [in] | part |
  [in] | child |
  [in] | col |
  [in] | row |
  [in] | colspan |
  [in] | rowspan |
  [out] | ret |

See Also
  elm_layout_table_pack

Referenced by elm_layout_table_pack().

#define elm_obj_layout_table_unpack | ( |  | part,
|  |  | child,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TABLE_UNPACK), EO_TYPECHECK(const char *, part), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Evas_Object **, ret)

Since
  1.8

Unpack (remove) a child of the given part table.

Parameters

  [in] | part |
  [in] | child |
  [out] | ret |

See Also
  elm_layout_table_unpack

Referenced by elm_layout_table_unpack().

#define elm_obj_layout_text_get | ( |  | part,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_GET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char **, ret)

Since
  1.8

Get the text set in the given part

Parameters

  [in] | part |
  [out] | ret |

See Also
  elm_layout_text_get

Referenced by elm_entry_entry_get(), and elm_layout_text_get().

#define elm_obj_layout_text_set | ( |  | part,
|  |  | text,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_TEXT_SET), EO_TYPECHECK(const char *, part), EO_TYPECHECK(const char *, text), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Set the text of the given part

Parameters

  [in] | part |
  [in] | text |
  [out] | ret |

See Also
  elm_layout_text_set

Referenced by elm_entry_entry_set(), and elm_layout_text_set().

#define elm_obj_layout_thaw | ( |  | ret | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THAW), EO_TYPECHECK(int *, ret)

Thaws the Elementary object.

Since
  1.8

Parameters

  [out] | ret |

See Also
  elm_layout_thaw

#define elm_obj_layout_theme_enable | ( |  | enable | ) | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THEME_ENABLE), EO_TYPECHECK(Eina_Bool *, enable)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | enable |

#define elm_obj_layout_theme_set | ( |  | klass,
|  |  | group,
|  |  | style,
|  |  | ret
| ) |  | ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_THEME_SET), EO_TYPECHECK(const char *, klass), EO_TYPECHECK(const char *, group), EO_TYPECHECK(const char *, style), EO_TYPECHECK(Eina_Bool *, ret)

Since
  1.8

Set the edje group from the elementary theme that will be used as layout

Parameters

  [in] | klass |
  [in] | group |
  [in] | style |
  [out] | ret |

See Also
  elm_layout_theme_set

Referenced by elm_layout_theme_set().

## Function Documentation

Evas_Object* elm_layout_add | ( | Evas_Object * | parent | ) |

Add a new layout to the parent.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

See Also
  elm_layout_file_set()
  elm_layout_theme_set()

Eina_Bool elm_layout_box_append | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child
| ) |  |

Append child to layout box part.

Parameters

  obj | the layout object
  part | the box part to which the object will be appended.
  child | the child object to append to box.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the object is appended, it will become child of the layout. Its lifetime will be bound to the layout, whenever the layout dies the child will be deleted automatically. One should use elm_layout_box_remove() to make this layout forget about the object.

See Also
  elm_layout_box_prepend()
  elm_layout_box_insert_before()
  elm_layout_box_insert_at()
  elm_layout_box_remove()

References elm_obj_layout_box_append.

Eina_Bool elm_layout_box_insert_at | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child,
|  | unsigned int | pos
| ) |  |

Insert child to layout box part at a given position.

Parameters

  obj | the layout object
  part | the box part to insert.
  child | the child object to insert into box.
  pos | the numeric position >=0 to insert the child.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the object is inserted, it will become child of the layout. Its lifetime will be bound to the layout, whenever the layout dies the child will be deleted automatically. One should use elm_layout_box_remove() to make this layout forget about the object.

See Also
  elm_layout_box_append()
  elm_layout_box_prepend()
  elm_layout_box_insert_before()
  elm_layout_box_remove()

References elm_obj_layout_box_insert_at.

Eina_Bool elm_layout_box_insert_before | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child,
|  | const Evas_Object * | reference
| ) |  |

Insert child to layout box part before a reference object.

Parameters

  obj | the layout object
  part | the box part to insert.
  child | the child object to insert into box.
  reference | another reference object to insert before in box.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the object is inserted, it will become child of the layout. Its lifetime will be bound to the layout, whenever the layout dies the child will be deleted automatically. One should use elm_layout_box_remove() to make this layout forget about the object.

See Also
  elm_layout_box_append()
  elm_layout_box_prepend()
  elm_layout_box_insert_before()
  elm_layout_box_remove()

References elm_obj_layout_box_insert_before.

Eina_Bool elm_layout_box_prepend | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child
| ) |  |

Prepend child to layout box part.

Parameters

  obj | the layout object
  part | the box part to prepend.
  child | the child object to prepend to box.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the object is prepended, it will become child of the layout. Its lifetime will be bound to the layout, whenever the layout dies the child will be deleted automatically. One should use elm_layout_box_remove() to make this layout forget about the object.

See Also
  elm_layout_box_append()
  elm_layout_box_insert_before()
  elm_layout_box_insert_at()
  elm_layout_box_remove()

References elm_obj_layout_box_prepend.

Evas_Object* elm_layout_box_remove | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child
| ) |  |

Remove a child of the given part box.

Parameters

  obj | The layout object
  part | The box part name to remove child.
  child | The object to remove from box.

Returns
  The object that was being used, or NULL if not found.

The object will be removed from the box part and its lifetime will not be handled by the layout anymore. This is equivalent to elm_layout_content_unset() for box.

See Also
  elm_layout_box_append()
  elm_layout_box_remove_all()

References elm_obj_layout_box_remove.

Eina_Bool elm_layout_box_remove_all | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Eina_Bool | clear
| ) |  |

Remove all children of the given part box.

Parameters

  obj | The layout object
  part | The box part name to remove child.
  clear | If EINA_TRUE, then all objects will be deleted as well, otherwise they will just be removed and will be dangling on the canvas.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

The objects will be removed from the box part and their lifetime will not be handled by the layout anymore. This is equivalent to elm_layout_box_remove() for all box children.

See Also
  elm_layout_box_append()
  elm_layout_box_remove()

References elm_obj_layout_box_remove_all.

Evas_Object* elm_layout_content_get | ( | const Evas_Object * | obj,
|  | const char * | swallow
| ) |  |

Get the child object in the given content part.

Parameters

  obj | The layout object
  swallow | The SWALLOW part to get its content

Returns
  The swallowed object or NULL if none or an error occurred

Eina_Bool elm_layout_content_set | ( | Evas_Object * | obj,
|  | const char * | swallow,
|  | Evas_Object * | content
| ) |  |

Set the layout content.

Parameters

  obj | The layout object
  swallow | The swallow part name in the edje file
  content | The child that will be added in this layout object

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the content object is set, a previously set one will be deleted. If you want to keep that old content object, use the elm_layout_content_unset() function.

Note
  In an Edje theme, the part used as a content container is called `SWALLOW`. This is why the parameter name is called `swallow`, but it is expected to be a part name just like the second parameter of elm_layout_box_append().

See Also
  elm_layout_box_append()
  elm_layout_content_get()
  elm_layout_content_unset()
  Box (`BOX` part)

Referenced by elm_slideshow_item_show().

Evas_Object* elm_layout_content_unset | ( | Evas_Object * | obj,
|  | const char * | swallow
| ) |  |

Unset the layout content.

Parameters

  obj | The layout object
  swallow | The swallow part name in the edje file

Returns
  The content that was being used

Unparent and return the content object which was set for this part.

const char* elm_layout_data_get | ( | const Evas_Object * | obj,
|  | const char * | key
| ) |  |

Get the edje data from the given layout.

Parameters

  obj | The layout object
  key | The data key

Returns
  The edje data string

This function fetches data specified inside the edje theme of this layout. This function return NULL if data is not found.

In EDC this comes from a data block within the group block that `obj` was loaded from. E.g.

collections {
group {
name: "a_group";
data {
item: "key1" "value1";
item: "key2" "value2";
}
}
}

References elm_obj_layout_data_get.

Evas_Object* elm_layout_edje_get | ( | const Evas_Object * | obj | ) |

Get the edje layout.

Parameters

  obj | The layout object

Returns
  A Evas_Object with the edje layout settings loaded with function elm_layout_file_set

This returns the edje object. It is not expected to be used to then swallow objects via edje_object_part_swallow() for example. Use elm_layout_content_set() instead so child object handling and sizing is done properly.

Note
  This function should only be used if you really need to call some low level Edje function on this edje object. All the common stuff (setting text, emitting signals, hooking callbacks to signals, etc.) can be done with proper elementary functions.

See Also
  elm_layout_signal_callback_add()
  elm_layout_signal_emit()
  elm_layout_text_set()
  elm_layout_content_set()
  elm_layout_box_append()
  elm_layout_table_pack()
  elm_layout_data_get()

References elm_obj_layout_edje_get.

Referenced by elm_menu_item_icon_name_set(), and elm_menu_item_selected_set().

Eina_Bool elm_layout_file_set | ( | Evas_Object * | obj,
|  | const char * | file,
|  | const char * | group
| ) |  |

Set the file that will be used as layout.

Parameters

  obj | The layout object
  file | The path to file (edj) that will be used as layout
  group | The group that the layout belongs in edje file

Returns
  (1 = success, 0 = error)

References elm_obj_layout_file_set.

Eina_Bool elm_layout_part_cursor_engine_only_get | ( | const Evas_Object * | obj,
|  | const char * | part_name
| ) |  |

Get a specific cursor engine_only for an edje part.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.

Returns
  whenever the cursor is just provided by engine or also from theme.

References elm_obj_layout_part_cursor_engine_only_get.

Eina_Bool elm_layout_part_cursor_engine_only_set | ( | Evas_Object * | obj,
|  | const char * | part_name,
|  | Eina_Bool | engine_only
| ) |  |

Sets if the cursor set should be searched on the theme or should use the provided by the engine, only.

Note
  before you set if should look on theme you should define a cursor with elm_layout_part_cursor_set(). By default it will only look for cursors provided by the engine.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.
  engine_only | if cursors should be just provided by the engine (EINA_TRUE) or should also search on widget's theme as well (EINA_FALSE)

Returns
  EINA_TRUE on success or EINA_FALSE on failure, that may be part not exists or it did not had a cursor set.

References elm_obj_layout_part_cursor_engine_only_set.

const char* elm_layout_part_cursor_get | ( | const Evas_Object * | obj,
|  | const char * | part_name
| ) |  |

Get the cursor to be shown when mouse is over an edje part.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.

Returns
  the cursor name.

References elm_obj_layout_part_cursor_get.

Eina_Bool elm_layout_part_cursor_set | ( | Evas_Object * | obj,
|  | const char * | part_name,
|  | const char * | cursor
| ) |  |

Sets a specific cursor for an edje part.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.
  cursor | cursor name to use, see Elementary_Cursor.h

Returns
  EINA_TRUE on success or EINA_FALSE on failure, that may be part not exists or it has "mouse_events: 0".

References elm_obj_layout_part_cursor_set.

const char* elm_layout_part_cursor_style_get | ( | const Evas_Object * | obj,
|  | const char * | part_name
| ) |  |

Get a specific cursor style for an edje part.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.

Returns
  the theme style in use, defaults to "default". If the object does not have a cursor set, then NULL is returned.

References elm_obj_layout_part_cursor_style_get.

Eina_Bool elm_layout_part_cursor_style_set | ( | Evas_Object * | obj,
|  | const char * | part_name,
|  | const char * | style
| ) |  |

Sets a specific cursor style for an edje part.

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group.
  style | the theme style to use (default, transparent, ...)

Returns
  EINA_TRUE on success or EINA_FALSE on failure, that may be part not exists or it did not had a cursor set.

References elm_obj_layout_part_cursor_style_set.

Eina_Bool elm_layout_part_cursor_unset | ( | Evas_Object * | obj,
|  | const char * | part_name
| ) |  |

Unsets a cursor previously set with elm_layout_part_cursor_set().

Parameters

  obj | The layout object.
  part_name | a part from loaded edje group, that had a cursor set with elm_layout_part_cursor_set().

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

References elm_obj_layout_part_cursor_unset.

void elm_layout_signal_callback_add | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Edje_Signal_Cb | func,
|  | void * | data
| ) |  |

Add a callback for a (Edje) signal emitted by a layout widget's underlying Edje object.

Parameters

  obj | The layout object handle
  emission | The signal's name string
  source | The signal's source string
  func | The callback function to be executed when the signal is emitted.
  data | A pointer to data to pass in to the callback function.

This function connects a callback function to a signal emitted by the underlying Edje object of obj. Globs are accepted in either the emission or source strings (see `edje_object_signal_callback_add()`).

References elm_obj_layout_signal_callback_add.

void* elm_layout_signal_callback_del | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Edje_Signal_Cb | func
| ) |  |

Remove a signal-triggered callback from a given layout widget.

Parameters

  obj | The layout object handle
  emission | The signal's name string
  source | The signal's source string
  func | The callback function being executed when the signal was emitted.

Returns
  The data pointer of the signal callback (passed on elm_layout_signal_callback_add()) or `NULL`, on errors.

This function removes the last callback attached to a signal emitted by the undelying Edje object of obj, with parameters emission, source and `func` matching exactly those passed to a previous call to elm_layout_signal_callback_add(). The data pointer that was passed to this call will be returned.

References elm_obj_layout_signal_callback_del.

void elm_layout_signal_emit | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source
| ) |  |

Send a (Edje) signal to a given layout widget's underlying Edje object.

Parameters

  obj | The layout object handle
  emission | The signal's name string
  source | The signal's source string

This function sends a signal to the underlying Edje object of obj. An Edje program on that Edje object's definition can respond to a signal by specifying matching 'signal' and 'source' fields.

References elm_obj_layout_signal_emit.

Referenced by elm_menu_item_icon_name_set(), elm_menu_item_selected_set(), and elm_slideshow_item_show().

void elm_layout_sizing_eval | ( | Evas_Object * | obj | ) |

Eval sizing.

Parameters

  obj | The layout object

Manually forces a sizing re-evaluation. This is useful when the minimum size required by the edje theme of this layout has changed. The change on the minimum size required by the edje theme is not immediately reported to the elementary layout, so one needs to call this function in order to tell the widget (layout) that it needs to reevaluate its own size.

The minimum size of the theme is calculated based on minimum size of parts, the size of elements inside containers like box and table, etc. All of this can change due to state changes, and that's when this function should be called.

Also note that a standard signal of "size,eval" "elm" emitted from the edje object will cause this to happen too.

References elm_obj_layout_sizing_eval.

void elm_layout_sizing_restricted_eval | ( | Evas_Object * | obj,
|  | Eina_Bool | w,
|  | Eina_Bool | h
| ) |  |

Request sizing reevaluation, restricted to current width and/or height.

Useful mostly when there are TEXTBLOCK parts defining the height of the object and nothing else restricting it to a minimum width. Calling this function will restrict the minimum size in the Edje calculation to whatever size it the layout has at the moment.

Parameters

  obj | The layout object
  w | Restrict minimum size to the current width
  h | Restrict minimum size ot the current height

Since
  1.8

References elm_obj_layout_sizing_restricted_eval.

Eina_Bool elm_layout_table_clear | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Eina_Bool | clear
| ) |  |

Remove all the child objects of the given part table.

Parameters

  obj | The layout object
  part | The table part name to remove child.
  clear | If EINA_TRUE, then all objects will be deleted as well, otherwise they will just be removed and will be dangling on the canvas.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

The objects will be removed from the table part and their lifetime will not be handled by the layout anymore. This is equivalent to elm_layout_table_unpack() for all table children.

See Also
  elm_layout_table_pack()
  elm_layout_table_unpack()

References elm_obj_layout_table_clear.

Eina_Bool elm_layout_table_pack | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child_obj,
|  | unsigned short | col,
|  | unsigned short | row,
|  | unsigned short | colspan,
|  | unsigned short | rowspan
| ) |  |

Insert child to layout table part.

Parameters

  obj | the layout object
  part | the box part to pack child.
  child_obj | the child object to pack into table.
  col | the column to which the child should be added. (>= 0)
  row | the row to which the child should be added. (>= 0)
  colspan | how many columns should be used to store this object. (>= 1)
  rowspan | how many rows should be used to store this object. (>= 1)

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

Once the object is inserted, it will become child of the table. Its lifetime will be bound to the layout, and whenever the layout dies the child will be deleted automatically. One should use elm_layout_table_remove() to make this layout forget about the object.

If `colspan` or `rowspan` are bigger than 1, that object will occupy more space than a single cell. For instance, the following code:

elm_layout_table_pack(layout, "table_part", child, 0, 1, 3, 1);

Would result in an object being added like the following picture:

See Also
  elm_layout_table_unpack()
  elm_layout_table_clear()

References elm_obj_layout_table_pack.

Evas_Object* elm_layout_table_unpack | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | child_obj
| ) |  |

Unpack (remove) a child of the given part table.

Parameters

  obj | The layout object
  part | The table part name to remove child.
  child_obj | The object to remove from table.

Returns
  The object that was being used, or NULL if not found.

The object will be unpacked from the table part and its lifetime will not be handled by the layout anymore. This is equivalent to elm_layout_content_unset() for table.

See Also
  elm_layout_table_pack()
  elm_layout_table_clear()

References elm_obj_layout_table_unpack.

const char* elm_layout_text_get | ( | const Evas_Object * | obj,
|  | const char * | part
| ) |  |

Get the text set in the given part.

Parameters

  obj | The layout object
  part | The TEXT part to retrieve the text off

Returns
  The text set in `part`

References elm_obj_layout_text_get.

Eina_Bool elm_layout_text_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | const char * | text
| ) |  |

Set the text of the given part.

Parameters

  obj | The layout object
  part | The TEXT part where to set the text
  text | The text to set

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

References elm_obj_layout_text_set.

Eina_Bool elm_layout_theme_set | ( | Evas_Object * | obj,
|  | const char * | clas,
|  | const char * | group,
|  | const char * | style
| ) |  |

Set the edje group from the elementary theme that will be used as layout.

Parameters

  obj | The layout object
  clas | the class of the group
  group | the group
  style | the style to used

Returns
  (1 = success, 0 = error)

Note that style will be the new style of obj too, as in an elm_object_style_set() call.

References elm_obj_layout_theme_set.

Copyright ©2000-2014 Enlightenment.org - Samsung Electronics supports the EFL Documentation Project - Generated Wed Jan 8 2014 20:51:13