Tizen Native API
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 occupies the entire window, so it must be created using an elm_win as the 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 is the minimum size necessary to show its contents.
  • minimal_vertical: Horizontally, the inwin takes as much space as possible, but it's sized vertically is 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.

Functions

Evas_Objectelm_win_inwin_add (Evas_Object *parent)
 Adds an inwin to the current window.
void elm_win_inwin_activate (Evas_Object *obj)
 Activates an inwin object, ensuring its visibility.
void elm_win_inwin_content_set (Evas_Object *obj, Evas_Object *content)
 Sets the content of an inwin object.
Evas_Objectelm_win_inwin_content_get (const Evas_Object *obj)
 Gets the content of an inwin object.
Evas_Objectelm_win_inwin_content_unset (Evas_Object *obj)
 Unsets the content of an inwin object.

Function Documentation

Activates an inwin object, ensuring its visibility.

This function makes 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 is passed onto its content.

Since :
2.3.1
Remarks:
The object's theme also receives the signal "elm,action,show" with source "elm".
Parameters:
[in]objThe inwin to activate

Adds an inwin to the current window.

Since :
2.3.1
Remarks:
The obj used as a 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 sets itself as the 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 any other container objects and it need not be moved or resized manually.
Parameters:
[in]parentThe parent object
Returns:
The new object, otherwise NULL if it cannot be created

Gets the content of an inwin object.

This returns the content object for this widget.

Since :
2.3.1
Remarks:
The returned object is valid as long as the inwin is still alive and no other content is set on it. Deleting the object notifies the inwin about it and this one is left empty.
If you need to remove an inwin's content to be reused somewhere else, see elm_win_inwin_content_unset().
Parameters:
[in]objThe inwin object
Returns:
The content that is being used
void elm_win_inwin_content_set ( Evas_Object obj,
Evas_Object content 
)

Sets the content of an inwin object.

Since :
2.3.1
Remarks:
Once the content object is set, a previously set one is deleted. If you want to keep that old content object, use the elm_win_inwin_content_unset() function.
Parameters:
[in]objThe inwin object
[in]contentThe object to set as content

Unsets the content of an inwin object.

This unparents and returns the content object that is set for this widget.

Since :
2.3.1
Parameters:
[in]objThe inwin object
Returns:
The content that is being used