CStyleList Class Reference

#include <txtstyle.h>

Link against: etext.lib

class CStyleList : public CBase

Inherits from

  • CStyleList

    Detailed Description

    A container of paragraph styles.

    It is implemented as a fixed length array of pointers to RParagraphStyleInfos. The array's granularity is specified on construction. The list takes ownership of all paragraph styles appended to it. When the list is deleted, all styles it owns are also deleted.

    After the style list has been set up, it should normally be passed to a CRichText object, either in the rich text object's constructor, or by calling CRichText::SetStyleListExternallyOwned(). The rich text object takes ownership of the style list (unless SetStyleListExternallyOwned() is used). Styles can be modified, added to and removed from the style list after ownership of the list has been passed to the rich text object.

    If CRichText::SetStyleListExternallyOwned() is used, the style list is not owned by the rich text object, and it must be stored and restored separately from the rich text object.

    Constructor & Destructor Documentation

    CStyleList ( )

    IMPORT_CCStyleList()[protected]

    ~CStyleList ( )

    IMPORT_C~CStyleList()

    Deletes all the entries in the list and the list itself.

    Member Function Documentation

    AppendL ( RParagraphStyleInfo * )

    IMPORT_C TIntAppendL(RParagraphStyleInfo *aStyleSet)

    Appends a style to the style list. The list takes ownership of the style.

    ParameterDescription
    aStyleSetThe style (and optional style for the following paragraph) to append to the list.

    Returns: KErrNone if successful, or KErrAlreadyExists if the style is already present in the list.

    At ( TInt )

    IMPORT_C const RParagraphStyleInfo &At(TIntaIndex)const

    Gets a style from the style list, from its index into the array. Two versions are supplied. The compiler chooses the appropriate version based on the use made of the returned reference. If it is used in an expression where that reference can be modified, then the non-const version is chosen.

    ParameterDescription
    aIndexThe index of the style into the list. The first style is at position zero. Must be within the bounds of the array, or a panic occurs.

    Returns: A const reference to the style at position aIndex in the array. A non-const reference to the style at position aIndex in the array.

    At ( TInt )

    IMPORT_C RParagraphStyleInfo &At(TIntaIndex)

    ConstructL ( TInt )

    IMPORT_C voidConstructL(TIntaGranularity)[protected]

    Count ( )

    TInt Count()const [inline]

    Gets the number of styles in the style list.

    Returns: The number of styles in the style list

    DeepCloneL ( )

    IMPORT_C CStyleList *DeepCloneL()const

    Creates and returns a style list which is a clone of the current style list.

    Returns: Pointer to a clone of the current style list.

    ExternalizeL ( RWriteStream & )

    IMPORT_C voidExternalizeL(RWriteStream &aStream)const

    Externalises the style list to a write stream. The presence of this function means that the standard templated operator<<() (defined in s32strm.h) is available to externalise objects of this class. Does not externalise any styles' based-on links.

    ParameterDescription
    aStreamStream to which the object should be externalised.

    IndexByName ( const TDesC & )

    IMPORT_C TIntIndexByName(const TDesC &aName)const

    Gets the index into the style list of a specified paragraph style, identified by its name.

    ParameterDescription
    aNameThe name of the style.

    Returns: The style's index into the style list. KErrNotFound if the style name is not found in the style list.

    IndexByPtr ( const CParaFormatLayer * )

    IMPORT_C TIntIndexByPtr(const CParaFormatLayer *aPtr)const

    Gets the index into the style list of a specified paragraph style.

    ParameterDescription
    aPtrPointer to the style.

    Returns: The style's index into the style list. KErrNotFound if the style is not found in the style list, or if aPtr is a paragraph format layer rather than a style.

    InternalizeL ( RReadStream &, const CParaFormatLayer *, const CCharFormatLayer * )

    IMPORT_C voidInternalizeL(RReadStream &aStream,
    const CParaFormatLayer *aGlobalParaFormatLayer,
    const CCharFormatLayer *aGlobalCharFormatLayer
    )

    Internalises the style list from a read stream. The presence of this function means that the standard templated operator>>() (defined in s32strm.h) is available to internalise objects of this class. Any existing style list contents are replaced.

    ParameterDescription
    aStreamStream store from which the style list is internalised.
    aGlobalParaFormatLayerPointer to the global paragraph format layer on which all styles in the list are based.
    aGlobalCharFormatLayerPointer to the global character format layer on which all styles in the list are based.

    NewL ( TInt )

    IMPORT_C CStyleList *NewL(TIntaCapacity =  KMaxStyleListGranularity )[static]

    Allocates and constructs an empty CStyleList object with an array granularity.

    ParameterDescription
    aCapacityThe number of entries by which the array of styles expands when its buffer is reallocated. By default, KMaxStyleListGranularity (= 4). Must be positive or a panic occurs.

    Returns: Pointer to the new style list.

    NewL ( RReadStream &, const CParaFormatLayer *, const CCharFormatLayer * )

    IMPORT_C CStyleList *NewL(RReadStream &aStream,
    const CParaFormatLayer *aGlobalParaFormatLayer,
    const CCharFormatLayer *aGlobalCharFormatLayer
    )[static]

    Allocates and constructs a CStyleList, restoring its contents from the specified stream store. Each style in the list is set to be based on the global format layers specified.

    ParameterDescription
    aStreamStream store from which the style list is restored.
    aGlobalParaFormatLayerPointer to the global paragraph format layer on which all styles in the list are based.
    aGlobalCharFormatLayerPointer to the global character format layer on which all styles in the list are based.

    Returns: Pointer to the new style list.

    PtrByName ( const TParagraphStyleName & )

    IMPORT_C RParagraphStyleInfo *PtrByName(const TParagraphStyleName &aName)const

    Gets the style with the specified name from the style list.

    ParameterDescription
    aNameThe name of the style to retrieve.

    Returns: Pointer to the style with the name specified. NULL if there is no style with this name in the list.

    PtrByType ( const TUid )

    IMPORT_C RParagraphStyleInfo *PtrByType(const TUidaType)const

    Gets the style with the specified type UID from the style list.

    ParameterDescription
    aTypeThe UID of the style to retrieve.

    Returns: Pointer to the style with the type UID specified. NULL if there is no style with this type in the list.

    Remove ( CParagraphStyle * )

    IMPORT_C voidRemove(CParagraphStyle *aStyle)

    Removes a style from the style list. If the style is owned by the list, it is deleted. If the style is not owned by the list, but is referenced by a style owned by the list, (i.e. a style in the list is based on it, or references it as its iStyleForNextPara pointer) then the pointer to aStyle is set to NULL.

    ParameterDescription
    aStylePointer to the style to remove from the style list, or to set to NULL.

    Reset ( )

    IMPORT_C voidReset()

    Deletes the contents of the list.

    SetStyleToFollow ( const RParagraphStyleInfo & )

    IMPORT_C TIntSetStyleToFollow(const RParagraphStyleInfo &aStyleSet)

    Sets the style to use for the following paragraph for a style in the style list. Both the style (aStyleSet.iStyle) and the style to set for the following paragraph (aStyleSet.iStyleForNextPara) must exist in the style list.

    The function first locates the style (aStyleSet.iStyle) in the list, then sets the style to use for the next paragraph to aStyleSet.iStyleForNextPara.

    If aStyleSet.iStyle does not exist in the style list, the function returns with KErrNotFound. If aStyleSet.iStyleForNextPara does not exist in the style list, a panic occurs.

    ParameterDescription
    aStyleSetIdentifies a style in the list, and a style to use for its following paragraph.

    Returns: KErrNone if successful, or KErrNotFound if the first style contained in the argument (aStyleSet.iStyle) is not in the style list.

    StoreL ( CStreamStore & )

    IMPORT_C TStreamIdStoreL(CStreamStore &aStore)const

    Stores the style list to a stream store.

    ParameterDescription
    aStoreStream store to which the style list is written.

    Returns: The ID of the stream store.

    operator[] ( TInt )

    const RParagraphStyleInfo &operator[](TIntaIndex)const [inline]

    Gets a style from the style list, from its index into the array. Two versions are supplied. The compiler chooses the appropriate version based on the use made of the returned reference. If it is used in an expression where the reference can be modified, then the non-const version is chosen.

    ParameterDescription
    aIndexThe index of the style into the list. The first style is at position zero. Must be within the bounds of the array or a panic occurs.

    Returns: A const reference to the style at position aIndex in the array. A non-const reference to the style at position aIndex in the array. Gets a style from the style list, from its index into the array. Two versions are supplied. The compiler chooses the appropriate version based on the use made of the returned reference. If it is used in an expression where the reference can be modified, then the non-const version is chosen.A const reference to the style at position aIndex in the array. A non-const reference to the style at position aIndex in the array.

    operator[] ( TInt )

    RParagraphStyleInfo &operator[](TIntaIndex)[inline]