Text objects can be used for a variety of purposes. Some examples throughout the Symbian OS and its standard applications include:
word processor documents
A word processor document is a single rich text object, containing fields, pictures and styles. This is the "classic" use of text content and views.
spreadsheet cells
A spreadsheet contains a number of global text cells, each of which shares a common paragraph and character format layer. This enables the text to be maintained by text content and displayed using text views, but avoids duplicating format layers.
editor controls
Editors for rich and global text provide the functionality needed for editing text objects, descriptors, and even text representations of floating point numbers etc.
agenda views
The complex requirements of the day view in the agenda application are met by putting all text into a single rich text object, with appropriate formatting. This allows the powerful facilities of text views to format the display neatly, including such facilities as slot squashing, rounded highlights on bullets etc.
When an individual entry is edited, its own data is edited in a separate rich text object. This is later pasted back into the view.
things which can contain embedded objects
Since rich text contains pictures, and rich text editors allow these to be edited, any application can contain pictures in its data, and can therefore embed objects, simply by using rich text to store its entry data. Both the agenda and the database may contain rich text objects, which allows their entries to contain pictures.
It is very easy to use rich text in an application. The system provides enough flexibility to be tailored for specialist applications, such as the spreadsheets stringent memory economy, or the agenda's complex views.
In the absence of an application engine, typically, two prerequisites for the editing and layout of rich or global text are a text layout and a view. The CTextView
and CTextLayout
classes provide the engine for handling changes to formatting and content and for drawing and updating the text view. They are optimised for efficiency.