CParaFormat Class Reference

#include <txtfrmat.h>

Link against: etext.lib

class CParaFormat : public CBase

Inherits from

  • CParaFormat
    Public Attributes
    TInt32 iBorderMarginInTwips
    TBullet *iBullet
    TUint32 iDefaultTabWidthInTwips
    TLogicalRgb iFillColor
    TAlignment iHorizontalAlignment
    TInt32 iIndentInTwips
    TBool iKeepTogether
    TBool iKeepWithNext
    TInt32 iLanguage
    TInt32 iLeftMarginInTwips
    TLineSpacingControl iLineSpacingControl
    TInt32 iLineSpacingInTwips
    TInt32 iRightMarginInTwips
    TInt32 iSpaceAfterInTwips
    TInt32 iSpaceBeforeInTwips
    TBool iStartNewPage
    TAlignment iVerticalAlignment
    TBool iWidowOrphan
    TBool iWrap
    Public Member Enumerations
    enumanonymous { EMaxParaBorder }
    enumTAlignment { ELeftAlign, ETopAlign, ECenterAlign, ERightAlign, ..., EAbsoluteRightAlign }
    enumTLineSpacingControl { ELineSpacingAtLeastInTwips, ELineSpacingExactlyInTwips, ELineSpacingAtLeastInPixels, ELineSpacingExactlyInPixels }
    enumTParaBorderSide { EParaBorderTop, EParaBorderBottom, EParaBorderLeft, EParaBorderRight }
    enumTParaFormatGetMode { EAllAttributes, EFixedAttributes }
    Public Member Functions
    CParaFormat()
    ~CParaFormat()
    IMPORT_C TBoolAllBordersEqual(const CParaFormat &)
    TBool BordersPresent()
    IMPORT_C voidCopyL(const CParaFormat &, const TParaFormatMask &)
    IMPORT_C voidCopyL(const CParaFormat &)
    IMPORT_C TBoolIsBorderEqual(TParaBorderSide, const CParaFormat &)
    IMPORT_C TBoolIsEqual(const CParaFormat &, const TParaFormatMask &)
    IMPORT_C TBoolIsEqual(const CParaFormat &)
    IMPORT_C TIntLocateTab(TInt)
    IMPORT_C CParaFormat *NewL()
    IMPORT_C CParaFormat *NewL(const CParaFormat &)
    IMPORT_C CParaFormat *NewLC()
    IMPORT_C const TParaBorderParaBorder(TParaBorderSide)
    TParaBorder *ParaBorderPtr(TParaBorderSide)
    IMPORT_C voidRemoveAllBorders()
    voidRemoveAllTabs()
    IMPORT_C voidRemoveTab(TInt)
    IMPORT_C voidReset()
    IMPORT_C voidResetNonDestructive()
    IMPORT_C voidSetParaBorderL(TParaBorderSide, const TParaBorder &)
    IMPORT_C voidStoreTabL(const TTabStop &)
    IMPORT_C voidStrip()
    TInt TabCount()
    IMPORT_C const TTabStopTabStop(TInt)
    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()

    Detailed Description

    A transient container of paragraph format attributes, including tab stops, bullet points and paragraph borders.

    Rich and global text objects store paragraph formatting using paragraph format layers (see class CParaFormatLayer). The CParaFormat class is used to store the relevant attribute values when setting or sensing a CParaFormatLayer. It is normally used in combination with a TParaFormatMask, to specify which attributes are relevant to the function concerned.

    On construction, all CParaFormat member data is initialised. The attributes which are not explicitly set are assigned default values.

    Member Attribute Documentation

    iBorderMarginInTwips

    TInt32 iBorderMarginInTwips

    Distance in twips between the paragraph border and the enclosed text. By default KParaDefaultBorderMargin (zero).

    iBullet

    TBullet *iBullet

    The bullet point associated with the paragraph. A NULL value indicates no bullet point. By default NULL.

    iDefaultTabWidthInTwips

    TUint32 iDefaultTabWidthInTwips

    Specifies the default tab stop width. By default KParaDefaultTabWidth (360 twips).

    iFillColor

    TLogicalRgb iFillColor

    The background colour of the paragraph. By default the default system background colour. This colour applies to the area bounded by the paragraph border, if one exists.

    iHorizontalAlignment

    TAlignment iHorizontalAlignment

    Horizontal alignment of paragraph. By default KParaDefaultHorizAlign (left).

    iIndentInTwips

    TInt32 iIndentInTwips

    An indent for the first line in the paragraph, relative to the leading margin (left for left-to-right paragraphs, right for right-to-left paragraphs). By default KParaDefaultIndent (zero).

    iKeepTogether

    TBool iKeepTogether

    Prevents a page break within paragraph if ETrue. By default KParaDefaultKeepTogether (EFalse).

    iKeepWithNext

    TBool iKeepWithNext

    Prevents a page break between this paragraph and the following paragraph if ETrue. By default, KParaDefaultKeepWithNext (EFalse).

    iLanguage

    TInt32 iLanguage

    The language of the paragraph for proofing. By default KParaDefaultLanguage. Used for example when spell checking a document which contains text in more than one language, so that the program recognises the text as being in another language.

    iLeftMarginInTwips

    TInt32 iLeftMarginInTwips

    The width in twips of the leading margin (left for left-to-right paragraphs, right for right-to-left paragraphs). By default KParaDefaultLeftMargin (zero).

    iLineSpacingControl

    TLineSpacingControl iLineSpacingControl

    Control for the iLineSpacingInTwips value. By default, KParaDefaultLineSpacingControl (ELineSpacingAtLeastInTwips).

    iLineSpacingInTwips

    TInt32 iLineSpacingInTwips

    Inter-line spacing within the paragraph, in twips. By default KParaDefaultLineSpacing (200 twips).

    iRightMarginInTwips

    TInt32 iRightMarginInTwips

    The width in twips of the trailing margin (right for left-to-right paragraphs, left for right-to-left paragraphs). By default KParaDefaultRightMargin (zero).

    iSpaceAfterInTwips

    TInt32 iSpaceAfterInTwips

    Space below paragraph. By default KParaDefaultSpaceAfter (zero).

    iSpaceBeforeInTwips

    TInt32 iSpaceBeforeInTwips

    Space above paragraph. By default KParaDefaultSpaceBefore (zero).

    iStartNewPage

    TBool iStartNewPage

    Inserts a page break immediately before this paragraph if ETrue. By default, KParaDefaultStartNewPage (EFalse).

    iVerticalAlignment

    TAlignment iVerticalAlignment

    Vertical alignment of paragraph, (intended for use by spreadsheet applications). By default KParaDefaultVertAlign (unspecified).

    iWidowOrphan

    TBool iWidowOrphan

    Prevents the printing of the last line of a paragraph at the top of the page (referred to as a widow), or the first line of a paragraph at the bottom of the page, (referred to as an orphan). By default, KParaDefaultWidowOrphan (EFalse).

    iWrap

    TBool iWrap

    Specifies whether the paragraph should line wrap at the right margin. By default KParaDefaultWrap (ETrue).

    Member Enumeration Documentation

    Enum anonymous

    Miscellaneous constants.

    EnumeratorValueDescription
    EMaxParaBorder4

    The maximum number of paragraph borders (= 4).

    Enum TAlignment

    Paragraph alignment

    EnumeratorValueDescription
    ELeftAlign

    Paragraph aligned to the leading margin (left for left-to-right paragraphs, right for right-to-left paragraphs).

    ETopAlignELeftAlign

    Paragraph top aligned.

    ECenterAlign

    Paragraph centre aligned.

    ERightAlign

    Paragraph aligned to the trailing margin (right for left-to-right paragraphs, left for right-to-left paragraphs).

    EBottomAlignERightAlign

    Paragraph bottom aligned.

    EJustifiedAlign

    Paragraph justified.

    EUnspecifiedAlign

    Used by the spreadsheet application. Unlike ETopAlign and EBottomAlign, provides no default implementation.

    ECustomAlign

    User-defined paragraph alignment.

    EAbsoluteLeftAlign

    Absolute left alignment

    EAbsoluteRightAlign

    Absolute right alignment

    Enum TLineSpacingControl

    Line spacing control

    EnumeratorValueDescription
    ELineSpacingAtLeastInTwips

    Twips line spacing must be at least as wide as the iLineSpacingInTwips value.

    ELineSpacingExactlyInTwips

    Twips line spacing must be exactly the iLineSpacingInTwips value.

    ELineSpacingAtLeastInPixels

    Pixels line spacing must be at least as wide as the line spacing value in pixels.

    ELineSpacingExactlyInPixels

    Pixels line spacing must be exactly the same as the line spacing value in pixels.

    Enum TParaBorderSide

    Paragraph border sides

    EnumeratorValueDescription
    EParaBorderTop

    The border at the top of the paragraph.

    EParaBorderBottom

    The border at the bottom of the paragraph.

    EParaBorderLeft

    The border on the left hand side.

    EParaBorderRight

    The border on the right hand side.

    Enum TParaFormatGetMode

    Attribute sense mode

    EnumeratorValueDescription
    EAllAttributes

    Indicates that all paragraph format attributes are written to the result when sensing paragraph format attributes.

    EFixedAttributes

    Indicates that tabs, bullets and borders are not sensed.

    Constructor & Destructor Documentation

    CParaFormat ( )

    IMPORT_CCParaFormat()

    The default C++ constructor constructs a new CParaFormat initialising all attributes to the default settings.

    Note: This function allows a CParaFormat object to be created on the stack. This should only be done if it is known in advance that the object will not be used to store tab stops, bullets or borders.

    ~CParaFormat ( )

    IMPORT_C~CParaFormat()

    The destructor frees all resources owned by the paragraph format container (tabs, borders and bullets), prior to its destruction.

    Note that Strip() also sets the resource pointers to NULL. This is important in case CParaFormat is on the stack and gets deleted twice: once by the cleanup stack and once by exceptions being unwound.

    Member Function Documentation

    AllBordersEqual ( const CParaFormat & )

    IMPORT_C TBoolAllBordersEqual(const CParaFormat &aFormat)const

    Tests whether all paragraph borders in the specified paragraph format container are identical to the paragraph borders of this paragraph format container.

    ParameterDescription
    aFormatContains the set of paragraph borders to compare.

    Returns: ETrue if both objects have exactly the same set of paragraph borders. EFalse if not.

    BordersPresent ( )

    TBool BordersPresent()const [inline]

    Tests whether any paragraph borders have been set.

    Returns: ETrue if any paragraph borders have been set, EFalse if not.

    CopyL ( const CParaFormat &, const TParaFormatMask & )

    IMPORT_C voidCopyL(const CParaFormat &aFormat,
    const TParaFormatMask &aMask
    )

    Copies selected attribute values from another paragraph format container. Only the attributes which are set in the mask are copied.

    ParameterDescription
    aFormatContains the attribute values to copy.
    aMaskBitmask specifying the attributes to copy.

    CopyL ( const CParaFormat & )

    IMPORT_C voidCopyL(const CParaFormat &aFormat)

    Copies all attribute values from another paragraph format container.

    ParameterDescription
    aFormatContains the attribute values to copy.

    IsBorderEqual ( TParaBorderSide, const CParaFormat & )

    IMPORT_C TBoolIsBorderEqual(TParaBorderSideaSide,
    const CParaFormat &aFormat
    )const

    Tests whether the paragraph border located on the specified side is the same as the border on the corresponding side in this object. For two borders to be equal, they must both either be set or unset, and if set, they must have the same characteristics.

    ParameterDescription
    aSideIndicates which side should be compared.
    aFormatContains the paragraph border to compare.

    Returns: ETrue if the border sides are identical. EFalse if not.

    IsEqual ( const CParaFormat &, const TParaFormatMask & )

    IMPORT_C TBoolIsEqual(const CParaFormat &aFormat,
    const TParaFormatMask &aMask
    )const

    Compares selected attribute values for equality. Only the attributes specified in the mask are involved in the comparison.

    ParameterDescription
    aFormatContains the attribute values to compare.
    aMaskBitmask specifying the attributes to compare.

    Returns: ETrue if the two format containers have the same values for the attributes specified in the mask, EFalse if not.

    IsEqual ( const CParaFormat & )

    IMPORT_C TBoolIsEqual(const CParaFormat &aFormat)const

    Compares all attribute values for equality.

    ParameterDescription
    aFormatContains the attribute values to compare.

    Returns: ETrue if the two format containers have the same values for all attributes, EFalse if not.

    LocateTab ( TInt )

    IMPORT_C TIntLocateTab(TIntaTabTwipsPosition)const

    Locates the tab stop specified by its twips position, and returns its offset in the tab list.

    ParameterDescription
    aTabTwipsPositionThe twips position of the tab stop.

    Returns: The tab stop's index within the tab list (counting from zero). KTabNotFound indicates that no tab stop has the specified twips position, or that no tab list has been allocated.

    NewL ( )

    IMPORT_C CParaFormat *NewL()[static]

    Allocates and constructs a CParaFormat object. All attributes are initialised with default values.

    Returns: The new CParaFormat object.

    NewL ( const CParaFormat & )

    IMPORT_C CParaFormat *NewL(const CParaFormat &aFormat)[static]

    Allocates and constructs a new CParaFormat. All attributes are initialised to the values contained in the aFormat argument.

    ParameterDescription
    aFormatParagraph format container whose values are used to initialise the new CParaFormat.

    Returns: The new CParaFormat object.

    NewLC ( )

    IMPORT_C CParaFormat *NewLC()[static]

    Allocates and constructs a CParaFormat object. All attributes are initialised with default values. Leaves the object on the cleanup stack.

    Returns: The new CParaFormat object.

    ParaBorder ( TParaBorderSide )

    IMPORT_C const TParaBorderParaBorder(TParaBorderSideaSide)const

    Gets the paragraph border on the side specified. If no paragraph border array has been allocated, returns a default paragraph border.

    ParameterDescription
    aSideThe side for the paragraph border.

    Returns: The paragraph border on the specified side.

    ParaBorderPtr ( TParaBorderSide )

    TParaBorder *ParaBorderPtr(TParaBorderSideaSide)[inline]

    Gets a pointer to the paragraph border on the side specified. If no paragraph border array has been allocated, returns NULL.

    ParameterDescription
    aSideThe side for the paragraph border.

    Returns: Pointer to the paragraph border on the specified side.

    RemoveAllBorders ( )

    IMPORT_C voidRemoveAllBorders()

    Deletes all paragraph borders.

    RemoveAllTabs ( )

    voidRemoveAllTabs()[inline]

    Removes all tab stops from the object.

    RemoveTab ( TInt )

    IMPORT_C voidRemoveTab(TIntaTabTwipsPosition)

    Deletes a tab stop identified by its twips position. If the specified tab stop does not exist, the function has no effect.

    ParameterDescription
    aTabTwipsPositionThe twips position of the tab stop to remove.

    Reset ( )

    IMPORT_C voidReset()

    Resets all paragraph format attributes to their default values. All tab stops, paragraph borders and bullet points which have been allocated are deleted and set to NULL.

    ResetNonDestructive ( )

    IMPORT_C voidResetNonDestructive()

    Resets all paragraph format attributes to their default values, but any allocated tab stops, bullet points and paragraph borders are preserved.

    SetParaBorderL ( TParaBorderSide, const TParaBorder & )

    IMPORT_C voidSetParaBorderL(TParaBorderSideaSide,
    const TParaBorder &aBorder
    )

    Sets one side of the object's paragraph border. If a border on the specified side already exists, it is replaced.

    Note: Setting a single side of the object's paragraph border incurs the overhead of allocating storage for the three other sides, which are assigned default values.

    ParameterDescription
    aSideThe side for the paragraph border.
    aBorderSpecification for the paragraph border.

    StoreTabL ( const TTabStop & )

    IMPORT_C voidStoreTabL(const TTabStop &aTabStop)

    Adds a tab stop to the list of tab stops, maintaining the ordering of the list, (ascending order of twips position). Multiple tabs with the same twips position are not allowed, so that if aTabStop shares the same twips position as an existing tab stop, regardless of its alignment, the existing tab stop is replaced by aTabStop.

    ParameterDescription
    aTabStopThe tab stop to be stored.

    Strip ( )

    IMPORT_C voidStrip()

    Deletes all paragraph borders, bullets and tab stops. No other attributes are affected.

    TabCount ( )

    TInt TabCount()const [inline]

    Gets a count of the total number of tab stops in the object's tab list. If the object has no tab list, returns zero.

    Returns: The number of tab stops.

    TabStop ( TInt )

    IMPORT_C const TTabStopTabStop(TIntaTabIndex)const

    Gets the tab stop located at the specified index within the tab list (counting from zero). Tab stops are ordered in ascending order of twips position. If the object has no tab list, then a default tab stop is returned.

    ParameterDescription
    aTabIndexThe offset of the tab stop in the tab list. Must be less than the total number of tab stops, or a panic occurs. To find the total number of tab stops, use TabCount().

    Returns: The tab stop located at the specified index.