Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <PRNINF.H>
Link against: print.lib

Class CHeaderFooter

class CHeaderFooter : public CBase, private MTextFieldFactory;

Description

A document header or footer.

The header is located in the top page margin and the footer in the bottom page margin. No more than one header or footer can exist in a document.

CHeaderFooter derives from MTextFieldFactory. This allows the insertion of various fields, including page number, current date or time and filename.

Rich text manipulation and formatting functions can be accessed through the rich text object which is owned by the header/footer.

The header and footer are retrieved using the CPrintSetup::Header()const and Footer() functions and they are stored and restored together with the rest of the print setup information.

Derivation

Members

Defined in CHeaderFooter:

Inherited from CBase:


Construction and destruction


NewL()

IMPORT_C static CHeaderFooter* NewL();

Description

Allocates and constructs an uninitialised CHeaderFooter object.

Return value

CHeaderFooter *

The newly constructed CHeaderFooter object.


~CHeaderFooter()

IMPORT_C virtual ~CHeaderFooter();

Description

Destructor.

This frees all resources owned by the CHeaderFooter object, prior to its destruction.

[Top]


Member functions


CreateTextL()

IMPORT_C void CreateTextL();

Description

Allocates and constructs the rich text object owned by the header or footer.

The object's formatting is based on default values. If the header or footer's rich text object has already been allocated, the object is deleted and replaced by the one created by this function. So, calling this function causes a header or footer to lose all its existing text content, fields and formatting.


SetFirstPageToPrintTo(TInt)

IMPORT_C void SetFirstPageToPrintTo(TInt aPageNum);

Description

Sets the first page on which the header or footer is to be printed, allowing headers and footers to be omitted from the beginning of a document.

Page numbering begins at zero.

Parameters

TInt aPageNum

The number of the first page on which the header or footer is to be printed. The first page is numbered zero. If less than zero, a panic occurs.


FirstPageToPrintTo()const

inline TInt FirstPageToPrintTo() const;

Description

Gets the first page on which the header or footer is to be printed.

Page numbering begins at zero.

Return value

TInt

The number of the first page on which the header or footer is to be printed.


StoreL(CStreamStore &)const

IMPORT_C TStreamId StoreL(CStreamStore &aStore) const;

Description

Stores a CHeaderFooter object and all associated components to a stream store.

Components include rich text-specific formatting, fields and pictures.

Parameters

CStreamStore &aStore

The store to which the CHeaderFooter should be stored.

Return value

TStreamId

ID of the stream containing the external representation of the CHeaderFooter object

Leave codes

KErrNoMemory

Out of memory.


RestoreL(const CStreamStore &,TStreamId,MPictureFactory *)

IMPORT_C void RestoreL(const CStreamStore &aStore, TStreamId aStreamId, MPictureFactory *aFactory);

Description

Restores this object and all associated components from a stream store.

Components include fields and pictures.

Parameters

const CStreamStore &aStore

Stream store from which to restore the CHeaderFooter.

TStreamId aStreamId

ID of the stream containing the external representation of the CHeaderFooter object.

MPictureFactory *aFactory

Picture factory. Must be supplied if the header or footer contains pictures which should be restored.


StoreComponentsL(CStreamStore &,CStoreMap &)const

IMPORT_C void StoreComponentsL(CStreamStore &aStore, CStoreMap &aMap) const;

Description

Stores this object's components to a stream store, specifying a stream store and store map.

Components include fields and pictures.

This function does not store the text content or global formatting of the header and footer, so it may need to be accompanied by a call to CHeaderFooter::ExternalizeL(RWriteStream &)const.

Parameters

CStreamStore &aStore

The store to which the components are stored

CStoreMap &aMap

Table of swizzles. Supports the deferred loading of the rich text components of the header or footer.


RestoreComponentsL(const CStreamStore &,MPictureFactory *)

IMPORT_C void RestoreComponentsL(const CStreamStore &aStore, MPictureFactory *aFactory);

Description

Restores this object's components from a stream store.

Components include fields and pictures.

This function does not restore the text content or global formatting of the header and footer, so it may need to be accompanied by a call to CHeaderFooter::InternalizeL(RReadStream &).

Parameters

const CStreamStore &aStore

Stream store from which the components are restored.

MPictureFactory *aFactory

Picture factory. Must be supplied if the header or footer contains pictures which should be restored.


ExternalizeL(RWriteStream &)const

IMPORT_C void ExternalizeL(RWriteStream &aStream) const;

Description

Externalises this object's text content and global format layers to a write stream.

The object's components are not externalised. The presence of this function means that the standard templated operator<<(RWriteStream &,const T &) (defined in s32strm.h) is available to externalise objects of this class.

This function does not store any fields, pictures or rich text-specific formatting, so may need to be accompanied by a call to CHeaderFooter::StoreComponentsL(CStreamStore &,CStoreMap &)const.

Parameters

RWriteStream &aStream

Stream to which the object should be externalised.


InternalizeL(RReadStream &)

IMPORT_C void InternalizeL(RReadStream &aStream);

Description

Internalises this object's text content and global format layers from a read stream.

The presence of this function means that the standard templated operator>>(RReadStream &,T &) (defined in s32strm.h) is available to internalise objects of this class.

This function does not restore any fields, pictures or rich text-specific formatting, so may need to be accompanied by a call to CHeaderFooter::RestoreComponentsL(const CStreamStore &,MPictureFactory *).

Parameters

RReadStream &aStream

Stream from which the object should be internalised.


Text()const

IMPORT_C CRichText* Text() const;

Description

Gets the rich text object owned by this header or footer.

Through this object, rich text, fields and pictures can be inserted. This function can also be used to find out whether the rich text component is NULL, in which case a call to CHeaderFooter::CreateTextL() or CHeaderFooter::SetText(CRichText *) may be necessary.

Return value

CRichText *

The rich text object owned by the header or footer.


ParaFormat()const

IMPORT_C CParaFormatLayer* ParaFormat() const;

Description

Gets the paragraph format layer which is owned by the header or footer.

The header or footer's paragraph formatting is based upon this layer.

Return value

CParaFormatLayer *

The format layer upon which the header or footer's paragraph formatting is based.


CharFormat()const

IMPORT_C CCharFormatLayer* CharFormat() const;

Description

Gets the character format layer upon which the header or footer's character formatting is based.

Return value

CCharFormatLayer *

The format layer upon which the header or footer's character formatting is based.


SetText(CRichText *)

IMPORT_C void SetText(CRichText *aText);

Description

Sets the rich text object which is owned by the header or footer.

The character and paragraph format layers upon which the header or footer's formatting is based are not updated by this function, so you may also need to call CHeaderFooter::SetParaFormat(CParaFormatLayer *) and CHeaderFooter::SetCharFormat(CCharFormatLayer *), specifying the paragraph and character format layers referenced by aText.

Ownership of aText is transferred to this object.

Any existing rich text object is replaced, but is not deleted by this function.

Parameters

CRichText *aText

The rich text object to set as the header or footer's rich text object.


SetParaFormat(CParaFormatLayer *)

IMPORT_C void SetParaFormat(CParaFormatLayer *aParaFormat);

Description

Sets the format layer upon which the header or footer's paragraph formatting is based.

Ownership of aParaFormat is transferred to this object.

Any existing paragraph format layer is replaced, but not deleted by this function.

Parameters

CParaFormatLayer *aParaFormat

The format layer upon which the header or footer's paragraph formatting is based.


SetCharFormat(CCharFormatLayer *)

IMPORT_C void SetCharFormat(CCharFormatLayer *aCharFormat);

Description

Sets the format layer upon which the header or footer's character formatting is based.

Ownership of aCharFormat is transferred to this object.

Any existing character format layer is replaced, but not deleted by this function.

Parameters

CCharFormatLayer *aCharFormat

The format layer upon which the header or footer's character formatting is based.


SetFileNameInfo(const MFieldFileNameInfo &)

IMPORT_C void SetFileNameInfo(const MFieldFileNameInfo &aFileNameInfo);

Description

Sets an object to update the document's filename.

If the header or footer supports filename fields, use this function to set an object that implements the MFieldFileNameInfo interface.

Parameters

const MFieldFileNameInfo &aFileNameInfo

Provides a filename update function.


SetNumPagesInfo(const MFieldNumPagesInfo &)

IMPORT_C void SetNumPagesInfo(const MFieldNumPagesInfo &aNumPagesInfo);

Description

Sets an object to update the total number of pages.

If the header or footer supports total number of pages fields, use this function to set up an object that implements the MFieldNumPagesInfo interface.

Parameters

const MFieldNumPagesInfo &aNumPagesInfo

Provides a function that updates the total number of pages in the document.


FileNameFieldInfo()const

inline MFieldFileNameInfo* FileNameFieldInfo() const;

Description

Gets the object which implements the MFieldFileNameInfo interface, as set by CHeaderFooter::SetFileNameInfo(const MFieldFileNameInfo &).

Return value

MFieldFileNameInfo *

The object which implements the MFieldFileNameInfo interface.


NumPagesFieldInfo()const

inline MFieldNumPagesInfo* NumPagesFieldInfo() const;

Description

Gets the object which implements the MFieldNumPagesInfo interface, as set by CHeaderFooter::SetNumPagesInfo(const MFieldNumPagesInfo &).

Return value

MFieldNumPagesInfo *

The object which implements the MFieldNumPagesInfo interface.


NewFieldL(TUid)

private: virtual CTextField* NewFieldL(TUid aFieldType);

Description

Implementations of this function should create a field of the type specified, returning NULL if the field type is not recognised or supported.

Parameters

TUid aFieldType

The field's type UID.

Return value

CTextField *

Pointer to the new text field, or NULL if the factory does not recognise or support the field type.