fl_BlockLayout Class Reference

#include <fl_BlockLayout.h>

Inheritance diagram for fl_BlockLayout:

fl_ContainerLayout fl_Layout

List of all members.

Public Types

enum  _eSpacingPolicy { spacing_MULTIPLE, spacing_EXACT, spacing_ATLEAST }
typedef enum
fl_BlockLayout::_eSpacingPolicy 
eSpacingPolicy

Public Member Functions

 fl_BlockLayout (PL_StruxDocHandle sdh, fl_ContainerLayout *pPrev, fl_SectionLayout *, PT_AttrPropIndex indexAP, bool bIsHdrFtr=false)
 ~fl_BlockLayout ()
void formatAll (void)
virtual void format (void)
void formatWrappedFromHere (fp_Line *pLine, fp_Page *pPage)
fp_LinegetNextWrappedLine (UT_sint32 iX, UT_sint32 iHeight, fp_Page *pPage)
void getLeftRightForWrapping (UT_sint32 iX, UT_sint32 iHeight, UT_sint32 &iMinLeft, UT_sint32 &iMinRight, UT_sint32 &iMinWidth)
virtual bool recalculateFields (UT_uint32 iUpdateCount)
virtual void redrawUpdate ()
virtual void updateLayout (bool)
virtual fp_ContainergetNewContainer (fp_Container *pCon=NULL)
FV_ViewgetView (void) const
const char * getProperty (const gchar *pszName, bool bExpandStyles=true) const
const PP_PropertyTypegetPropertyType (const gchar *szName, tProperty_type Type, bool bExpandStyles=true) const
void setAlignment (UT_uint32 iAlignCmd)
UT_sint32 getLength (void) const
bool isEmbeddedType (void) const
bool isNotTOCable (void) const
bool isLastRunInBlock (fp_Run *pRun) const
void updateOffsets (PT_DocPosition posEmbedded, UT_uint32 iEmebbedSize, UT_sint32 iSuggestedDiff)
void updateEnclosingBlockIfNeeded (void)
fl_BlockLayoutgetEnclosingBlock (void) const
UT_sint32 getEmbeddedOffset (UT_sint32 startOffset, fl_ContainerLayout *&pEmbedCL) const
void shuffleEmbeddedIfNeeded (fl_BlockLayout *pBlock, UT_uint32 blockOffset)
bool getXYOffsetToLine (UT_sint32 &xoff, UT_sint32 &yoff, fp_Line *pLine) const
bool setFramesOnPage (fp_Line *pLastLine)
UT_sint32 getMinWrapWidth (void) const
UT_sint32 getHeightOfBlock (void)
fp_LinefindLineWithFootnotePID (UT_uint32 pid) const
UT_sint32 getMaxNonBreakableRun (void) const
fp_LinefindPrevLineInDocument (fp_Line *) const
fp_LinefindNextLineInDocument (fp_Line *) const
virtual void appendTextToBuf (UT_GrowBuf &buf) const
void appendUTF8String (UT_UTF8String &sText) const
virtual fp_RungetFirstRun (void) const
void setFirstRun (fp_Run *pRun)
void clearPrint (void) const
bool isListItem (void) const
bool isFirstInList (void) const
void getListAttributesVector (UT_GenericVector< const gchar * > *va) const
void getListPropertyVector (UT_GenericVector< const gchar * > *vp) const
void refreshRunProperties (void) const
char * getFormatFromListType (FL_ListType iListType) const
void remItemFromList (void)
virtual void listUpdate (void)
void resumeList (fl_BlockLayout *prevList)
void prependList (fl_BlockLayout *nextList)
FL_ListType decodeListType (char *listformat) const
FL_ListType getListType (void) const
gchar * getListStyleString (FL_ListType iListType) const
FL_ListType getListTypeFromStyle (const gchar *style) const
fl_BlockLayoutgetNextList (UT_uint32 id) const
bool isListLabelInBlock (void) const
void StartList (const gchar *style, PL_StruxDocHandle prevSDH=NULL)
void StartList (FL_ListType lType, UT_uint32 start, const gchar *lDelim, const gchar *lDecimal, const gchar *fFont, float Align, float indent, UT_uint32 iParentID=0, UT_uint32 level=0)
void StopListInBlock (void)
void deleteListLabel (void)
UT_UCSChargetListLabel (void) const
void transferListFlags (void)
UT_uint32 getLevel (void) const
void setStarting (bool bValue)
void setStopping (bool bValue)
fl_BlockLayoutgetPreviousList (UT_uint32 id) const
fl_BlockLayoutgetPreviousList (void) const
fl_BlockLayoutgetPreviousListOfSameMargin (void) const
fl_BlockLayoutgetParentItem (void) const
UT_uint32 canSlurp (fp_Line *pLine) const
PT_DocPosition getPosition (bool bActualBlockPos=false) const
fp_RunfindPointCoords (PT_DocPosition position, bool bEOL, UT_sint32 &x, UT_sint32 &y, UT_sint32 &x2, UT_sint32 &y2, UT_sint32 &height, bool &bDirection) const
fp_RunfindRunAtOffset (UT_uint32 offset) const
bool getBlockBuf (UT_GrowBuf *pgb) const
void clearScreen (GR_Graphics *) const
void getStyle (UT_UTF8String &sStyle) const
UT_sint32 getTextIndent (void) const
UT_sint32 getLeftMargin (void) const
UT_sint32 getRightMargin (void) const
UT_sint32 getTopMargin (void) const
UT_sint32 getBottomMargin (void) const
fb_AlignmentgetAlignment (void) const
virtual FL_DocLayoutgetDocLayout (void) const
virtual fl_SectionLayoutgetSectionLayout (void) const
fl_DocSectionLayoutgetDocSectionLayout (void) const
void setSectionLayout (fl_SectionLayout *pSectionLayout)
void getLineSpacing (double &dSpacing, eSpacingPolicy &eSpacing) const
UT_uint32 getProp_Orphans (void) const
UT_uint32 getProp_Widows (void) const
bool getProp_KeepTogether (void) const
bool getProp_KeepWithNext (void) const
UT_BidiCharType getDominantDirection (void) const
void setDominantDirection (UT_BidiCharType iDirection)
bool isHdrFtr (void) const
void setHdrFtr (void)
void clearHdrFtr (void)
void debugFlashing (void)
bool findNextTabStop (UT_sint32 iStartX, UT_sint32 iMaxX, UT_sint32 &iPosition, eTabType &iType, eTabLeader &iLeader) const
bool findPrevTabStop (UT_sint32 iStartX, UT_sint32 iMaxX, UT_sint32 &iPosition, eTabType &iType, eTabLeader &iLeader) const
bool hasUpdatableField (void)
void setUpdatableField (bool bValue)
UT_sint32 getDefaultTabInterval (void) const
UT_sint32 getTabsCount (void) const
bool doclistener_populateSpan (const PX_ChangeRecord_Span *pcrs, PT_BlockOffset blockOffset, UT_uint32 len)
bool doclistener_populateObject (PT_BlockOffset blockOffset, const PX_ChangeRecord_Object *pcro)
bool doclistener_insertSpan (const PX_ChangeRecord_Span *pcrs)
bool doclistener_deleteSpan (const PX_ChangeRecord_Span *pcrs)
bool doclistener_changeSpan (const PX_ChangeRecord_SpanChange *pcrsc)
bool doclistener_deleteStrux (const PX_ChangeRecord_Strux *pcrx)
bool doclistener_changeStrux (const PX_ChangeRecord_StruxChange *pcrxc)
bool doclistener_insertFirstBlock (const PX_ChangeRecord_Strux *pcrx, PL_StruxDocHandle sdh, PL_ListenerId lid, void(*pfnBindHandles)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew))
bool doclistener_insertBlock (const PX_ChangeRecord_Strux *pcrx, PL_StruxDocHandle sdh, PL_ListenerId lid, void(*pfnBindHandles)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew))
bool doclistener_insertSection (const PX_ChangeRecord_Strux *pcrx, SectionType iType, PL_StruxDocHandle sdh, PL_ListenerId lid, void(*pfnBindHandles)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew))
fl_SectionLayoutdoclistener_insertTable (const PX_ChangeRecord_Strux *pcrx, SectionType iType, PL_StruxDocHandle sdh, PL_ListenerId lid, void(*pfnBindHandles)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew))
fl_SectionLayoutdoclistener_insertFrame (const PX_ChangeRecord_Strux *pcrx, SectionType iType, PL_StruxDocHandle sdh, PL_ListenerId lid, void(*pfnBindHandles)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew))
bool doclistener_insertObject (const PX_ChangeRecord_Object *pcro)
bool doclistener_deleteObject (const PX_ChangeRecord_Object *pcro)
bool doclistener_changeObject (const PX_ChangeRecord_ObjectChange *pcroc)
bool doclistener_insertFmtMark (const PX_ChangeRecord_FmtMark *pcrfm)
bool doclistener_deleteFmtMark (const PX_ChangeRecord_FmtMark *pcrfm)
bool doclistener_changeFmtMark (const PX_ChangeRecord_FmtMarkChange *pcrfmc)
void purgeLayout (void)
virtual void collapse (void)
virtual bool isCollapsed (void) const
void coalesceRuns (void) const
virtual void setNeedsReformat (fl_ContainerLayout *pCL, UT_uint32 offset=0)
bool needsReformat (void) const
virtual void setNeedsRedraw (void)
virtual bool needsRedraw (void) const
virtual void markAllRunsDirty (void)
UT_sint32 findLineInBlock (fp_Line *pLine) const
bool isWordDelimiter (UT_UCS4Char c, UT_UCS4Char next, UT_UCS4Char prev, UT_uint32 iBlockPos) const
bool isSentenceSeparator (UT_UCS4Char c, UT_uint32 iBlockPos) const
void setStyleInTOC (bool b)
void forceSectionBreak (void)
bool isContainedByTOC (void) const
FootnoteType getTOCNumType (void) const
eTabLeader getTOCTabLeader (UT_sint32 iOff) const
UT_sint32 getTOCTabPosition (UT_sint32 iOff) const
void setAccumHeight (UT_sint32 i)
UT_sint32 getAccumHeight (void) const
void addBackgroundCheckReason (UT_uint32 reason)
void removeBackgroundCheckReason (UT_uint32 reason)
bool hasBackgroundCheckReason (UT_uint32 reason) const
void setPrevListLabel (bool b)
bool getNextTableElement (UT_GrowBuf *buf, PT_DocPosition startPos, PT_DocPosition &begPos, PT_DocPosition &endPos, UT_UTF8String &sWord, bool bIgnoreSpace) const
bool itemizeSpan (PT_BlockOffset blockOffset, UT_uint32 len, GR_Itemization &I)
 fl_BlockLayout (FL_DocLayout *l)
void enqueueToSpellCheckAfter (fl_BlockLayout *prev)
void dequeueFromSpellCheck (void)
fl_BlockLayoutnextToSpell (void) const
fl_BlockLayoutprevToSpell (void) const
 fl_BlockLayout (FL_DocLayout *l)
void enqueueToSpellCheckAfter (fl_BlockLayout *prev)
void dequeueFromSpellCheck (void)
fl_BlockLayoutnextToSpell (void) const
fl_BlockLayoutprevToSpell (void) const

Static Public Member Functions

static bool s_EnumTabStops (void *myThis, UT_uint32 k, fl_TabStop *pTabInfo)

Public Attributes

UT_uint32 m_uBackgroundCheckReasons

Protected Member Functions

void _recalcPendingWord (UT_uint32 iOffset, UT_sint32 chg) const
bool _doCheckWord (fl_PartOfBlock *pPOB, const UT_UCSChar *pBlockText, UT_sint32 iLength, bool bAddSquiggle=true, bool bClearScreen=true) const
bool _truncateLayout (fp_Run *pTruncRun)
void _assertRunListIntegrityImpl (void) const
void _assertRunListIntegrity (void) const
void _mergeRuns (fp_Run *pFirstRunToMerge, fp_Run *pLastRunToMerge) const
bool _doInsertRun (fp_Run *pNewRun)
bool _delete (PT_BlockOffset blockOffset, UT_uint32 len)
bool _doInsertTextSpan (PT_BlockOffset blockOffset, UT_uint32 len)
bool _doInsertForcedLineBreakRun (PT_BlockOffset blockOffset)
bool _doInsertFieldStartRun (PT_BlockOffset blockOffset)
bool _doInsertFieldEndRun (PT_BlockOffset blockOffset)
bool _doInsertBookmarkRun (PT_BlockOffset blockOffset)
bool _doInsertHyperlinkRun (PT_BlockOffset blockOffset)
bool _doInsertAnnotationRun (PT_BlockOffset blockOffset)
bool _doInsertMathRun (PT_BlockOffset blockOffset, PT_AttrPropIndex indexAP, PL_ObjectHandle oh)
bool _doInsertEmbedRun (PT_BlockOffset blockOffset, PT_AttrPropIndex indexAP, PL_ObjectHandle oh)
bool _doInsertForcedColumnBreakRun (PT_BlockOffset blockOffset)
bool _doInsertForcedPageBreakRun (PT_BlockOffset blockOffset)
bool _doInsertTabRun (PT_BlockOffset blockOffset)
bool _doInsertTOCTabRun (PT_BlockOffset blockOffset)
bool _doInsertTOCListLabelRun (PT_BlockOffset blockOffset)
bool _doInsertTOCHeadingRun (PT_BlockOffset blockOffset)
bool _doInsertTOCListTabRun (PT_BlockOffset blockOffset)
bool _doInsertImageRun (PT_BlockOffset blockOffset, FG_Graphic *pFG, PL_ObjectHandle oh)
bool _doInsertFieldRun (PT_BlockOffset blockOffset, const PX_ChangeRecord_Object *pcro)
bool _doInsertFieldTOCRun (PT_BlockOffset blockOffset)
bool _doInsertDirectionMarkerRun (PT_BlockOffset blockOffset, UT_UCS4Char iM)
bool _deleteFmtMark (PT_BlockOffset blockOffset)
virtual void _lookupProperties (const PP_AttrProp *pAP)
virtual void _lookupMarginProperties (const PP_AttrProp *pAP)
void _removeLine (fp_Line *, bool bRemoveFromContainer, bool bReCalc)
void _purgeLine (fp_Line *)
void _removeAllEmptyLines (void)
bool _checkMultiWord (UT_sint32 iStart, UT_sint32 eor, bool bToggleIP) const
UT_uint32 _getLastChar ()
void _stuffAllRunsOnALine (void)
void _insertEndOfParagraphRun (void)
void _purgeEndOfParagraphRun (void)
void _breakLineAfterRun (fp_Run *)
void _createListLabel (void)
void _deleteListLabel (void)
void _addBlockToPrevList (fl_BlockLayout *prevBlockInList, UT_uint32 level)
void _prependBlockToPrevList (fl_BlockLayout *nextBlockInList)

Static Protected Member Functions

static void _prefsListener (XAP_Prefs *pPrefs, UT_StringPtrMap *, void *data)

Protected Attributes

UT_sint32 m_iNeedsReformat
bool m_bNeedsRedraw
bool m_bIsHdrFtr
FL_DocLayoutm_pLayout
fb_LineBreaker m_Breaker
fp_Runm_pFirstRun
fl_SectionLayoutm_pSectionLayout
UT_GenericVector< fl_TabStop * > m_vecTabs
UT_sint32 m_iDefaultTabInterval
UT_uint32 m_iOrphansProperty
UT_uint32 m_iWidowsProperty
UT_sint32 m_iTopMargin
UT_sint32 m_iBottomMargin
UT_sint32 m_iLeftMargin
UT_sint32 m_iRightMargin
UT_sint32 m_iTextIndent
fb_Alignmentm_pAlignment
double m_dLineSpacing
eSpacingPolicy m_eSpacingPolicy
bool m_bKeepTogether
bool m_bKeepWithNext
bool m_bStartList
bool m_bStopList
bool m_bListLabelCreated
bool m_bListItem
const gchar * m_szStyle
bool m_bIsCollapsed
bool m_bHasUpdatableField
UT_BidiCharType m_iDomDirection
UT_BidiCharType m_iDirOverride
bool m_bIsTOC
bool m_bStyleInTOC
UT_sint32 m_iTOCLevel
bool m_bSameYAsPrevious
UT_sint32 m_iAccumulatedHeight
fp_VerticalContainerm_pVertContainer
UT_sint32 m_iLinePosInContainer
bool m_bForceSectionBreak
bool m_bPrevListLabel
UT_sint32 m_iAdditionalMarginAfter

Private Member Functions

virtual bool _canContainPoint () const

Private Attributes

FL_DocLayoutm_pLayout
fl_BlockLayoutm_nextToSpell
fl_BlockLayoutm_prevToSpell
FL_DocLayoutm_pLayout
fl_BlockLayoutm_nextToSpell
fl_BlockLayoutm_prevToSpell

Friends

class fl_Squiggles
class fl_SpellSquiggles
class fl_GrammarSquiggles
class fl_DocListener
class fl_TOCLayout
class fb_LineBreaker


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
spacing_MULTIPLE 
spacing_EXACT 
spacing_ATLEAST 


Constructor & Destructor Documentation

fl_BlockLayout::fl_BlockLayout ( PL_StruxDocHandle  sdh,
fl_ContainerLayout pPrev,
fl_SectionLayout pSectionLayout,
PT_AttrPropIndex  indexAP,
bool  bIsHdrFtr = false 
)

fl_BlockLayout::~fl_BlockLayout (  ) 

fl_BlockLayout::fl_BlockLayout ( FL_DocLayout l  )  [inline]

fl_BlockLayout::fl_BlockLayout ( FL_DocLayout l  )  [inline]


Member Function Documentation

void fl_BlockLayout::formatAll ( void   ) 

References format(), and m_iNeedsReformat.

void fl_BlockLayout::format ( void   )  [virtual]

Format paragraph: split the content into lines which will fit in the container.

Implements fl_ContainerLayout.

References _assertRunListIntegrity(), _insertEndOfParagraphRun(), _removeAllEmptyLines(), _stuffAllRunsOnALine(), UT_GenericVector< T >::addItem(), FL_DocLayout::addOrRemoveBlockFromTOC(), fb_LineBreaker::breakParagraph(), fp_Line::calculateWidthOfLine(), fp_Run::clearIfNeeded(), fl_SectionLayout::clearNeedsReformat(), fp_Line::clearScreen(), coalesceRuns(), collapse(), FB_ALIGNMENT_JUSTIFY, FB_ALIGNMENT_LEFT, FL_CONTAINER_BLOCK, FL_CONTAINER_CELL, FL_CONTAINER_DOCSECTION, FL_CONTAINER_FRAME, FL_CONTAINER_SHADOW, fl_ContainerLayout::format(), FP_CONTAINER_LINE, FP_HIDDEN_FOLDED, FPRUN_ENDOFPARAGRAPH, FPRUN_FIELD, FPRUN_HYPERLINK, fp_Run::getBlockOffset(), fp_ContainerObject::getContainerType(), fl_ContainerLayout::getContainerType(), getDocSectionLayout(), fl_ContainerLayout::getFirstContainer(), getHeightOfBlock(), fp_HyperlinkRun::getHyperlinkType(), UT_GenericVector< T >::getItemCount(), fl_ContainerLayout::getLastContainer(), fp_Run::getLength(), fp_Run::getLine(), fp_Container::getNext(), fp_Run::getNextRun(), UT_GenericVector< T >::getNthItem(), fp_Container::getPage(), fl_ContainerLayout::getPrev(), fl_ContainerLayout::getPrevBlockInDocument(), getSectionLayout(), fp_Run::getType(), fb_Alignment::getType(), fp_Run::getWidth(), fp_Line::getWidth(), fp_Run::getX(), fp_Run::getY(), HYPERLINK_ANNOTATION, fl_CellLayout::isDoingFormat(), fl_ContainerLayout::isHidden(), FL_DocLayout::isLayoutFilling(), isListLabelInBlock(), isNotTOCable(), fp_Line::layout(), fp_Run::lookupProperties(), m_bIsCollapsed, m_bIsTOC, m_bListLabelCreated, m_Breaker, m_bStyleInTOC, m_iNeedsReformat, m_pAlignment, fl_Layout::m_pAutoNum, m_pFirstRun, m_pLayout, m_pSectionLayout, fl_ContainerLayout::myContainingLayout(), fp_FieldRun::needsFrequentUpdates(), recalculateFields(), fp_Run::recalcWidth(), fp_Line::resetJustification(), fl_SectionLayout::setNeedsReformat(), fl_DocSectionLayout::setNeedsSectionBreak(), fp_Run::setTmpLine(), fp_Run::setTmpWidth(), fp_Run::setTmpX(), fp_Run::setTmpY(), setUpdatableField(), UT_ASSERT, UT_DEBUGMSG, and xxx_UT_DEBUGMSG.

Referenced by doclistener_changeFmtMark(), doclistener_changeObject(), doclistener_changeSpan(), doclistener_changeStrux(), doclistener_deleteFmtMark(), doclistener_deleteObject(), doclistener_deleteSpan(), fl_FrameLayout::doclistener_deleteStrux(), doclistener_deleteStrux(), doclistener_insertFmtMark(), doclistener_insertFrame(), doclistener_insertObject(), doclistener_insertSpan(), formatAll(), listUpdate(), redrawUpdate(), remItemFromList(), and fp_Page::updatePageForWrapping().

void fl_BlockLayout::formatWrappedFromHere ( fp_Line pLine,
fp_Page pPage 
)

Reformat a block from the line given.

References _removeAllEmptyLines(), _removeLine(), fp_Line::addRun(), BIG_NUM_BLOCKBL, fb_LineBreaker::breakParagraph(), FB_ALIGNMENT_JUSTIFY, fp_Container::findCon(), FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_Container::getContainer(), fp_ContainerObject::getContainerType(), getDominantDirection(), fl_ContainerLayout::getFirstContainer(), fp_Line::getFirstRun(), fp_Line::getHeight(), fl_ContainerLayout::getLastContainer(), fp_Line::getLastRun(), getLeftMargin(), getLeftRightForWrapping(), fp_Line::getMarginAfter(), fp_Line::getMaxWidth(), getMinWrapWidth(), getNewContainer(), fp_Container::getNext(), fp_Run::getNextRun(), getNextWrappedLine(), fl_ContainerLayout::getPrev(), fp_Container::getPrev(), fp_Line::getPrevContainerInSection(), getRightMargin(), fp_VerticalContainer::getScreenRect(), fp_Line::getScreenRect(), getTextIndent(), fb_Alignment::getType(), fp_VerticalContainer::getWidth(), fp_Line::getX(), fp_Line::getY(), UT_Rect::height, FL_DocLayout::isLayoutFilling(), fp_Line::isSameYAsPrevious(), UT_Rect::left, m_Breaker, m_bSameYAsPrevious, m_iAccumulatedHeight, m_iAdditionalMarginAfter, m_iLinePosInContainer, m_iNeedsReformat, m_pAlignment, m_pLayout, m_pVertContainer, fp_Line::recalcHeight(), fp_Line::resetJustification(), fp_Line::setBlock(), fl_ContainerLayout::setFirstContainer(), fl_ContainerLayout::setLastContainer(), fp_Line::setMaxWidth(), fp_Container::setPrev(), fp_Line::setSameYAsPrevious(), fp_Line::setX(), UT_Rect::top, UT_ASSERT, UT_BIDI_LTR, UT_DEBUGMSG, UT_Rect::width, and xxx_UT_DEBUGMSG.

Referenced by fp_Page::updatePageForWrapping().

fp_Line * fl_BlockLayout::getNextWrappedLine ( UT_sint32  iX,
UT_sint32  iHeight,
fp_Page pPage 
)

Create a new line that will fit between positioned objects on the page. iX is the position of the last X coordinate of the previous Line relative to it's container. The X location of wrapped line will be greater than this. iHeight is the assumed height of the line (at first approximation this is the height of the previous line). pPage Pointer to the page with the positioned objects.

References BIG_NUM_BLOCKBL, fp_Container::findCon(), findLineInBlock(), fp_Container::getContainer(), getDominantDirection(), fl_ContainerLayout::getFirstContainer(), fl_ContainerLayout::getLastContainer(), getLeftMargin(), getLeftRightForWrapping(), fp_Line::getMaxWidth(), getMinWrapWidth(), getNewContainer(), fl_ContainerLayout::getPrev(), getRightMargin(), fp_Page::getScreenOffsets(), fp_VerticalContainer::getScreenRect(), getSectionLayout(), getTextIndent(), fp_VerticalContainer::getWidth(), fp_Line::getX(), UT_Rect::height, fp_Container::insertConAt(), fp_VerticalContainer::insertContainerAfter(), fp_Line::isSameYAsPrevious(), fp_Line::isWrapped(), m_bSameYAsPrevious, m_iAccumulatedHeight, m_iAdditionalMarginAfter, m_iLinePosInContainer, m_pVertContainer, fp_Line::setAdditionalMargin(), fp_Line::setBlock(), fp_Line::setContainer(), fl_ContainerLayout::setFirstContainer(), fp_Line::setHeight(), fl_ContainerLayout::setLastContainer(), fp_Line::setMaxWidth(), fp_Container::setNext(), fp_Container::setPrev(), fp_Line::setSameYAsPrevious(), fp_Line::setWrapped(), fp_Line::setX(), UT_Rect::top, UT_ASSERT, UT_BIDI_LTR, and xxx_UT_DEBUGMSG.

Referenced by fb_LineBreaker::_breakTheLineAtLastRunToKeep(), and formatWrappedFromHere().

void fl_BlockLayout::getLeftRightForWrapping ( UT_sint32  iX,
UT_sint32  iHeight,
UT_sint32 iMinLeft,
UT_sint32 iMinRight,
UT_sint32 iMinWidth 
)

Given the x-position (iX) and the height of the line (iHeight) this Method returns the width of the line that fits at the current screen position.

The dimensions of all the parameters are logical units.

(input) (iX)The position relative the container holding the line of the left edge of the line. (input) (iHeight) The assumed height of the line.

(output) The width of the line that fits between the image is iMinWidth (output) iMinLeft is the left-most edge of the line that fits (output) iMinRight is the right-most edge of the line that fits

References BIG_NUM_BLOCKBL, fp_Page::countAboveFrameContainers(), fl_FrameLayout::getBoundingSpace(), getDominantDirection(), fl_ContainerLayout::getFirstContainer(), FL_DocLayout::getGraphics(), fp_ContainerObject::getHeight(), fl_ContainerLayout::getLastContainer(), getLeftMargin(), fp_FrameContainer::getLeftPad(), getMinWrapWidth(), fp_Page::getNthAboveFrameContainer(), fp_Container::getPage(), getRightMargin(), fp_FrameContainer::getRightPad(), fp_Page::getScreenOffsets(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), getTextIndent(), fp_VerticalContainer::getWidth(), UT_Rect::height, UT_Rect::intersectsRect(), fp_FrameContainer::isLeftWrapped(), fp_FrameContainer::isRightWrapped(), fp_FrameContainer::isTightWrapped(), fp_FrameContainer::isWrappingSet(), UT_Rect::left, m_iAccumulatedHeight, m_iAdditionalMarginAfter, m_pLayout, m_pVertContainer, fp_FrameContainer::overlapsRect(), GR_Graphics::tlu(), UT_Rect::top, UT_ASSERT, UT_BIDI_LTR, UT_Rect::width, and xxx_UT_DEBUGMSG.

Referenced by formatWrappedFromHere(), and getNextWrappedLine().

bool fl_BlockLayout::recalculateFields ( UT_uint32  iUpdateCount  )  [virtual]

void fl_BlockLayout::redrawUpdate ( void   )  [virtual]

virtual void fl_BlockLayout::updateLayout ( bool   )  [inline, virtual]

Implements fl_ContainerLayout.

fp_Container * fl_BlockLayout::getNewContainer ( fp_Container pCon = NULL  )  [virtual]

FV_View* fl_BlockLayout::getView ( void   )  const [inline]

const char * fl_BlockLayout::getProperty ( const gchar *  pszName,
bool  bExpandStyles = true 
) const

const PP_PropertyType * fl_BlockLayout::getPropertyType ( const gchar *  szName,
tProperty_type  Type,
bool  bExpandStyles = true 
) const

void fl_BlockLayout::setAlignment ( UT_uint32  iAlignCmd  ) 

UT_sint32 fl_BlockLayout::getLength ( void   )  const

bool fl_BlockLayout::isEmbeddedType ( void   )  const

This method returns true if the block is contained with a section embedded in a block, like a footnote or a table or frame with text wrapping.

References FL_CONTAINER_ANNOTATION, FL_CONTAINER_ENDNOTE, FL_CONTAINER_FOOTNOTE, fl_ContainerLayout::getContainerType(), and fl_ContainerLayout::myContainingLayout().

Referenced by getEnclosingBlock(), FV_VisualDragText::getImageFromSelection(), and updateEnclosingBlockIfNeeded().

bool fl_BlockLayout::isNotTOCable ( void   )  const

bool fl_BlockLayout::isLastRunInBlock ( fp_Run pRun  )  const

Returns true if this run is at the last position of the block.

References fp_Run::getBlockOffset(), and getLength().

Referenced by _doInsertForcedColumnBreakRun(), and _doInsertForcedPageBreakRun().

void fl_BlockLayout::updateOffsets ( PT_DocPosition  posEmbedded,
UT_uint32  iEmbeddedSize,
UT_sint32  iSuggestDiff 
)

This method scans through the list of runs from the first position listed and updates the offsets. This is used following an operation on an embedded type section (Like a footnote). Also updates the char widths and the POB's in the squiggles.

Parameters:
posEmbedded the position of the embedded Section.
iEmbeddedSize the size of the embedded Section.

References FPRUN_FMTMARK, FPRUN_TEXT, fp_Run::getBlockOffset(), getFirstRun(), fp_Run::getLength(), fp_Run::getNextRun(), getPosition(), fp_Run::getPrevRun(), fp_Run::getType(), fp_Run::setBlockOffset(), setNeedsReformat(), updateEnclosingBlockIfNeeded(), UT_ASSERT, UT_DEBUGMSG, UT_return_if_fail, UT_SHOULD_NOT_HAPPEN, UT_UNUSED, and xxx_UT_DEBUGMSG.

Referenced by fl_EmbedLayout::doclistener_deleteStrux(), and updateEnclosingBlockIfNeeded().

void fl_BlockLayout::updateEnclosingBlockIfNeeded ( void   ) 

fl_BlockLayout * fl_BlockLayout::getEnclosingBlock ( void   )  const

UT_sint32 fl_BlockLayout::getEmbeddedOffset ( UT_sint32  offset,
fl_ContainerLayout *&  pEmbedCL 
) const

This method returns the offset of the next embedded strux within the the block. (Like a footnote or endnote) It returns -1 if none is found. Also returns the id of the embedded strux.

References FL_CONTAINER_TOC, fl_ContainerLayout::getContainerType(), getDocSectionLayout(), fl_ContainerLayout::getDocSectionLayout(), PD_Document::getEmbeddedOffset(), FL_DocLayout::getLID(), PD_Document::getNthFmtHandle(), fl_Layout::getStruxDocHandle(), fl_Layout::m_pDoc, m_pLayout, UT_ASSERT_HARMLESS, and UT_SHOULD_NOT_HAPPEN.

Referenced by FV_View::countWords(), and shuffleEmbeddedIfNeeded().

void fl_BlockLayout::shuffleEmbeddedIfNeeded ( fl_BlockLayout pBlock,
UT_uint32  blockOffset 
)

bool fl_BlockLayout::getXYOffsetToLine ( UT_sint32 xoff,
UT_sint32 yoff,
fp_Line pLine 
) const

This returns the distance from the first line in the block to the line presented here.

References fl_ContainerLayout::getFirstContainer(), fp_Line::getHeight(), fp_Line::getMarginAfter(), fp_Line::getMarginBefore(), and fp_Container::getNext().

Referenced by Defun(), and FV_FrameEdit::getFrameStrings().

bool fl_BlockLayout::setFramesOnPage ( fp_Line pLastLine  ) 

This method is called at the end of the layout method in fp_VerticalContainer. It places the frames pointed to within the block at the appropriate place on the appropriate page. Since we don't know where this is until the lines in the block are placed in a column we have to wait until both the column and lines are placed on the page.

pLastLine is the last line placed inthe column. If the frame should be placed after this line we don't place any frames that should be below this line now. In this case we wait until pLastLine is below the frame.

If pLastLine is NULL we place all the frames in this block on the screen.

References fp_Page::findFrameContainer(), FL_DocLayout::findPage(), FL_CONTAINER_FRAME, FL_FRAME_POSITIONED_TO_BLOCK, FL_FRAME_POSITIONED_TO_COLUMN, FL_FRAME_POSITIONED_TO_PAGE, FP_VISIBLE, fl_DocSectionLayout::getBottomMargin(), fp_Line::getColumn(), fp_Container::getContainer(), fl_ContainerLayout::getContainerType(), getDocLayout(), getDocSectionLayout(), fl_ContainerLayout::getFirstContainer(), fl_FrameLayout::getFramePositionTo(), fl_FrameLayout::getFrameXColpos(), fl_FrameLayout::getFrameXPagepos(), fl_FrameLayout::getFrameXpos(), fl_FrameLayout::getFrameYColpos(), fl_FrameLayout::getFrameYPagepos(), fl_FrameLayout::getFrameYpos(), FL_DocLayout::getGraphics(), fp_Page::getHeight(), fp_Line::getHeight(), fl_ContainerLayout::getLastContainer(), fp_Line::getMarginAfter(), fp_Line::getMarginBefore(), fp_Container::getNext(), fp_Page::getNthColumnLeader(), fl_ContainerLayout::getNthFrameContainer(), fl_ContainerLayout::getNthFrameLayout(), FL_DocLayout::getNthPage(), fl_ContainerLayout::getNumFrames(), fp_VerticalContainer::getOffsets(), fp_Line::getPage(), fp_FrameContainer::getPreferedPageNo(), fp_Container::getPrev(), fl_DocSectionLayout::getTopMargin(), getView(), fp_ContainerObject::getX(), fp_Line::getX(), fp_ContainerObject::getY(), fp_Line::getY(), fp_Page::insertFrameContainer(), fl_ContainerLayout::isHidden(), FL_DocLayout::isLayoutFilling(), fl_FrameLayout::isRelocate(), m_pLayout, FL_DocLayout::relocateFrame(), fl_ContainerLayout::removeFrame(), fp_FrameContainer::setPreferedPageNo(), fp_VerticalContainer::setX(), fp_VerticalContainer::setY(), UT_ASSERT_HARMLESS, UT_DEBUGMSG, UT_return_val_if_fail, and UT_SHOULD_NOT_HAPPEN.

Referenced by fl_FrameLayout::format(), and fp_Column::layout().

UT_sint32 fl_BlockLayout::getMinWrapWidth ( void   )  const

Minimum width of a line we'll try to fit a wrapped line within

Referenced by formatWrappedFromHere(), getLeftRightForWrapping(), and getNextWrappedLine().

UT_sint32 fl_BlockLayout::getHeightOfBlock ( void   ) 

Calculate the height of the all the text contained by this block Lines can force a sectionbreak by setting the m_bForceSectionBreak. If a line height changes or an ascent/descent changes we must do a section break.

References fl_ContainerLayout::getFirstContainer(), fp_Line::getHeight(), fp_Line::getMarginAfter(), fp_Line::getMarginBefore(), fp_Container::getNext(), fp_Line::isSameYAsPrevious(), and m_bForceSectionBreak.

Referenced by format().

fp_Line * fl_BlockLayout::findLineWithFootnotePID ( UT_uint32  pid  )  const

UT_sint32 fl_BlockLayout::getMaxNonBreakableRun ( void   )  const

fp_Line * fl_BlockLayout::findPrevLineInDocument ( fp_Line pLine  )  const

fp_Line * fl_BlockLayout::findNextLineInDocument ( fp_Line pLine  )  const

void fl_BlockLayout::appendTextToBuf ( UT_GrowBuf buf  )  const [virtual]

This method extracts all the text from the current block and appends it to the supplied growbuf.

Reimplemented from fl_ContainerLayout.

References fp_TextRun::appendTextToBuf(), FPRUN_TEXT, fp_Run::getNextRun(), fp_Run::getType(), and m_pFirstRun.

Referenced by fl_ContainerLayout::appendTextToBuf(), appendUTF8String(), and FV_View::getTextInCurrentBlock().

void fl_BlockLayout::appendUTF8String ( UT_UTF8String sText  )  const

This method will append the text in the block to the UTF8 string supplied

References appendTextToBuf(), UT_UTF8String::appendUCS4(), UT_GrowBuf::getLength(), and UT_GrowBuf::getPointer().

Referenced by AbiGrammar::notify().

virtual fp_Run* fl_BlockLayout::getFirstRun ( void   )  const [inline, virtual]

Reimplemented from fl_ContainerLayout.

Referenced by FV_View::_clearBetweenPositions(), FV_View::_deleteBookmark(), _deleteListLabel(), FV_View::_drawOrClearBetweenPositions(), FV_View::_findPositionCoords(), FV_View::_getHyperlinkInRange(), _lookupProperties(), FV_View::_populateThisHdrFtr(), fl_TOCLayout::addBlock(), fp_FieldPageReferenceRun::calculateValue(), fp_FieldTableSumCols::calculateValue(), fp_FieldTableSumRows::calculateValue(), clearPrint(), FV_View::cmdAcceptRejectRevision(), FV_View::cmdHyperlinkJump(), FV_View::cmdHyperlinkStatusBar(), FL_DocLayout::considerSmartQuoteCandidateAt(), doclistener_deleteStrux(), doclistener_insertSpan(), fl_AutoNum::doesItemHaveLabel(), FV_View::doesSelectionContainRevision(), FL_DocLayout::fillTOC(), findPointCoords(), findRunAtOffset(), FV_View::fontMetricsChange(), FV_View::getAnnotationText(), FV_View::getCharFormat(), FV_View::getEditableBounds(), Abi_GrammarCheck::GetEnglishText(), fl_ContainerLayout::getFirstRun(), FV_FrameEdit::getFrameStrings(), fp_Line::getLastRun(), fp_Line::getLastTextRun(), getMaxNonBreakableRun(), FV_View::getSelectedImage(), FV_View::getSelectedObject(), FV_View::getStyle(), FV_View::gotoTarget(), FV_View::insertFootnote(), FV_View::isCurrentListBlockEmpty(), fp_VerticalContainer::mapXYToPosition(), fl_Squiggles::markForRedraw(), FV_View::processPageNumber(), FV_View::processSelectedBlocks(), refreshRunProperties(), FV_View::remeasureCharsWithoutRebuild(), s_updateMailMergeFields(), StopListInBlock(), updateOffsets(), and fp_Page::updatePageForWrapping().

void fl_BlockLayout::setFirstRun ( fp_Run pRun  )  [inline]

void fl_BlockLayout::clearPrint ( void   )  const

bool fl_BlockLayout::isListItem ( void   )  const [inline]

bool fl_BlockLayout::isFirstInList ( void   )  const

void fl_BlockLayout::getListAttributesVector ( UT_GenericVector< const gchar * > *  va  )  const

void fl_BlockLayout::getListPropertyVector ( UT_GenericVector< const gchar * > *  vp  )  const

void fl_BlockLayout::refreshRunProperties ( void   )  const

This method is used to reset the colorization such as what occurs when showAuthors state is changed.

References getFirstRun(), fp_Run::getNextRun(), and fp_Run::lookupProperties().

Referenced by FL_DocLayout::refreshRunProperties().

char * fl_BlockLayout::getFormatFromListType ( FL_ListType  iListType  )  const

void fl_BlockLayout::remItemFromList ( void   ) 

void fl_BlockLayout::listUpdate ( void   )  [virtual]

void fl_BlockLayout::resumeList ( fl_BlockLayout prevList  ) 

void fl_BlockLayout::prependList ( fl_BlockLayout nextList  ) 

FL_ListType fl_BlockLayout::decodeListType ( char *  listformat  )  const

FL_ListType fl_BlockLayout::getListType ( void   )  const

gchar * fl_BlockLayout::getListStyleString ( FL_ListType  iListType  )  const

FL_ListType fl_BlockLayout::getListTypeFromStyle ( const gchar *  style  )  const

fl_BlockLayout * fl_BlockLayout::getNextList ( UT_uint32  id  )  const

bool fl_BlockLayout::isListLabelInBlock ( void   )  const

void fl_BlockLayout::StartList ( const gchar *  style,
PL_StruxDocHandle  prevSDH = NULL 
)

void fl_BlockLayout::StartList ( FL_ListType  lType,
UT_uint32  start,
const gchar *  lDelim,
const gchar *  lDecimal,
const gchar *  fFont,
float  Align,
float  indent,
UT_uint32  iParentID = 0,
UT_uint32  level = 0 
)

void fl_BlockLayout::StopListInBlock ( void   ) 

void fl_BlockLayout::deleteListLabel ( void   ) 

UT_UCSChar * fl_BlockLayout::getListLabel ( void   )  const

void fl_BlockLayout::transferListFlags ( void   ) 

UT_uint32 fl_BlockLayout::getLevel ( void   )  const

void fl_BlockLayout::setStarting ( bool  bValue  ) 

References m_bStartList.

Referenced by StartList().

void fl_BlockLayout::setStopping ( bool  bValue  ) 

References m_bStopList.

Referenced by remItemFromList(), and StopListInBlock().

fl_BlockLayout * fl_BlockLayout::getPreviousList ( UT_uint32  id  )  const

fl_BlockLayout * fl_BlockLayout::getPreviousList ( void   )  const

Find the most recent block with a list item.

Returns:
fl_BlockLayout *

References fl_ContainerLayout::getPrevBlockInDocument(), and isListItem().

Referenced by _lookupProperties(), getParentItem(), remItemFromList(), and transferListFlags().

fl_BlockLayout * fl_BlockLayout::getPreviousListOfSameMargin ( void   )  const

Returns the most recent Block containing a list item of the closest match of left-margin to this one.

Returns:
fl_BlockLayout *

References DIM_IN, fl_ContainerLayout::getPrevBlockInDocument(), getProperty(), isListItem(), m_iDomDirection, UT_BIDI_RTL, and UT_convertToDimension().

Referenced by AP_Dialog_Lists::Apply().

fl_BlockLayout * fl_BlockLayout::getParentItem ( void   )  const

UT_uint32 fl_BlockLayout::canSlurp ( fp_Line pLine  )  const

PT_DocPosition fl_BlockLayout::getPosition ( bool  bActualBlockPos = false  )  const [virtual]

Get block's position in document

Parameters:
bActualBlockPos When true return block's position. When false return position of first run in block
Returns:
Position of block (or first run in block) Split in two functions if called most often with FALSE

Reimplemented from fl_ContainerLayout.

References fl_BLOCK_STRUX_OFFSET, fl_Layout::getStruxDocHandle(), PD_Document::getStruxPosition(), and fl_Layout::m_pDoc.

Referenced by fl_TOCLayout::_addBlockInVec(), FV_View::_adjustDeletePosition(), FV_View::_BlockOffsetToPos(), FV_View::_charMotion(), FV_View::_cmdEditHdrFtr(), _createListLabel(), fp_FieldRun::_defaultDraw(), FV_View::_deleteBookmark(), FV_View::_deleteHyperlink(), _deleteListLabel(), FV_View::_deleteSelection(), fp_TextRun::_draw(), fp_ImageRun::_draw(), fp_EndOfParagraphRun::_draw(), fp_BookmarkRun::_draw(), fp_ForcedLineBreakRun::_draw(), fp_TabRun::_draw(), fp_MathRun::_draw(), fp_EmbedRun::_draw(), fp_DirectionMarkerRun::_draw(), fp_AnnotationRun::_draw(), FV_View::_drawOrClearBetweenPositions(), PD_Document::_exportFindVisDirectionRunAtPos(), PD_Document::_exportInitVisDirection(), FV_View::_findGetNextBlockBuffer(), FV_View::_findGetPrevBlockBuffer(), FV_View::_findNext(), FV_View::_findPositionCoords(), FV_View::_findPrev(), FV_View::_fixInsertionPointCoords(), FV_View::_getDocPosFromPoint(), FV_View::_getHyperlinkInRange(), FV_View::_getMouseContext(), FV_View::_insertSectionBreak(), FV_View::_isSpaceBefore(), FV_View::_populateThisHdrFtr(), fl_TOCLayout::addBlock(), fp_Container::addCon(), fp_TextRun::adjustCaretPosition(), fp_TextRun::adjustDeletePosition(), FL_DocLayout::AnchoredObjectHelper(), fl_Squiggles::clear(), FV_View::cmdAcceptRejectRevision(), FV_View::cmdCharDelete(), FV_View::cmdEditAnnotationWithDialog(), FV_View::cmdFindRevision(), FV_View::cmdHyperlinkJump(), FV_View::cmdHyperlinkStatusBar(), FV_View::cmdInsertBookmark(), FV_View::cmdInsertHyperlink(), FV_View::cmdInsertPositionedGraphic(), FV_View::cmdInsertTOC(), FV_View::cmdSelect(), FV_View::cmdSelectColumn(), FV_View::cmdTextToTable(), FL_DocLayout::considerSmartQuoteCandidateAt(), FV_View::convertInLineToPositioned(), FV_View::convertPositionedToInLine(), FV_View::countWords(), Defun(), doclistener_insertBlock(), doclistener_insertSection(), doclistener_insertSpan(), FV_View::doesSelectionContainRevision(), FL_DocLayout::fillTOC(), findNextTabStop(), findPointCoords(), fp_Line::getAnnotationContainers(), FV_View::getAttributes(), FV_View::getAttrPropForPoint(), FV_View::getBlocksInSelection(), fp_BookmarkRun::getBookmarkedDocPosition(), FV_View::getCharFormat(), fl_EmbedLayout::getContainingBlock(), FV_View::getEditableBounds(), fp_Page::getFirstLastPos(), fp_Line::getFootnoteContainers(), FV_View::getFrameLayout(), FV_FrameEdit::getFrameStrings(), FV_View::getHyperLinkRun(), FV_View::getInsertionPointContext(), getLength(), FV_View::getLineBounds(), getNextTableElement(), FV_View::getNumRowsInSelection(), fl_ContainerLayout::getPosition(), TOCEntry::getPositionInDoc(), FV_View::getSelectedImage(), FV_View::getSelectionText(), FV_View::getStyle(), FV_View::getTextBetweenPos(), FV_View::gotoTarget(), FV_View::insertAnnotation(), fp_Container::insertConAt(), FV_View::insertHeaderFooter(), IE_Imp_RTF::insertStrux(), FV_View::isInTable(), FV_View::isPointLegal(), AP_Dialog_Spell::makeWordVisible(), fp_TextRun::mapXYToPosition(), fp_ForcedPageBreakRun::mapXYToPosition(), fp_ForcedColumnBreakRun::mapXYToPosition(), fp_FieldRun::mapXYToPosition(), fp_ImageRun::mapXYToPosition(), fp_EndOfParagraphRun::mapXYToPosition(), fp_FieldEndRun::mapXYToPosition(), fp_FieldStartRun::mapXYToPosition(), fp_ForcedLineBreakRun::mapXYToPosition(), fp_TabRun::mapXYToPosition(), fp_MathRun::mapXYToPosition(), fp_DummyRun::mapXYToPosition(), fp_FmtMarkRun::mapXYToPosition(), fp_EmbedRun::mapXYToPosition(), fp_DirectionMarkerRun::mapXYToPosition(), FV_VisualInlineImage::mouseCut(), FV_FrameEdit::mouseRelease(), AP_TopRuler::mouseRelease(), AP_LeftRuler::mouseRelease(), prependList(), FV_View::processPageNumber(), FV_View::processSelectedBlocks(), FV_View::queryCharFormat(), remItemFromList(), resumeList(), AP_Dialog_Spell::runModal(), s_doHyperlinkDlg(), FV_View::selectAnnotation(), FV_View::setCellFormat(), FV_View::setCharFormat(), fp_TextRun::setDirOverride(), setDominantDirection(), FV_View::setStyleAtPos(), StartList(), StopListInBlock(), FV_View::toggleCase(), and updateOffsets().

fp_Run * fl_BlockLayout::findPointCoords ( PT_DocPosition  iPos,
bool  bEOL,
UT_sint32 x,
UT_sint32 y,
UT_sint32 x2,
UT_sint32 y2,
UT_sint32 height,
bool &  bDirection 
) const

fp_Run * fl_BlockLayout::findRunAtOffset ( UT_uint32  offset  )  const

bool fl_BlockLayout::getBlockBuf ( UT_GrowBuf pgb  )  const

void fl_BlockLayout::clearScreen ( GR_Graphics  )  const

void fl_BlockLayout::getStyle ( UT_UTF8String sStyle  )  const

UT_sint32 fl_BlockLayout::getTextIndent ( void   )  const

UT_sint32 fl_BlockLayout::getLeftMargin ( void   )  const [inline]

UT_sint32 fl_BlockLayout::getRightMargin ( void   )  const [inline]

UT_sint32 fl_BlockLayout::getTopMargin ( void   )  const [inline]

UT_sint32 fl_BlockLayout::getBottomMargin ( void   )  const [inline]

Referenced by fp_Line::getMarginAfter().

fb_Alignment* fl_BlockLayout::getAlignment ( void   )  const [inline]

virtual FL_DocLayout* fl_BlockLayout::getDocLayout ( void   )  const [inline, virtual]

virtual fl_SectionLayout* fl_BlockLayout::getSectionLayout ( void   )  const [inline, virtual]

fl_DocSectionLayout * fl_BlockLayout::getDocSectionLayout ( void   )  const [virtual]

This method returns the DocSectionLayout that this block is associated with

Reimplemented from fl_ContainerLayout.

References FL_SECTION_ANNOTATION, FL_SECTION_CELL, FL_SECTION_DOC, FL_SECTION_ENDNOTE, FL_SECTION_FOOTNOTE, FL_SECTION_FRAME, FL_SECTION_HDRFTR, FL_SECTION_SHADOW, FL_SECTION_TOC, fl_HdrFtrSectionLayout::getDocSectionLayout(), fl_ContainerLayout::getHdrFtrSectionLayout(), getSectionLayout(), fl_SectionLayout::getType(), fl_Layout::getType(), m_pSectionLayout, UT_ASSERT_HARMLESS, and UT_SHOULD_NOT_HAPPEN.

Referenced by fp_Line::_doClearScreenFromRunToEnd(), fp_ImageRun::_draw(), AP_UnixDialog_Lists::_gatherData(), FV_View::_insertSectionBreak(), fp_ImageRun::_lookupProperties(), fp_MathRun::_lookupProperties(), fp_EmbedRun::_lookupProperties(), _removeLine(), fp_Line::clearScreen(), FV_View::cmdFindRevision(), FV_View::cmdInsertPositionedGraphic(), collapse(), FV_View::createThisHdrFtr(), Defun(), Defun1(), Defun_EV_GetMenuItemState_Fn(), doclistener_changeStrux(), doclistener_deleteStrux(), doclistener_insertFrame(), doclistener_insertSection(), doclistener_insertSpan(), fl_BlockLayout(), format(), getEmbeddedOffset(), FV_VisualDragText::getImageFromSelection(), FV_View::getSectionFormat(), FV_View::getTextInCurrentSection(), fl_DocListener::populateStrux(), FV_View::populateThisHdrFtr(), FV_View::queryCharFormat(), fp_Line::recalcMaxWidth(), fp_Line::remove(), FV_View::removeThisHdrFtr(), AP_Dialog_Spell::runModal(), setFramesOnPage(), and shuffleEmbeddedIfNeeded().

void fl_BlockLayout::setSectionLayout ( fl_SectionLayout pSectionLayout  ) 

void fl_BlockLayout::getLineSpacing ( double &  dSpacing,
eSpacingPolicy eSpacing 
) const

References m_dLineSpacing, and m_eSpacingPolicy.

Referenced by fp_Line::recalcHeight().

UT_uint32 fl_BlockLayout::getProp_Orphans ( void   )  const [inline]

UT_uint32 fl_BlockLayout::getProp_Widows ( void   )  const [inline]

bool fl_BlockLayout::getProp_KeepTogether ( void   )  const [inline]

bool fl_BlockLayout::getProp_KeepWithNext ( void   )  const [inline]

UT_BidiCharType fl_BlockLayout::getDominantDirection ( void   )  const [inline]

Referenced by fp_Line::_createMapOfRuns(), fp_Line::_doClearScreenFromRunToEnd(), AP_TopRuler::_drawLeftIndentMarker(), AP_TopRuler::_drawParagraphProperties(), AP_TopRuler::_drawRightIndentMarker(), FV_View::_getMouseContext(), AP_TopRuler::_getParagraphMarkerRects(), AP_TopRuler::_getParagraphMarkerXCenters(), AP_TopRuler::_getTabStopXAnchor(), AP_TopRuler::_setTabStops(), fp_FieldRun::_setValue(), fp_Line::calculateWidthOfRun(), fp_Line::calculateWidthOfTrailingSpaces(), FV_View::cmdCharInsert(), fp_Line::countJustificationPoints(), Defun1(), AP_Lists_preview::draw(), formatWrappedFromHere(), fp_EndOfParagraphRun::fp_EndOfParagraphRun(), fp_FieldEndnoteAnchorRun::fp_FieldEndnoteAnchorRun(), fp_FieldEndnoteRefRun::fp_FieldEndnoteRefRun(), fp_FieldFootnoteAnchorRun::fp_FieldFootnoteAnchorRun(), fp_FieldFootnoteRefRun::fp_FieldFootnoteRefRun(), fp_FieldListLabelRun::fp_FieldListLabelRun(), fp_FieldTOCHeadingRun::fp_FieldTOCHeadingRun(), fp_FieldTOCListLabelRun::fp_FieldTOCListLabelRun(), fp_FieldTOCNumRun::fp_FieldTOCNumRun(), fp_Line::genOverlapRects(), getLeftRightForWrapping(), getNextWrappedLine(), fp_Run::getVisDirection(), fp_Line::getWorkingDirectionAndTabstops(), fb_Alignment_justify::initialize(), fb_Alignment_right::initialize(), fb_Alignment_left::initialize(), AP_TopRuler::isMouseOverTab(), fp_Line::justify(), fp_Line::layout(), fp_TextRun::mapXYToPosition(), AP_TopRuler::mouseMotion(), AP_TopRuler::mousePress(), AP_TopRuler::mouseRelease(), FV_View::processSelectedBlocks(), fp_Line::recalcMaxWidth(), sActualMoveLeft(), sActualMoveRight(), FV_View::setBlockIndents(), and AP_TopRuler::setTableLineDrag().

void fl_BlockLayout::setDominantDirection ( UT_BidiCharType  iDirection  ) 

bool fl_BlockLayout::isHdrFtr ( void   )  const

void fl_BlockLayout::setHdrFtr ( void   )  [inline]

Referenced by doclistener_insertBlock().

void fl_BlockLayout::clearHdrFtr ( void   )  [inline]

void fl_BlockLayout::debugFlashing ( void   ) 

Squiggle block being checked (for debugging)

Trivial background checker which puts on and takes off squiggles from the entire block that's being checked. This sort of messes up the spelling squiggles, but it's just a debug thing anyhow. Enable it by setting a preference DebugFlash="1"

References getBlockBuf(), UT_GrowBuf::getLength(), getView(), FV_View::updateScreen(), UT_ASSERT, UT_usleep, and xxx_UT_DEBUGMSG.

bool fl_BlockLayout::findNextTabStop ( UT_sint32  iStartX,
UT_sint32  iMaxX,
UT_sint32 iPosition,
eTabType iType,
eTabLeader iLeader 
) const

bool fl_BlockLayout::findPrevTabStop ( UT_sint32  iStartX,
UT_sint32  iMaxX,
UT_sint32 iPosition,
eTabType iType,
eTabLeader iLeader 
) const

bool fl_BlockLayout::hasUpdatableField ( void   )  [inline]

void fl_BlockLayout::setUpdatableField ( bool  bValue  )  [inline]

Referenced by fl_BlockLayout(), and format().

UT_sint32 fl_BlockLayout::getDefaultTabInterval ( void   )  const [inline]

UT_sint32 fl_BlockLayout::getTabsCount ( void   )  const [inline]

bool fl_BlockLayout::doclistener_populateSpan ( const PX_ChangeRecord_Span pcrs,
PT_BlockOffset  blockOffset,
UT_uint32  len 
)

bool fl_BlockLayout::doclistener_populateObject ( PT_BlockOffset  blockOffset,
const PX_ChangeRecord_Object pcro 
)

bool fl_BlockLayout::doclistener_insertSpan ( const PX_ChangeRecord_Span pcrs  ) 

References _assertRunListIntegrity(), _doInsertBookmarkRun(), _doInsertDirectionMarkerRun(), _doInsertFieldEndRun(), _doInsertFieldStartRun(), _doInsertForcedColumnBreakRun(), _doInsertForcedLineBreakRun(), _doInsertForcedPageBreakRun(), _doInsertTabRun(), _doInsertTextSpan(), FV_View::_setPoint(), PD_Document::beginUserAtomicGlob(), FL_DocLayout::bgcrSmartQuotes, FL_DocLayout::considerSmartQuoteCandidateAt(), doclistener_insertSpan(), PD_Document::endUserAtomicGlob(), format(), FPRUN_TEXT, PX_ChangeRecord_Span::getBlockOffset(), PX_ChangeRecord_Span::getBufIndex(), getDocSectionLayout(), fl_ContainerLayout::getFirstContainer(), getFirstRun(), UT_GenericVector< T >::getItemCount(), PX_ChangeRecord_Span::getLength(), FL_DocLayout::getMatchingBlocksFromTOCs(), fp_Run::getNextRun(), UT_GenericVector< T >::getNthItem(), FL_DocLayout::getOffsetForSmartQuote(), fp_Container::getPage(), FL_DocLayout::getPendingBlockForSmartQuote(), FV_View::getPoint(), PD_Document::getPointer(), PX_ChangeRecord::getPosition(), getPosition(), fl_ContainerLayout::getPrev(), fp_Run::getType(), PX_ChangeRecord::getType(), getView(), FL_DocLayout::hasBackgroundCheckReason(), FV_View::isActive(), PD_Document::isDoingPaste(), PD_Document::isDoingTheDo(), isNotTOCable(), FV_View::isPreview(), m_bIsTOC, m_bStyleInTOC, m_iNeedsReformat, fl_Layout::m_pDoc, m_pLayout, PX_ChangeRecord::PXT_InsertSpan, fl_DocSectionLayout::setNeedsSectionBreak(), FL_DocLayout::setPendingSmartQuote(), UCS_BOOKMARKEND, UCS_BOOKMARKSTART, UCS_FF, UCS_FIELDEND, UCS_FIELDSTART, UCS_LF, UCS_LRE, UCS_LRM, UCS_LRO, UCS_PDF, UCS_RLE, UCS_RLM, UCS_RLO, UCS_TAB, UCS_VTAB, FV_View::updateCarets(), updateEnclosingBlockIfNeeded(), UT_ASSERT, UT_isSmartQuotableCharacter(), UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.

Referenced by doclistener_insertSpan().

bool fl_BlockLayout::doclistener_deleteSpan ( const PX_ChangeRecord_Span pcrs  ) 

bool fl_BlockLayout::doclistener_changeSpan ( const PX_ChangeRecord_SpanChange pcrsc  ) 

bool fl_BlockLayout::doclistener_deleteStrux ( const PX_ChangeRecord_Strux pcrx  ) 

Delete strux Run

Parameters:
pcrx Change record for the operation
Returns:
true if succeeded, false if not This function will merge the content of this strux to the previous strux.

References _assertRunListIntegrity(), FV_View::_setPoint(), fl_ContainerLayout::addFrame(), FL_DocLayout::addOrRemoveBlockFromTOC(), FV_View::clearHdrFtrEdit(), clearScreen(), FL_CONTAINER_BLOCK, FL_CONTAINER_FRAME, FL_CONTAINER_TOC, format(), FPRUN_ENDOFPARAGRAPH, fp_Run::getBlockOffset(), fl_ContainerLayout::getContainerType(), fl_SectionLayout::getDocLayout(), getDocSectionLayout(), FV_View::getEditShadow(), fl_ContainerLayout::getFirstContainer(), getFirstRun(), FL_DocLayout::getGraphics(), fl_ContainerLayout::getLastContainer(), fl_ContainerLayout::getLastLayout(), fp_Run::getLength(), fp_Run::getLine(), fl_ContainerLayout::getNext(), fp_Run::getNextRun(), fl_ContainerLayout::getNthFrameLayout(), fl_ContainerLayout::getNumFrames(), fp_Container::getPage(), FV_View::getPoint(), PX_ChangeRecord::getPosition(), fl_ContainerLayout::getPrev(), fl_ContainerLayout::getPrevBlockInDocument(), getSectionLayout(), fl_Layout::getStruxDocHandle(), PX_ChangeRecord_Strux::getStruxType(), fp_Run::getType(), PX_ChangeRecord::getType(), FL_DocLayout::getView(), FV_View::isActive(), FL_DocLayout::isBlockInTOC(), FV_View::isHdrFtrEdit(), fl_AutoNum::isItem(), FV_View::isPreview(), fp_Run::lookupProperties(), fl_Layout::m_pAutoNum, m_pFirstRun, m_pLayout, fl_ContainerLayout::myContainingLayout(), PTX_Block, purgeLayout(), PX_ChangeRecord::PXT_DeleteStrux, fl_ContainerLayout::remove(), FL_DocLayout::removeBlockFromTOC(), fl_ContainerLayout::removeFrame(), fl_AutoNum::removeItem(), fp_Line::removeRun(), fp_Run::setBlock(), fp_Run::setBlockOffset(), fl_ContainerLayout::setNeedsRedraw(), setNeedsReformat(), fl_ContainerLayout::setNeedsReformat(), fl_DocSectionLayout::setNeedsSectionBreak(), fp_Run::setNextRun(), fp_Run::setPrevRun(), shuffleEmbeddedIfNeeded(), FV_View::updateCarets(), updateEnclosingBlockIfNeeded(), UT_ASSERT, UT_DEBUGMSG, and xxx_UT_DEBUGMSG.

bool fl_BlockLayout::doclistener_changeStrux ( const PX_ChangeRecord_StruxChange pcrxc  ) 

bool fl_BlockLayout::doclistener_insertFirstBlock ( const PX_ChangeRecord_Strux pcrx,
PL_StruxDocHandle  sdh,
PL_ListenerId  lid,
void(*)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew)  pfnBindHandles 
)

bool fl_BlockLayout::doclistener_insertBlock ( const PX_ChangeRecord_Strux pcrx,
PL_StruxDocHandle  sdh,
PL_ListenerId  lid,
void(*)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew)  pfnBindHandles 
)

bool fl_BlockLayout::doclistener_insertSection ( const PX_ChangeRecord_Strux pcrx,
SectionType  iType,
PL_StruxDocHandle  sdh,
PL_ListenerId  lid,
void(*)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew)  pfnBindHandles 
)

References _assertRunListIntegrity(), FV_View::_setPoint(), fl_ContainerLayout::add(), FL_DocLayout::addHdrFtrSection(), fl_DocSectionLayout::collapse(), fl_ContainerLayout::collapse(), fl_HdrFtrSectionLayout::collapseBlock(), FL_DocLayout::findSectionForHdrFtr(), fl_BLOCK_STRUX_OFFSET, FL_CONTAINER_ANNOTATION, FL_CONTAINER_BLOCK, FL_CONTAINER_ENDNOTE, FL_CONTAINER_FOOTNOTE, FL_CONTAINER_FRAME, FL_CONTAINER_TOC, FL_HDRFTR_FOOTER, FL_HDRFTR_FOOTER_EVEN, FL_HDRFTR_FOOTER_FIRST, FL_HDRFTR_FOOTER_LAST, FL_HDRFTR_HEADER, FL_HDRFTR_HEADER_EVEN, FL_HDRFTR_HEADER_FIRST, FL_HDRFTR_HEADER_LAST, FL_HDRFTR_NONE, FL_SECTION_ANNOTATION, FL_SECTION_DOC, FL_SECTION_ENDNOTE, FL_SECTION_FOOTNOTE, FL_SECTION_HDRFTR, FL_SECTION_TOC, fl_ContainerLayout::format(), gchar, PP_AttrProp::getAttribute(), PD_Document::getAttrProp(), PD_Document::getBounds(), fl_ContainerLayout::getContainerType(), getDocSectionLayout(), fl_ContainerLayout::getFirstContainer(), PX_ChangeRecord::getIndexAP(), fl_ContainerLayout::getNext(), fl_DocSectionLayout::getNextDocSection(), FV_View::getPoint(), PX_ChangeRecord::getPosition(), getPosition(), fl_ContainerLayout::getPrev(), getSectionLayout(), fl_Layout::getStruxDocHandle(), PD_Document::getStruxPosition(), PX_ChangeRecord_Strux::getStruxType(), fl_SectionLayout::getType(), PX_ChangeRecord::getType(), getView(), fl_ContainerLayout::insert(), FL_DocLayout::insertSectionAfter(), FV_View::isActive(), isHdrFtr(), FV_View::isPreview(), m_iNeedsReformat, fl_Layout::m_pDoc, m_pLayout, m_pSectionLayout, PTX_Section, PTX_SectionAnnotation, PTX_SectionFootnote, PTX_SectionHdrFtr, PX_ChangeRecord::PXT_InsertStrux, fl_ContainerLayout::redrawUpdate(), fl_ContainerLayout::remove(), fl_HdrFtrSectionLayout::setDocSectionLayout(), fl_DocSectionLayout::setHdrFtr(), fl_HdrFtrSectionLayout::setHdrFtr(), fl_ContainerLayout::setLastLayout(), fl_DocSectionLayout::setNeedsSectionBreak(), fl_ContainerLayout::setNext(), setSectionLayout(), FV_View::updateCarets(), fl_DocSectionLayout::updateDocSection(), updateEnclosingBlockIfNeeded(), UT_ASSERT, UT_DEBUGMSG, UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, UT_UNUSED, and xxx_UT_DEBUGMSG.

fl_SectionLayout * fl_BlockLayout::doclistener_insertTable ( const PX_ChangeRecord_Strux pcrx,
SectionType  iType,
PL_StruxDocHandle  sdh,
PL_ListenerId  lid,
void(*)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew)  pfnBindHandles 
)

fl_SectionLayout * fl_BlockLayout::doclistener_insertFrame ( const PX_ChangeRecord_Strux pcrx,
SectionType  iType,
PL_StruxDocHandle  sdh,
PL_ListenerId  lid,
void(*)(PL_StruxDocHandle sdhNew, PL_ListenerId lid, PL_StruxFmtHandle sfhNew)  pfnBindHandles 
)

bool fl_BlockLayout::doclistener_insertObject ( const PX_ChangeRecord_Object pcro  ) 

bool fl_BlockLayout::doclistener_deleteObject ( const PX_ChangeRecord_Object pcro  ) 

bool fl_BlockLayout::doclistener_changeObject ( const PX_ChangeRecord_ObjectChange pcroc  ) 

bool fl_BlockLayout::doclistener_insertFmtMark ( const PX_ChangeRecord_FmtMark pcrfm  ) 

bool fl_BlockLayout::doclistener_deleteFmtMark ( const PX_ChangeRecord_FmtMark pcrfm  ) 

bool fl_BlockLayout::doclistener_changeFmtMark ( const PX_ChangeRecord_FmtMarkChange pcrfmc  ) 

void fl_BlockLayout::purgeLayout ( void   ) 

void fl_BlockLayout::collapse ( void   )  [virtual]

virtual bool fl_BlockLayout::isCollapsed ( void   )  const [inline, virtual]

Implements fl_ContainerLayout.

Referenced by fl_FrameLayout::format().

void fl_BlockLayout::coalesceRuns ( void   )  const

void fl_BlockLayout::setNeedsReformat ( fl_ContainerLayout pCL,
UT_uint32  offset = 0 
) [virtual]

bool fl_BlockLayout::needsReformat ( void   )  const [inline, virtual]

void fl_BlockLayout::setNeedsRedraw ( void   )  [virtual]

virtual bool fl_BlockLayout::needsRedraw ( void   )  const [inline, virtual]

Implements fl_ContainerLayout.

void fl_BlockLayout::markAllRunsDirty ( void   )  [virtual]

UT_sint32 fl_BlockLayout::findLineInBlock ( fp_Line pLine  )  const

bool fl_BlockLayout::isWordDelimiter ( UT_UCS4Char  c,
UT_UCS4Char  next,
UT_UCS4Char  prev,
UT_uint32  iBlockPos 
) const

bool fl_BlockLayout::isSentenceSeparator ( UT_UCS4Char  c,
UT_uint32  iBlockPos 
) const

void fl_BlockLayout::setStyleInTOC ( bool  b  )  [inline]

void fl_BlockLayout::forceSectionBreak ( void   ) 

Force a sectionBreak by setting StartHeight to a ridiculus value

References m_bForceSectionBreak.

Referenced by fp_Line::recalcHeight(), and fp_Line::removeRun().

bool fl_BlockLayout::isContainedByTOC ( void   )  const [inline]

FootnoteType fl_BlockLayout::getTOCNumType ( void   )  const

eTabLeader fl_BlockLayout::getTOCTabLeader ( UT_sint32  iOff  )  const

UT_sint32 fl_BlockLayout::getTOCTabPosition ( UT_sint32  iOff  )  const

void fl_BlockLayout::setAccumHeight ( UT_sint32  i  )  [inline]

UT_sint32 fl_BlockLayout::getAccumHeight ( void   )  const [inline]

bool fl_BlockLayout::s_EnumTabStops ( void *  myThis,
UT_uint32  k,
fl_TabStop pTabInfo 
) [static]

void fl_BlockLayout::addBackgroundCheckReason ( UT_uint32  reason  )  [inline]

void fl_BlockLayout::removeBackgroundCheckReason ( UT_uint32  reason  )  [inline]

bool fl_BlockLayout::hasBackgroundCheckReason ( UT_uint32  reason  )  const [inline]

void fl_BlockLayout::setPrevListLabel ( bool  b  )  [inline]

Referenced by fp_Run::fp_Run().

bool fl_BlockLayout::getNextTableElement ( UT_GrowBuf buf,
PT_DocPosition  startPos,
PT_DocPosition begPos,
PT_DocPosition endPos,
UT_UTF8String sWord,
bool  bIgnoreSpace 
) const

This Method searches for the next piece of of the block that could be used for texttotable conversions.

Returns:
true if a valid piece of text was found and there is more, false otherwise
Parameters:
buf reference to a growbug containing the text in the block
startPos - start search from this position
begPos - first character of the word
endPos - Last character of the word
sWord - UTF8 string containing the word
If true do not use a space as a delimiter.

References UT_GrowBuf::getLength(), UT_GrowBuf::getPointer(), getPosition(), PD_Document::isEndFootnoteAtPos(), PD_Document::isFootnoteAtPos(), fl_Layout::m_pDoc, UCS_SPACE, UCS_TAB, UCS_UNKPUNK, UT_isWordDelimiter(), and xxx_UT_DEBUGMSG.

Referenced by FV_View::cmdTextToTable().

bool fl_BlockLayout::itemizeSpan ( PT_BlockOffset  blockOffset,
UT_uint32  len,
GR_Itemization I 
)

bool fl_BlockLayout::_canContainPoint (  )  const [private, virtual]

Reimplemented from fl_ContainerLayout.

References isContainedByTOC().

void fl_BlockLayout::_recalcPendingWord ( UT_uint32  iOffset,
UT_sint32  chg 
) const [protected]

bool fl_BlockLayout::_doCheckWord ( fl_PartOfBlock pPOB,
const UT_UCSChar pBlockText,
UT_sint32  iLength,
bool  bAddSquiggle = true,
bool  bClearScreen = true 
) const [protected]

bool fl_BlockLayout::_truncateLayout ( fp_Run pTruncRun  )  [protected]

Truncate layout from the specified Run

Parameters:
pTruncRun First Run to be truncated
Returns:
True
This will remove all Runs starting from pTruncRun to the last Run on the block from their lines (and delete them from the display).

Note:
The Run list may be inconsistent when this function is called, so no assertion.

References _removeAllEmptyLines(), fp_Run::clearScreen(), fp_Line::clearScreen(), fp_Line::clearScreenFromRunToEnd(), fp_Run::getLine(), fp_Container::getNext(), fp_Run::getNextRun(), isHdrFtr(), m_pFirstRun, and fp_Line::removeRun().

Referenced by doclistener_insertBlock().

void fl_BlockLayout::_assertRunListIntegrityImpl ( void   )  const [protected]

Assert integrity of the Run list Assert the following properties:

  • Offsets are correct
  • No adjacent FmtMark Runs
  • Only FmtMark Runs have length zero
  • List ends in an EOP Run

References FPRUN_DUMMY, FPRUN_ENDOFPARAGRAPH, FPRUN_FIELD, FPRUN_FMTMARK, FPRUN_TAB, fp_Run::getBlockOffset(), FL_DocLayout::getDocument(), fp_Run::getLength(), fp_Run::getNextRun(), fp_Run::getPrevRun(), fl_Layout::getStruxDocHandle(), fp_Run::getType(), isContainedByTOC(), m_pFirstRun, m_pLayout, PD_Document::miniDump(), UT_ASSERT, UT_return_if_fail, and xxx_UT_DEBUGMSG.

Referenced by _assertRunListIntegrity().

void fl_BlockLayout::_assertRunListIntegrity ( void   )  const [inline, protected]

void fl_BlockLayout::_mergeRuns ( fp_Run pFirstRunToMerge,
fp_Run pLastRunToMerge 
) const [protected]

bool fl_BlockLayout::_doInsertRun ( fp_Run pNewRun  )  [protected]

bool fl_BlockLayout::_delete ( PT_BlockOffset  blockOffset,
UT_uint32  len 
) [protected]

bool fl_BlockLayout::_doInsertTextSpan ( PT_BlockOffset  blockOffset,
UT_uint32  len 
) [protected]

bool fl_BlockLayout::_doInsertForcedLineBreakRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertFieldStartRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertFieldEndRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertBookmarkRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertHyperlinkRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertAnnotationRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertMathRun ( PT_BlockOffset  blockOffset,
PT_AttrPropIndex  indexAP,
PL_ObjectHandle  oh 
) [protected]

bool fl_BlockLayout::_doInsertEmbedRun ( PT_BlockOffset  blockOffset,
PT_AttrPropIndex  indexAP,
PL_ObjectHandle  oh 
) [protected]

bool fl_BlockLayout::_doInsertForcedColumnBreakRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertForcedPageBreakRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertTabRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertTOCTabRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertTOCListLabelRun ( PT_BlockOffset  blockOffset  )  [protected]

TOC List label run. It has zero length since it's not in the document.

References fp_Run::getLine(), fp_Run::insertIntoRunListBeforeThis(), fp_Line::insertRunBefore(), m_pFirstRun, and fp_Run::markWidthDirty().

Referenced by fl_TOCLayout::_createAndFillTOCEntry().

bool fl_BlockLayout::_doInsertTOCHeadingRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertTOCListTabRun ( PT_BlockOffset  blockOffset  )  [protected]

Special TAB that follows a TOCListLabel. It has zero length since it's not in the document.

References fp_Run::getLine(), fp_Run::insertIntoRunListBeforeThis(), fp_Line::insertRunBefore(), m_pFirstRun, fp_Run::markWidthDirty(), and UT_ASSERT.

Referenced by fl_TOCLayout::_createAndFillTOCEntry().

bool fl_BlockLayout::_doInsertImageRun ( PT_BlockOffset  blockOffset,
FG_Graphic pFG,
PL_ObjectHandle  oh 
) [protected]

bool fl_BlockLayout::_doInsertFieldRun ( PT_BlockOffset  blockOffset,
const PX_ChangeRecord_Object pcro 
) [protected]

bool fl_BlockLayout::_doInsertFieldTOCRun ( PT_BlockOffset  blockOffset  )  [protected]

bool fl_BlockLayout::_doInsertDirectionMarkerRun ( PT_BlockOffset  blockOffset,
UT_UCS4Char  iM 
) [protected]

bool fl_BlockLayout::_deleteFmtMark ( PT_BlockOffset  blockOffset  )  [protected]

Delete FmtMarkRun

Parameters:
blockOffset Offset of Run to delete
Returns:
True
Deleting a FmtMarkRun is a special version of _delete() since a FmtMarkRun has a length of zero.

FmtMarkRun should not have a length of zero - jskov

References _insertEndOfParagraphRun(), FPRUN_FMTMARK, fp_Run::getBlockOffset(), fp_Run::getLine(), fp_Run::getNextRun(), fp_Run::getType(), m_pFirstRun, fp_Line::removeRun(), fp_Run::unlinkFromRunList(), UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.

Referenced by doclistener_deleteFmtMark().

void fl_BlockLayout::_lookupProperties ( const PP_AttrProp pBlockAP  )  [protected, virtual]