Functions
Inwin

Functions

void elm_win_inwin_activate (Elm_Inwin *obj)
 Activates an inwin object, ensuring its visibility. More...
 
Evas_Objectelm_win_inwin_add (Evas_Object *parent)
 Adds an inwin to the current window. More...
 
void elm_win_inwin_content_set (Evas_Object *obj, Evas_Object *content)
 Set the content of an inwin object. More...
 
Evas_Objectelm_win_inwin_content_get (const Evas_Object *obj)
 Get the content of an inwin object. More...
 
Evas_Objectelm_win_inwin_content_unset (Evas_Object *obj)
 Unset the content of an inwin object. More...
 

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:

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:

Some examples of Inwin can be found in the following:

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]objThe 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
parentThe 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
objThe inwin object
contentThe 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
objThe 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
objThe inwin object
Returns
The content that was being used