Tizen Native API  7.0
Inwin

inwin_inheritance_tree.png

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:

Functions

void elm_win_inwin_activate (Elm_Inwin *obj)
 Activates an inwin object, ensuring its visibility.
Evas_Objectelm_win_inwin_add (Evas_Object *parent)
void elm_win_inwin_content_set (Evas_Object *obj, Evas_Object *content)
Evas_Objectelm_win_inwin_content_get (const Evas_Object *obj)
Evas_Objectelm_win_inwin_content_unset (Evas_Object *obj)

Function Documentation

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.
Since :
2.3.1
Examples:
inwin_example.c.

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
Since :
2.3.1
Examples:
entry_example.c, and inwin_example.c.

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
Since :
2.3.1
Examples:
inwin_example.c.
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
Since :
2.3.1
Examples:
entry_example.c, and inwin_example.c.

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
Since :
2.3.1
Examples:
inwin_example.c.