epoc32/include/fepitfr.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // the class for inline-text format retrieval - in its own header file to prevent low-level 
    15 // components dependent on this class from gaining unnecessary (and undesirable) dependencies 
    16 // on high-level components
    17 // 
    18 //
    19 
    20 #ifndef __FEPITFR_H__
    21 #define __FEPITFR_H__
    22 
    23 #include <e32std.h>
    24 
    25 class TCharFormat;
    26 
    27 
    28 /** Specifies the mixin protocol for finding out the formatting to apply to inline 
    29 text. 
    30 
    31 This class should be overridden by front end processors which support inline editing.
    32 
    33 An instance of a class which implements this protocol should be passed to 
    34 MCoeFepAwareTextEditor::StartFepInlineEditL(). 
    35 
    36 @publishedAll 
    37 @released */
    38 class MFepInlineTextFormatRetriever // to be overridden by inline-editing front-end processors
    39 	{
    40 public:
    41 	/** Gets the character formatting to apply to the inline text. 
    42 	
    43 	This function may be used to differentiate the formatting of the inline text 
    44 	from the surrounding text. The first parameter should be set to contain the 
    45 	character formatting values to use.
    46 	
    47 	MCoeFepAwareTextEditor provides a member function for finding out the character 
    48 	formatting of the surrounding text - GetFormatForFep(). This can be called 
    49 	inside the implementation of this function to make any necessary adjustments 
    50 	to the format of the inline text to ensure that it is different from the surrounding 
    51 	text.
    52 	
    53 	The second and third parameters enable different parts of the inline text 
    54 	to have different formatting. 
    55 	
    56 	All implementations of this function need to set the aNumberOfCharactersWithSameFormat 
    57 	parameter. If all of the inline text uses the same formatting then aNumberOfCharactersWithSameFormat 
    58 	should be set to the length of the inline text and the aPositionOfCharacter 
    59 	parameter can be ignored.
    60 	
    61 	When the inline text does not all use the same formatting, the second parameter 
    62 	should be set to the number of characters starting at aPositionOfCharacter 
    63 	which have the same formatting: see the following example.
    64 	
    65 	Example
    66 	
    67 	If the inline text is 7 characters long, the first 4 characters are in format 
    68 	A, the next 2 characters are in format B, and the remaining character is in 
    69 	format C.
    70 	
    71 	When the FEP framework (which knows that the inline text is 7 characters long) 
    72 	needs to find out the format of the inline text, it calls GetFormatOfFepInlineText() 
    73 	passing zero into aPositionOfCharacter (to signify the start of the inline 
    74 	text). 
    75 	
    76 	As the first 4 characters are all in format A, the function should set aFormat 
    77 	to A and it should set aNumberOfCharactersWithSameFormat to 4. As the FEP 
    78 	framework has only been told the format of the first 4 characters, it calls 
    79 	GetFormatOfFepInlineText() again passing 4 into aPositionOfCharacter. As the 
    80 	2 characters starting at position 4 are all in format B, the function should 
    81 	set aFormat to B and it should set aNumberOfCharactersWithSameFormat to 2. 
    82 	The FEP framework still does not know the format of the 7th character so it 
    83 	calls GetFormatOfFepInlineText() a third time passing 6 into aPositionOfCharacter. 
    84 	As the character at position 6 is in format C, the function should set aFormat 
    85 	to C and it should set aNumberOfCharactersWithSameFormat to 1. The FEP framework 
    86 	now knows the format of all of the inline text.
    87 	
    88 	@param aFormat On return, contains the formatting to apply to the inline text 
    89 	(or to a portion of it).
    90 	@param aNumberOfCharactersWithSameFormat On return, contains the number of 
    91 	characters in the inline text (starting at aPositionOfCharacter) which have 
    92 	the same formatting.
    93 	@param aPositionOfCharacter Start position within the inline text. */
    94 	virtual void GetFormatOfFepInlineText(TCharFormat& aFormat, TInt& aNumberOfCharactersWithSameFormat, TInt aPositionOfCharacter) const=0;
    95 private: // reserved. do not override!
    96 	IMPORT_C virtual void MFepInlineTextFormatRetriever_Reserved_1();
    97 	IMPORT_C virtual void MFepInlineTextFormatRetriever_Reserved_2();
    98 	};
    99 
   100 #endif	// __FEPITFR_H__