CParaFormatLayer Class Reference

#include <txtfmlyr.h>

Link against: etext.lib

class CParaFormatLayer : public CFormatLayer

Inherits from

Public Member Functions
CParaFormatLayer *CloneL()
virtual IMPORT_C voidExternalizeL(RWriteStream &)
virtual IMPORT_C voidInternalizeL(RReadStream &, const CFormatLayer *)
virtual IMPORT_C TBoolIsIdentical(CFormatLayer *, TBool)
IMPORT_C TBoolIsIdenticalL(const CParaFormat *, const TParaFormatMask &)
CParaFormatLayer *NewCopyBaseL(const CParaFormatLayer *)
IMPORT_C CParaFormatLayer *NewL()
IMPORT_C CParaFormatLayer *NewL(const CParaFormat *, const TParaFormatMask &)
IMPORT_C CParaFormatLayer *NewL(RReadStream &)
CParaFormatLayer *NewL(const CParaFormatLayer *)
IMPORT_C const TUint8 *Ptr(TInt &)
IMPORT_C voidSenseEffectiveL(CParaFormat *, CParaFormat::TParaFormatGetMode)
IMPORT_C voidSenseL(CParaFormat *, TParaFormatMask &, CParaFormat::TParaFormatGetMode)
IMPORT_C voidSetL(const CParaFormat *, const TParaFormatMask &)
virtual IMPORT_C TUidType()
Protected Member Functions
CParaFormatLayer()
virtual CFormatLayer *RestoreNewL(RReadStream &)
Inherited Attributes
CFormatLayer::__DECLARE_TEST
CFormatLayer::iBasedOn
CFormatLayer::iStore
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CFormatLayer::CFormatLayer()
CFormatLayer::ChainCount()const
CFormatLayer::CloneLayerL(CFormatLayer *)const
CFormatLayer::ExternalizeChainL(RWriteStream &,TInt)const
CFormatLayer::ExternalizeLayersRecurseL(RWriteStream &,TInt)const
CFormatLayer::InternalizeChainL(RReadStream &,const CFormatLayer *)
CFormatLayer::IsEmpty()const
CFormatLayer::IsIdentical(const TUint8 *,TInt)const
CFormatLayer::Reset()
CFormatLayer::SenseBase()const
CFormatLayer::SetBase(const CFormatLayer *)
CFormatLayer::Swap(CFormatLayer &)
CFormatLayer::~CFormatLayer()

Detailed Description

A paragraph format layer.

Has a pointer (stored in its base class CFormatLayer) to another paragraph format layer which may be NULL. This pointer is referred to as the based-on link. A paragraph format layer is owned by an instance of the CGlobalText class and stores the object's global paragraph formatting. Implements persistence and allows attributes to be set and sensed.

Constructor & Destructor Documentation

CParaFormatLayer ( )

CParaFormatLayer()[protected]

Constructor.

Member Function Documentation

CloneL ( )

CParaFormatLayer *CloneL()const [inline]

Constructs and returns a new CParaFormatLayer with identical formatting to the current layer. Note that the function does not copy the original layer's based-on link - the new layer's based-on link is set to NULL, so that the two layers may not have the same effective formatting.

Returns: A new paragraph format layer cloned from the current layer.

ExternalizeL ( RWriteStream & )

IMPORT_C voidExternalizeL(RWriteStream &aStream)const [virtual]

Reimplemented from CFormatLayer::ExternalizeL(RWriteStream &)const

Externalises the paragraph format layer but not its based-on link 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.

ParameterDescription
aStreamStream to which the format layer should be externalised.

InternalizeL ( RReadStream &, const CFormatLayer * )

IMPORT_C voidInternalizeL(RReadStream &aStream,
const CFormatLayer *aBase = NULL
)[virtual]

Reimplemented from CFormatLayer::InternalizeL(RReadStream &,const CFormatLayer *)

Internalises the paragraph format layer but not its based-on link 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. The internalised layer is set to be based on the layer specified.

ParameterDescription
aStreamStream from which the format layer should be internalised.
aBaseThe based-on link to assign to the layer. By default NULL.

IsIdentical ( CFormatLayer *, TBool )

IMPORT_C TBoolIsIdentical(CFormatLayer *aLayer,
TBoolaCheckBasedOnLink = ETrue
)const [virtual]

Reimplemented from CFormatLayer::IsIdentical(CFormatLayer *,TBool)const

Compares another paragraph format layer with the current layer. For the two layers to be equal, they must have the same contents and (if the second parameter is ETrue), their based-on links must point to the same format layer.

ParameterDescription
aLayerThe paragraph format layer to compare to this format layer.
aCheckBasedOnLinkIf ETrue, both layers' based-on links must point to the same format layer. If EFalse, the based-on links are not used in the comparison. By default, ETrue.

Returns: ETrue if the two layers are identical, otherwise EFalse.

IsIdenticalL ( const CParaFormat *, const TParaFormatMask & )

IMPORT_C TBoolIsIdenticalL(const CParaFormat *aParaFormat,
const TParaFormatMask &aMask
)const

Compares a format attribute container with the current layer. For the two objects to be identical, the current layer must contain only the attributes specified in the argument aMask, and these attributes must have the same values as those in aParaFormat. None of the current layer's based-on links are searched.

ParameterDescription
aParaFormatContains the attribute values used in the comparison.
aMaskA bitmask specifying which attributes are relevant to the function.

Returns: ETrue if the formatting of the current layer exactly matches that contained in aParaFormat. Otherwise EFalse.

NewCopyBaseL ( const CParaFormatLayer * )

CParaFormatLayer *NewCopyBaseL(const CParaFormatLayer *aLayer)[static]

Copying construction copies based-on link

NewL ( )

IMPORT_C CParaFormatLayer *NewL()[static]

Allocates and constructs an empty CParaFormatLayer. Its based-on link is NULL.

Note: Use SetL() to set format attributes in the layer. Use SetBase(), defined in the base class CFormatLayer, to set the layer's based on link.

Returns: Pointer to the new paragraph format layer.

NewL ( const CParaFormat *, const TParaFormatMask & )

IMPORT_C CParaFormatLayer *NewL(const CParaFormat *aParaFormat,
const TParaFormatMask &aMask
)[static]

Allocates and constructs a CParaFormatLayer. The attributes which are set in the mask are initialised to the values specified in the format container aParaFormat. The attributes which are not set in the mask are initialised to the default values for class CParaFormat. The new layer's based-on link is set to NULL.

ParameterDescription
aParaFormatContains the attribute values to assign to the format layer.
aMaskMask specifying which attributes should be initialized from aParaFormat.

Returns: Pointer to ParaFormatLayer the new paragraph format layer.

NewL ( RReadStream & )

IMPORT_C CParaFormatLayer *NewL(RReadStream &aStream)[static]

Allocates and constructs a CParaFormatLayer, restoring its format attributes from a stream. The layer's based-on link is set to NULL.

ParameterDescription
aStreamStream from which the layer is restored.

Returns: Pointer to the new paragraph format layer.

NewL ( const CParaFormatLayer * )

CParaFormatLayer *NewL(const CParaFormatLayer *aLayer)[static]

Copying construction does not copy the based on link

Ptr ( TInt & )

IMPORT_C const TUint8 *Ptr(TInt &aSize)const

Gets a pointer to the start of the buffer containing the layer's format attribute values.

ParameterDescription
aSizeOn return, set to the size of the buffer.

Returns: Pointer to the buffer which contains the layer's format attribute values.

RestoreNewL ( RReadStream & )

CFormatLayer *RestoreNewL(RReadStream &aStream)[protected, virtual]

Return a new CParaFormatLayer, having restored it from aStream. Overrides the base class method, to provide a new format layer of the correct type.

SenseEffectiveL ( CParaFormat *, CParaFormat::TParaFormatGetMode )

IMPORT_C voidSenseEffectiveL(CParaFormat *aParaFormat,
CParaFormat::TParaFormatGetModeaMode = CParaFormat::EAllAttributes
)const

Senses the layer's effective format, searching all based-on links. The resulting aParaFormat is fully populated, except that if aMode is EFixedAttributes, then only the fixed attributes (not tabs, paragraph borders or bullets) are written to it.

Notes:

The function also "tidies up" the layer's effective paragraph formatting, so that any zero height bullets, paragraph borders with a NULL line style or NULL tab stops are removed.

The function can only leave if aMode has a value of EAllAttributes.

ParameterDescription
aParaFormatOn return, contains the layer's effective formatting. Depending on the value of aMode, tabs, borders and bullets may be excluded. Must not be NULL or a panic occurs.
aModeControls which attributes are written to aParaFormat. If EAllAttributes, all attributes are written; if EFixedAttributes, tabs, bullets and borders are not written.

SenseL ( CParaFormat *, TParaFormatMask &, CParaFormat::TParaFormatGetMode )

IMPORT_C voidSenseL(CParaFormat *aParaFormat,
TParaFormatMask &aMask,
CParaFormat::TParaFormatGetModeaMode = CParaFormat::EAllAttributes
)const

Senses the formatting which has been applied to the current layer only. No based-on links are searched. This function does not get the effective formatting, but the resulting aParaFormat is useable even if not all attributes are flagged for sensing in aMask because any attribute values not sensed from the current layer, are set to default values.

The function can only leave if aMode has a value of EAllAttributes.

ParameterDescription
aParaFormatOn return, contains the formatting which has been applied to the current layer only. Any attributes not explicitly set in the current layer are initialised to the default values for a CParaFormat. Attributes specified in aMask are not sensed from this layer. The values for these attributes are also initialised to the default settings. Must not be NULL or a panic occurs.
aMaskA bitmask. Any attributes which are set in the mask as passed into the function are not sensed from the current layer. On return, indicates the attributes which were sensed from this layer. So, normally, when passed to the function, all attributes in the mask should be unset.
aModeControls which attributes are written to aParaFormat. If EAllAttributes, all attributes are written; if EFixedAttributes, tabs, bullets and borders are not written.

SetL ( const CParaFormat *, const TParaFormatMask & )

IMPORT_C voidSetL(const CParaFormat *aDesiredEffectiveFormat,
const TParaFormatMask &aMask
)

Sets the layer's format attributes. The attributes which are set in the mask are set in the layer to the values specified in the format container aDesiredEffectiveFormat. The attributes which are not set in the mask are not changed.

Note: Any tab stops in aDesiredEffectiveFormat are merged with the tab stops in the current layer.

ParameterDescription
aDesiredEffectiveFormatContains the attribute values to assign to the format layer.
aMaskMask specifying which attributes should be set from aDesiredEffectiveFormat.

Type ( )

IMPORT_C TUidType()const [virtual]

Returns the paragraph format layer UID. This can be used to distinguish between an ordinary paragraph format layer and paragraph styles, which have a different UID.

Returns: The UID of a paragraph format layer (KNormalParagraphStyleUid).