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.
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:
the application user interface framework, to provide command handling, file handling and other features
the environment utilities, to provide Uikon-specific utilities
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
.
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
.
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.