Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



UI Control Framework Overview


Purpose

Provides a framework for creating user interface controls, a framework for applications to handle user interface events, and environment utilities for control creation and access to windowing functionality.

The API is sometimes referred to through its Symbian project name of CONE.

[Top]


Architectural relationships

The control framework provides an abstract middle layer between the low-level windowing functionality provided by the window server, and concrete user interface classes provided by Uikon and device family UI libraries.

Application developers use the API directly to create their own controls. Other classes are commonly used through derived classes provided by Uikon. Uikon extends the frameworks as follows:

[Top]


Description


Control framework

A control is a rectangular area of the screen that may respond to user input events. Controls have a number of properties that determine their relationships to other controls, windows, and event handling.

The control framework is provided by CCoeControl.

A simple control is one which contains no other controls.

A compound control is one which contains one or more simple or compound controls. A compound control is also referred to as a container control. When a control is contained in a container control, it is called a component control. A component control is always redrawn when its container control is redrawn.

A window-owning control has the same size and position as a window in the window server. A window-owning control shares the behaviour of a window, and in particular the parent-child window relationships, which set the region in which the window can be displayed.

A non-window-owning control typically covers only part of a window on the screen. They cannot be moved around on the screen independently, and are always component controls.

Each control can set an observer to which it can send events, usually from a component to its container control. The control observer interface is MCoeControlObserver.

A control context allows a group of controls to share the graphics context of their container. The interface for control contexts is MCoeControlContext.

A control can have a help context, for providing context-sensitive help. This is TCoeHelpContext.


Application user interface framework

The application user interface framework provides support for the distribution of key events to an application's controls. It maintains a control stack to which an application must add all the top-level container controls that it wishes to handle key events, setting a priority for each. When a key event occurs, the framework offers it to each control on the stack in turn in priority order until it is consumed.

The application user interface framework is provided by CCoeAppUi.


Control environment

The control environment packages the interface to the window server and provides an environment for creating controls. It is implemented in a single class, CCoeEnv, which encapsulates active objects and an active scheduler for receiving events from the window server.

The control environment also maintains objects for accessing the drawing functions, fonts, and resource files which are used by most applications.

The control environment is provided by CCoeEnv. In co-operation with CCoeStatic, non-local static data can be stored in the environment.

[Top]


See also

Graphics (group) Overview

Uikon Overview

View Server Overview

Window Server Client Side Overview