Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends

fl_TOCLayout Class Reference

#include <fl_TOCLayout.h>

Inheritance diagram for fl_TOCLayout:
fl_SectionLayout fl_ContainerLayout fl_Layout

List of all members.

Public Member Functions

 fl_TOCLayout (FL_DocLayout *pLayout, fl_DocSectionLayout *pDocSL, pf_Frag_Strux *sdh, PT_AttrPropIndex ap, fl_ContainerLayout *pMyContainerLayout)
virtual ~fl_TOCLayout ()
virtual bool doclistener_changeStrux (const PX_ChangeRecord_StruxChange *pcrxc)
virtual bool doclistener_deleteStrux (const PX_ChangeRecord_Strux *pcrx)
virtual bool doclistener_deleteEndTOC (const PX_ChangeRecord_Strux *pcrx)
virtual bool bl_doclistener_insertEndTOC (fl_ContainerLayout *, const PX_ChangeRecord_Strux *pcrx, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
virtual void format (void)
virtual void updateLayout (bool bDoFull)
virtual void collapse (void)
virtual void markAllRunsDirty (void)
virtual fl_SectionLayoutgetSectionLayout (void) const
bool recalculateFields (UT_uint32 iUpdateCount)
virtual void redrawUpdate (void)
virtual fp_ContainergetNewContainer (fp_Container *=NULL)
fl_DocSectionLayoutgetDocSectionLayout (void) const
bool isEndTOCIn (void) const
void setTOCEndIn (void)
TOCEntrycreateNewEntry (fl_BlockLayout *pBL)
PT_DocPosition getDocPosition (void)
UT_uint32 getLength (void)
fl_BlockLayoutfindMatchingBlock (fl_BlockLayout *pBlock)
UT_sint32 isInVector (fl_BlockLayout *pBlock, UT_GenericVector< TOCEntry * > *pVecBlocks)
UT_uint32 getTOCPID (void) const
bool isTOCEmpty () const
bool isStyleInTOC (UT_UTF8String &sStyle)
bool isBlockInTOC (fl_BlockLayout *pBlock)
bool addBlock (fl_BlockLayout *pBlock, bool bVerifyRange=true)
bool removeBlock (fl_BlockLayout *pBlock)
fl_BlockLayoutgetMatchingBlock (fl_BlockLayout *pBlock)
UT_UTF8StringgetTOCListLabel (fl_BlockLayout *pBlock)
UT_UTF8StringgetTOCHeading (void)
UT_sint32 getCurrentLevel (void) const
FootnoteType getNumType (UT_sint32 iLevel)
eTabLeader getTabLeader (UT_sint32 iLevel)
UT_sint32 getTabPosition (UT_sint32 iLevel, const fl_BlockLayout *pBlock)
void setSelected (bool bSetSelected)
bool isSelected (void)
const UT_UTF8StringgetRangeBookmarkName () const
bool verifyBookmarkAssumptions ()
bool fillTOC (void)

Static Public Member Functions

static std::string getDefaultHeading ()
static UT_UTF8String getDefaultSourceStyle (UT_uint32 iLevel)
static UT_UTF8String getDefaultDestStyle (UT_uint32 iLevel)

Private Member Functions

virtual void _purgeLayout (void)
virtual void _lookupProperties (const PP_AttrProp *pAP)
void _createTOCContainer (void)
bool _isStyleInTOC (UT_UTF8String &sStyle, UT_UTF8String &sTOCStyle)
void _insertTOCContainer (fp_TOCContainer *pNewTOC)
void _localCollapse ()
void _createAndFillTOCEntry (PT_DocPosition posStart, PT_DocPosition posEnd, fl_BlockLayout *pPrevBL, const char *pszStyle, UT_sint32 iAllBlocks)
void _addBlockInVec (fl_BlockLayout *pBlock, UT_UTF8String &sStyle)
void _removeBlockInVec (fl_BlockLayout *pBlock, bool bDontRecurse=false)
void _calculateLabels (void)
UT_sint32 _getStartValue (TOCEntry *pEntry)

Private Attributes

bool m_bNeedsRebuild
bool m_bNeedsFormat
bool m_bIsOnPage
UT_uint32 m_iTOCPID
fl_DocSectionLayoutm_pDocSL
bool m_bHasEndTOC
bool m_bDoingPurge
bool m_bIsSelected
UT_UTF8String m_sSourceStyle1
UT_UTF8String m_sSourceStyle2
UT_UTF8String m_sSourceStyle3
UT_UTF8String m_sSourceStyle4
UT_UTF8String m_sDestStyle1
UT_UTF8String m_sDestStyle2
UT_UTF8String m_sDestStyle3
UT_UTF8String m_sDestStyle4
UT_UTF8String m_sNumOff1
UT_UTF8String m_sNumOff2
UT_UTF8String m_sNumOff3
UT_UTF8String m_sNumOff4
FootnoteType m_iNumType1
FootnoteType m_iNumType2
FootnoteType m_iNumType3
FootnoteType m_iNumType4
eTabLeader m_iTabLeader1
eTabLeader m_iTabLeader2
eTabLeader m_iTabLeader3
eTabLeader m_iTabLeader4
UT_GenericVector< TOCEntry * > m_vecEntries
UT_sint32 m_iCurrentLevel
UT_UTF8String m_sTOCHeading
bool m_bTOCHeading
UT_UTF8String m_sTOCHeadingStyle
FootnoteType m_iLabType1
FootnoteType m_iLabType2
FootnoteType m_iLabType3
FootnoteType m_iLabType4
UT_UTF8String m_sLabBefore1
UT_UTF8String m_sLabBefore2
UT_UTF8String m_sLabBefore3
UT_UTF8String m_sLabBefore4
UT_UTF8String m_sLabAfter1
UT_UTF8String m_sLabAfter2
UT_UTF8String m_sLabAfter3
UT_UTF8String m_sLabAfter4
UT_UTF8String m_sRangeBookmark
bool m_bHasLabel1
bool m_bHasLabel2
bool m_bHasLabel3
bool m_bHasLabel4
bool m_bInherit1
bool m_bInherit2
bool m_bInherit3
bool m_bInherit4
UT_sint32 m_iStartAt1
UT_sint32 m_iStartAt2
UT_sint32 m_iStartAt3
UT_sint32 m_iStartAt4
bool m_bMissingBookmark
bool m_bFalseBookmarkEstimate
UT_NumberVector m_vecBookmarkPositions

Friends

class fl_DocListener
class fp_FootnoteContainer

Constructor & Destructor Documentation

fl_TOCLayout::fl_TOCLayout ( FL_DocLayout pLayout,
fl_DocSectionLayout pDocSL,
pf_Frag_Strux sdh,
PT_AttrPropIndex  ap,
fl_ContainerLayout pMyContainerLayout 
)

Member Function Documentation

UT_sint32 fl_TOCLayout::_getStartValue ( TOCEntry pEntry  )  [private]
bool fl_TOCLayout::_isStyleInTOC ( UT_UTF8String sStyle,
UT_UTF8String sTOCStyle 
) [private]

Does a case insensitive search of the basedon heirachy for a match.

References PD_Style::getBasedOn(), PD_Style::getName(), PD_Document::getStyle(), fl_Layout::m_pDoc, UT_UTF8String::utf8_str(), and xxx_UT_DEBUGMSG.

Referenced by addBlock(), and isStyleInTOC().

void fl_TOCLayout::_purgeLayout ( void   )  [private, virtual]
bool fl_TOCLayout::doclistener_deleteEndTOC ( const PX_ChangeRecord_Strux pcrx  )  [virtual]

This signals an incomplete footnote section.

References m_bHasEndTOC.

UT_sint32 fl_TOCLayout::getCurrentLevel ( void   )  const [inline]
std::string fl_TOCLayout::getDefaultHeading (  )  [static]
PT_DocPosition fl_TOCLayout::getDocPosition ( void   ) 

Returns the position in the document of the PTX_SectionTOC strux This is very useful for determining the value of the footnote reference and anchor.

References FL_DocLayout::getDocument(), fl_Layout::getStruxDocHandle(), PD_Document::getStruxPosition(), and fl_SectionLayout::m_pLayout.

Referenced by getLength().

fl_DocSectionLayout* fl_TOCLayout::getDocSectionLayout ( void   )  const [inline, virtual]
UT_uint32 fl_TOCLayout::getLength ( void   ) 

This method returns the length of the footnote. This is such that getDocPosition() + getLength() is one value beyond the the EndFootnote strux

References getDocPosition(), FL_DocLayout::getDocument(), PD_Document::getNextStruxOfType(), fl_Layout::getStruxDocHandle(), PD_Document::getStruxPosition(), fl_SectionLayout::m_pLayout, PTX_EndTOC, and UT_ASSERT.

fl_BlockLayout * fl_TOCLayout::getMatchingBlock ( fl_BlockLayout pBlock  ) 
fp_Container * fl_TOCLayout::getNewContainer ( fp_Container = NULL  )  [virtual]

Create a new TOC container.

Returns:
The newly created TOC container

Implements fl_SectionLayout.

References _createTOCContainer(), _insertTOCContainer(), fl_ContainerLayout::getLastContainer(), and UT_DEBUGMSG.

Referenced by format().

FootnoteType fl_TOCLayout::getNumType ( UT_sint32  iLevel  ) 
const UT_UTF8String& fl_TOCLayout::getRangeBookmarkName (  )  const [inline]
fl_SectionLayout * fl_TOCLayout::getSectionLayout ( void   )  const [virtual]
eTabLeader fl_TOCLayout::getTabLeader ( UT_sint32  iLevel  ) 
UT_UTF8String& fl_TOCLayout::getTOCHeading ( void   )  [inline]
UT_uint32 fl_TOCLayout::getTOCPID ( void   )  const [inline]
bool fl_TOCLayout::isEndTOCIn ( void   )  const [inline]
bool fl_TOCLayout::isSelected ( void   )  [inline]

Referenced by fp_Run::isInSelectedTOC().

bool fl_TOCLayout::isStyleInTOC ( UT_UTF8String sStyle  ) 
bool fl_TOCLayout::isTOCEmpty (  )  const [inline]
void fl_TOCLayout::markAllRunsDirty ( void   )  [virtual]
bool fl_TOCLayout::recalculateFields ( UT_uint32  iUpdateCount  )  [virtual]
void fl_TOCLayout::setTOCEndIn ( void   ) 

Set boolean to tell that TOCend has been inserted. Also makes sure the layout is fully filled.

References m_bHasEndTOC.


Friends And Related Function Documentation

friend class fl_DocListener [friend]

Reimplemented from fl_SectionLayout.

friend class fp_FootnoteContainer [friend]

Member Data Documentation

Referenced by _purgeLayout(), and removeBlock().

bool fl_TOCLayout::m_bIsOnPage [private]

Referenced by setSelected().

Referenced by format().

Referenced by _lookupProperties(), and fillTOC().


The documentation for this class was generated from the following files: