Minicontrol Window
Minicontrol is a small application view that can be shown on the quick panel or lock screen.
The main features of the Minicontrol API include:
-
Creating a minicontrol
You can create minicontrols using the Minicontrol provider API:
- To create a minicontrol, use the
minicontrol_create_window()
function, which returns anEvas_Object
of the minicontrol window. - To send a request, use the
minicontrol_send_event()
function to get a minicontrol handle and set the details. You can use the same function to hide the quick panel, when needed.
- To create a minicontrol, use the
-
Hosting minicontrols
You can host minicontrols, such as lock screens, on your application using the Minicontrol viewer API:
- To host minicontrols, use the
minicontrol_viewer_set_event_cb()
function to listen for the request from minicontrol providers. - When you get the creation request from a minicontrol provider, use the
minicontrol_viewer_add()
function to add the minicontrol on your application.
- To host minicontrols, use the
Figure: Minicontrol on a quick panel (left) and lock screen (right)
Prerequisites
To enable your application to use the minicontrol functionality:
-
To use the Minicontrol API (in mobile and wearable applications), the application has to request permission by adding the following privilege to the
tizen-manifest.xml
file:<privileges> <privilege>http://tizen.org/privilege/minicontrol.provider</privilege> </privileges>
-
To use the functions and data types of the Minicontrol API, include the
<minicontrol_provider.h>
header file in your application:#include <minicontrol_provider.h>
Creating a Minicontrol on the Quick Panel
To create a minicontrol of your application:
-
To create a minicontrol, use the
minicontrol_create_window()
function.To create a minicontrol on the quick panel, the second parameter must be set to
MINICONTROL_TARGET_VIEWER_QUICK_PANEL
.Evas_Object *win; win = minicontrol_create_window("mini-sample", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, NULL); evas_object_resize(win, 480, 140); evas_object_show(win);
-
Add a text label on the minicontrol using the
elm_label_add()
function:label = elm_label_add(win); elm_object_text_set(label, "mini-sample"); evas_object_resize(label, 480, 140); evas_object_show(label);
Hiding the Quick Panel
To hide the quick panel:
-
Add a button on the minicontrol:
button = elm_button_add(win); elm_object_text_set(button, "Click to hide."); evas_object_move(button, 0, 50); evas_object_resize(button, 200, 50); evas_object_show(button);
-
Add an event handler callback function:
evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, win);
-
Define the callback function for hiding the quick panel:
static void _button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *win = data; minicontrol_send_event(win, MINICONTROL_PROVIDER_EVENT_REQUEST_HIDE, NULL); }
Figure: Minicontrol button for hiding the quick panel
Related Information
- Dependencies
- Tizen 2.4 and Higher for Mobile
- Tizen 5.0 and Higher for Wearable