Widgets Programming Guide

The Elementary library is a simple toolkit. It provides several widgets than can be used to build your application user interface. Widgets allow you to create applications without having to reinvent basic objects, such as buttons, lists, or text boxes. Widgets can also provide feedback to your application whenever a user interacts with them. In this guide you'll learn about the basics of Elementary, as well as some concepts of the Elementary configuration framework. You'll also discover some commonly used Widgets.

Elementary Basics

In this section, you'll learn how widgets are built in a hierarchical manner. You will also discover how to build a basic Elementary application and the various callbacks that can be registered for Widgets.

Elementary Configuration

Elementary can be configured using profiles. This section details some configuration items that can be modified to tweak the use of Elementary.

Widgets

Background

The background widget can be used to set a solid background for a window or container object. It works like an image but has some background specific properties such as setting to tiled, centered, scaled, or stretched.

Button

The button widget is a simple push button. It's composed of a label icon and icon object. It also has an auto-repeat feature. The Check Widget toggles a Boolean value (true or false).

Check

The Check widget is a simple check box. It is similar to the radio widget, except that it does not work as a group. It toggles the value of a boolean between true and false.

Colorselector

The Colorselector widget offers the user a color palette. It has different modes, each of which support different color configuration.

Ctxpopup

The Ctxpopup widget is a contextual popup which can display a list of items.

Datetime

The Datetime widget can display and input date and time values.

Entry

The Entry widget is a box into which a user can enter text.

Flip

The Flip widget can hold two Evas objects. This allows the user to 'flip' between these objects using a variety of predefined animations.

GLView

The GLView widget can render OpenGL in an Elementary object, hiding EvasGL complexity.

Icon

The Icon widget is based on the Image Widget and is used to display images in icon format.

Image

The Image widget can load and display images from a file or virtual memory.

Index

The Index widget provides an index for fast access to other User Interface (UI) items.

Label

The Label widget displays text with simple Hypertext Markup Language (HTML)-like markup. List It offers a very simple ways to manage a small number of items. If you need to manage a larger amount use the Genlist Widget instead.

List

The List widget is a very simple type of a list widget. It is not to be used to manage a lot of items. For that, genlists are a better option. The list items can contain a text and two contents (“start”, and “end”).

Map

The Map widget can display a geographic map. The default map data is provided by the OpenStreetMap project.

Notify

The Notify widget displays a container in a specific region of the parent object. It can also receive some content and automatically hide after a certain amount of time.

Panel

The Panel widget is an animated object which can contain child objects. It can be expanded or contracted by clicking the button on its edge.

Photo

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.

Photocam

The Photocam widget is designed to display high-resolution photos taken with a digital camera. It allows you to quickly load, zoom and resize photos. The widget is optimized for JPEG images and has a low memory footprint.

Plug

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 title, content and action sections.

Progressbar

The Progressbar widget can be used to display the progress of a given job.

Radio

The Radio widget can display multiple options but Users can only select one. The Widget is composed of an indicator (selected/unselected), an optional icon and/or label. It's usually grouped with 2 or more other radio widgets but can be used alone.

Segmentcontrol

The Segmentcontrol widget consists of several segment items. A segment item is similar to a discrete two state button. Any time, only one segment item can be selected. A segment item is composed of a label (text) and an icon.

Slider

The Slider widget is a draggable bar which is used to select a value from a specified range.

Spinner

The Spinner widget enables the user to increase or decrease a numeric value using arrow buttons.

Toolbar

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.

Tooltip

The Tooltip widget is a smart object used to show tips or information about a parent object. It appears when the mouse hovers over the parent object.

Transit

The transit widget can apply several transition effects to an Evas object, such as transformations and rotations. The use of the transit widget is documented in the Creating Animations and Effects guide.

Win

The Win widget is the root window widget. It allows you to create and store content inside it, so is used by almost every application. Win is handled by the Window Manager.

Further Reading

Beckground API
The functions that allow you to manage the Background widget
Button API
The functions that allow you to manage the Button widget
Check API
The functions that allow you to manage the Check widget
Colorselector API
The functions that allow you to manage the Colorselector widget
Ctxpopup API
The functions that allow you to manage the Ctxpopup widget
Datetime API
The functions that allow you to manage the Datetime widget
Entry API
The functions that allow you to manage the Entry widget
Flip API
The functions that allow you to manage the Flip widget
GLView API
The functions that allow you to manage the GLView widget
Icon API
The functions that allow you to manage the Icon widget
Image API
The functions that allow you to manage the Image widget
Index API
The functions that allow you to manage the Index widget
Label API
The functions that allow you to manage the Label widget
List API
The functions that allow you to manage the List widget
Map API
The functions that allow you to manage the Map widget
Notify API
The functions that allow you to manage the Notify widget
Photo API
The functions that allow you to manage the Photo widget
Photocam API
The functions that allow you to manage the Photocam widget
Panel API
The functions that allow you to manage the Panel widget
Plug API
The functions that allow you to manage the Plug widget
Popup API
The functions that allow you to manage the Popup widget
Progressbar API
The functions that allow you to manage the Progressbar widget
Radio API
The functions that allow you to manage the Radio widget
SegmentControl API
The functions that allow you to manage the SegmentControl widget
Slider API
The functions that allow you to manage the Slider widget
Spinner API
The functions that allow you to manage the Spinner widget
Toolbar API
The functions that allow you to manage the Toolbar widget
Tooltip API
The functions that allow you to manage the Tooltip widget
Transit API
The functions that allow you to manage the Transit widget
Win API
The functions that allow you to manage the Win widget