The Elementary library is a simple toolkit. It provides several widgets than
can be used to compose the user interface of your application. Widgets allow
you to build your application without having to reinvent basic objects, such
as buttons, lists, or text entries. Widgets will often generate signals that
can be caught in the application when the user interacts with the widgets.
This guide teaches you the basics of Elementary, describes selected concepts
of the Elementary configuration framework, and describes the most common
In this chapter, we explain how widgets are built in a hierarchical manner,
how to build a minimal Elementary application, and what the differences are
between the callbacks that can be registered for widgets.
The background widget can be used to set a solid background decoration to a
window or a container object. It works like an image, but has some background
specific properties, such as setting it to tiled, centered, scaled, or
The button widget is a simple push button. It is composed of a label icon and
an icon object, and has an auto-repeat feature. Check The check widget
toggles the value of a Boolean between true and false.
The colorselector widget provides a color selection solution
to the user. It has different modes available, each of them showing a
different configuration of the color selection.
The ctxpopup widget is a contextual popup that can show a list of items.
The datetime widget can display and input date and time values.
The entry widget is a box to which the user can enter text.
The flip widget can hold two Evas objects and let the user flip between
these objects using a variety of predefined animations.
The GLView widget can render OpenGL in an Elementary object, hiding
The icon widget inherits from the image widget. It is used to display
images in an icon context.
The image widget can load and display an image from a file or from
The index widget provides an index for fast access to another group of
The label widget displays text with simple HTML-like markup.
List The list widget is a very simple list for managing a small number of
items. If you need to manage a lot of items, use the genlist widget instead.
The notify widget displays a container in a specific region of the
parent object. It can receive some content, and it can be automatically hidden
after a certain amount of time.
The panel widget is an animated object that can contain child objects.
It can be expanded or contracted by clicking on the button on its edge.
The photo widget can be used to display a photo, such as a contact
image. If no photo is set, the widget displays a person icon to show that it
is a photo placeholder.
The photocam widget is designed to display high-resolution photos
taken with a digital camera. It allows you to zoom photos, load photos fast,
and fit photos. It is optimized for JPEG images and has a low memory
The plug widget allows you to show an Evas object created by another
process. It can be used anywhere like any other Elementary widget.
The popup widget shows a pop-up area that can contain a title area, a
content area, and an action area.
The progressbar widget can be used to display the progress
status of a given job.
The radio widget can display 1 or more options, but the user can only
select one of them. The widget is composed of an indicator
(selected/unselected), an optional icon, and an optional label. Even though it
is usually grouped with 2 or more other radio widgets, it can also be used
The slider widget is a draggable bar that is used to select a
value from a range of values.
Slider The slider widget is a draggable bar that is used to select a value
from a range of values.
The spinner widget enables the user to increase or decrease a
numeric value by using arrow buttons.
The toolbar widget is a scrollable list of items. It can also show a
menu when an item is selected. Only one item can be selected at a time.
The tooltip widget is a smart object used to show tips or
information about a parent object when the mouse hovers over the parent
The transit widget can apply several transition effects to an Evas
object, such as translations and rotations. The use of the transit widget is
documented in the Creating Animations and Effects guide.
The win widget is the root window widget that will be often used in an
application. It allows you to create some content in it, and it is handled by
the window manager.