Inwin
Elementary » Win

## Functions

void | elm_win_inwin_activate (Elm_Inwin *obj)
| Activates an inwin object, ensuring its visibility.
Evas_Object * | elm_win_inwin_add (Evas_Object *parent)
| Adds an inwin to the current window.
void | elm_win_inwin_content_set (Evas_Object *obj, Evas_Object *content)
| Set the content of an inwin object.
Evas_Object * | elm_win_inwin_content_get (const Evas_Object *obj)
| Get the content of an inwin object.
Evas_Object * | elm_win_inwin_content_unset (Evas_Object *obj)
| Unset the content of an inwin object.

## Detailed Description

An inwin is a window inside a window that is useful for a quick popup. It does not hover.

It works by creating an object that will occupy the entire window, so it must be created using an elm_win as parent only. The inwin object can be hidden or restacked below every other object if it's needed to show what's behind it without destroying it. If this is done, the elm_win_inwin_activate() function can be used to bring it back to full visibility again.

There are three styles available in the default theme. These are:

- default: The inwin is sized to take over most of the window it's placed in.
- minimal: The size of the inwin will be the minimum necessary to show its contents.
- minimal_vertical: Horizontally, the inwin takes as much space as possible, but it's sized vertically the most it needs to fit its\ contents.

This widget inherits from the Layout one, so that all the functions acting on it also work for inner windown objects. It also emits the signals inherited from Layout.

Default content parts of the inwin that you can use for are:

- "default" A content of the inwin

Some examples of Inwin can be found in the following:

- Inwin - General overview

## Function Documentation

## elm_win_inwin_activate()

void elm_win_inwin_activate | ( | Elm_Inwin * | obj | ) |

Activates an inwin object, ensuring its visibility.

This function will make sure that the inwin `obj` is completely visible by calling evas_object_show() and evas_object_raise() on it, to bring it to the front. It also sets the keyboard focus to it, which will be passed onto its content.

The object's theme will also receive the signal "elm,action,show" with source "elm".

Parameters

  [in] | obj | The object.

## elm_win_inwin_add()

Evas_Object * elm_win_inwin_add | ( | Evas_Object * | parent | ) |

Adds an inwin to the current window.

The `obj` used as parent MUST be an Elementary Window. Never call this function with anything other than the top-most window as its parameter, unless you are fond of undefined behavior.

After creating the object, the widget will set itself as resize object for the window with elm_win_resize_object_add(), so when shown it will appear to cover almost the entire window (how much of it depends on its content and the style used). It must not be added into other container objects and it needs not be moved or resized manually.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_win_inwin_content_set()

void elm_win_inwin_content_set | ( | Evas_Object * | obj,
|  | Evas_Object * | content )

Set the content of an inwin object.

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_win_inwin_content_unset() function.

Parameters

  obj | The inwin object
  content | The object to set as content

## elm_win_inwin_content_get()

Evas_Object * elm_win_inwin_content_get | ( | const Evas_Object * | obj | ) |

Get the content of an inwin object.

Return the content object for this widget.

The returned object is valid as long as the inwin is still alive and no other content is set on it. Deleting the object will notify the inwin about it and this one will be left empty.

If you need to remove an inwin's content to be reused somewhere else, see elm_win_inwin_content_unset().

Parameters

  obj | The inwin object

Returns
  The content that is being used

## elm_win_inwin_content_unset()

Evas_Object * elm_win_inwin_content_unset | ( | Evas_Object * | obj | ) |

Unset the content of an inwin object.

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

Parameters

  obj | The inwin object

Returns
  The content that was being used