Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

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



Special requirements


Performance

Since text objects are potentially both large and complex, editing them can involve complex operations. It is important on the one hand that text views have high performance, and on the other that they require little memory, and have a usable API.

Memory use is minimised by the format band and by using only minimal format information for purposes which require it — such as pagination, and print preview.

One key measure of perceived performance is responsiveness to user input. The Text Views API support this by using background-priority active objects to maintain the formatting of text in two contexts. Firstly, the formatting of the format band is handled, where possible, using an active object which is invisible to the user of the API. Secondly, pagination is handled, where required, using an active object which is visibly part of the API.

[Top]


High-level GUI support

For many purposes, such as editing short text objects, a GUI-provided high-level editor provides a convenient interface.

[Top]


Text content interfaces

The MLayDoc interface is used to convey layout information from a text object to the text layout and views. Within the Symbian OS text content model, global text and rich text implement this interface. Using such a narrow interface between content and views allows each to be optimized separately and is good object-oriented design.

A further benefit is that any content model may be equipped with an MLayDoc interface. For instance, an HTML browser would require formatting that could be specified through the MLayDoc interface, but for various reasons it may wish to use a substantially different content model. One important reason is that HTML is essentially read-only. Other applications, especially for data browsing, may also benefit from the flexibility of the MLayDoc interface.

[Top]


Detailed view control

The first requirement of text views is that they honor all the specifications of a text object and its formatting information. However, in addition to this, text views provides many flexible features for controlling the display of text.