Location:
fepitfr.h
MFepInlineTextFormatRetriever
Supported from 6.0
Specifies the mixin protocol for finding out the formatting to apply to inline text. This class should be overridden by front end processors which support inline editing.
An instance of a class which implements this protocol should be
passed to
MCoeFepAwareTextEditor::StartFepInlineEditL()
.
Defined in MFepInlineTextFormatRetriever
:
GetFormatOfFepInlineText()
virtual void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, TInt aPositionOfCharacter) const=0;
Gets the character formatting to apply to the inline text. This function may be used to differentiate the formatting of the inline text from the surrounding text. The first parameter should be set to contain the character formatting values to use.
MCoeFepAwareTextEditor
provides a member function
for finding out the character formatting of the surrounding
text — GetFormatForFep()
. This can be called inside
the implementation of this function to make any necessary adjustments to the
format of the inline text to ensure that it is different from the surrounding
text.
The second and third parameters enable different parts of the inline text to have different formatting.
All implementations of this function need to set the
aNumberOfCharactersWithSameFormat
parameter. If all of the inline
text uses the same formatting then
aNumberOfCharactersWithSameFormat
should be set to the length of
the inline text and the aPositionOfCharacter
parameter can be
ignored.
When the inline text does not all use the same formatting, the
second parameter should be set to the number of characters starting at
aPositionOfCharacter
which have the same
formatting — see the following example.
Example
If the inline text is 7 characters long, the first 4 characters are in format A, the next 2 characters are in format B, and the remaining character is in format C.
When the FEP framework (which knows that the inline text is 7
characters long) needs to find out the format of the inline text, it calls
GetFormatOfFepInlineText()
passing zero into
aPositionOfCharacter
(to signify the start of the inline text).
As the first 4 characters are all in format A, the function
should set aFormat
to A and it should set
aNumberOfCharactersWithSameFormat
to 4. As the FEP framework has
only been told the format of the first 4 characters, it calls
GetFormatOfFepInlineText()
again passing 4 into
aPositionOfCharacter
. As the 2 characters starting at position 4
are all in format B, the function should set aFormat
to B and it
should set aNumberOfCharactersWithSameFormat
to 2. The FEP
framework still does not know the format of the 7th character so it calls
GetFormatOfFepInlineText()
a third time passing 6 into
aPositionOfCharacter
. As the character at position 6 is in format
C, the function should set aFormat
to C and it should set
aNumberOfCharactersWithSameFormat
to 1. The FEP framework now
knows the format of all of the inline text.
|