~~Title: Widgets Programming Guide~~ {{page>index}} ===== Widgets Programming Guide ===== 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 widgets. === Table of Contents === * [[/develop/legacy/program_guide/widgets/basics|Elementary Basics]] * [[/develop/legacy/program_guide/widgets/config|Elementary Configuration]] {{page>[[develop:legacy:program_guide:widgets:widgets_menu]]}} ==== Elementary Basics ==== 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. ==== Elementary Configuration ==== Elementary can be configured using profiles. This chapter 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 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 stretched. ++++ ++++Button| 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. ++++ ++++Colorselector| 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. ++++ ++++Ctxpopup| The ctxpopup widget is a contextual popup that can show a list of items. ++++ ++++Datetime| The datetime widget can display and input date and time values. ++++ ++++Entry| The entry widget is a box to which the user can enter text. ++++ ++++Flip| The flip widget can hold two Evas objects and let the user 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 inherits from the image widget. It is used to display images in an icon context. ++++ ++++Image| The image widget can load and display an image from a file or from memory. ++++ ++++Index| The index widget provides an index for fast access to another group of UI items. ++++ ++++Label| 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. ++++ ++++Map| The map widget can display a geographic map. The default map data is provided by the OpenStreetMap project (http://www.openstreetmap.org/). ++++ ++++Notify| 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. ++++ ++++Panel| 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. ++++ ++++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 zoom photos, load photos fast, and fit photos. It 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. ++++ ++++Popup| The popup widget shows a pop-up area that can contain a title area, a content area, and an action area. ++++ ++++Progressbar| The progressbar widget can be used to display the progress status of a given job. ++++ ++++Radio| 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 alone. ++++ ++++Segmentcontrol| 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. ++++ ++++Spinner| The spinner widget enables the user to increase or decrease a numeric value by 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 when the mouse hovers over the parent object. ++++ ++++Transit| 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. ++++ ++++Win| 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. ++++ \\ ---- {{page>index}}