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

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 (pf_Frag_Strux *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
std::unique_ptr< 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 (bool b_withMargins=true)
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 (PP_PropertyVector &va) const
void getListPropertyVector (PP_PropertyVector &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, pf_Frag_Strux *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)
const 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, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
bool doclistener_insertBlock (const PX_ChangeRecord_Strux *pcrx, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
bool doclistener_insertSection (const PX_ChangeRecord_Strux *pcrx, SectionType iType, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
fl_SectionLayoutdoclistener_insertTable (const PX_ChangeRecord_Strux *pcrx, SectionType iType, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
fl_SectionLayoutdoclistener_insertFrame (const PX_ChangeRecord_Strux *pcrx, SectionType iType, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *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, UT_uint32 iDelim) const
bool itemizeSpan (PT_BlockOffset blockOffset, UT_uint32 len, GR_Itemization &I)
const UT_RGBColor getShadingingForeColor (void) const
const UT_RGBColor getShadingingBackColor (void) const
UT_sint32 getPattern (void) const
const PP_PropertyMap::LinegetBottom () const
const PP_PropertyMap::LinegetLeft () const
const PP_PropertyMap::LinegetRight () const
const PP_PropertyMap::LinegetTop () const
bool hasBorders (void) const
bool canMergeBordersWithPrev (void) const
bool canMergeBordersWithNext (void) const
void setLineHeightBlockWithBorders (int whichLine=0)
 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 (const fl_PartOfBlockPtr &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 _doInsertRDFAnchorRun (PT_BlockOffset blockOffset)
 Note that _doInsertHyperlinkRun(), _doInsertAnnotationRun, and _doInsertRDFAnchorRun() all work on contained information.
void _finishInsertHyperlinkedNewRun (PT_BlockOffset blockOffset, fp_HyperlinkRun *pNewRun)
bool _doInsertMathRun (PT_BlockOffset blockOffset, PT_AttrPropIndex indexAP, pf_Frag_Object *oh)
bool _doInsertEmbedRun (PT_BlockOffset blockOffset, PT_AttrPropIndex indexAP, pf_Frag_Object *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_GraphicPtr &&pFG, pf_Frag_Object *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
UT_RGBColor m_ShadingForeColor
UT_RGBColor m_ShadingBackColor
UT_sint32 m_iPattern
PP_PropertyMap::Line m_lineBottom
PP_PropertyMap::Line m_lineLeft
PP_PropertyMap::Line m_lineRight
PP_PropertyMap::Line m_lineTop
bool m_bCanMergeBordersWithNext
bool m_bHasBorders

Private Member Functions

virtual bool _canContainPoint () const

Private Attributes

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 ( FL_DocLayout l  )  [inline]
fl_BlockLayout::fl_BlockLayout ( FL_DocLayout l  )  [inline]

Member Function Documentation

void fl_BlockLayout::_addBlockToPrevList ( fl_BlockLayout prevBlockInList,
UT_uint32  level 
) [inline, protected]
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_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().

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

Reimplemented from fl_ContainerLayout.

References isContainedByTOC().

bool fl_BlockLayout::_checkMultiWord ( UT_sint32  iStart,
UT_sint32  eor,
bool  bToggleIP 
) const [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(), 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().

bool fl_BlockLayout::_doCheckWord ( const fl_PartOfBlockPtr pPOB,
const UT_UCSChar pBlockText,
UT_sint32  iLength,
bool  bAddSquiggle = true,
bool  bClearScreen = true 
) const [protected]
bool fl_BlockLayout::_doInsertAnnotationRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertBookmarkRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertDirectionMarkerRun ( PT_BlockOffset  blockOffset,
UT_UCS4Char  iM 
) [protected]
bool fl_BlockLayout::_doInsertEmbedRun ( PT_BlockOffset  blockOffset,
PT_AttrPropIndex  indexAP,
pf_Frag_Object oh 
) [protected]
bool fl_BlockLayout::_doInsertFieldEndRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertFieldStartRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertFieldTOCRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertForcedColumnBreakRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertForcedLineBreakRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertHyperlinkRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertImageRun ( PT_BlockOffset  blockOffset,
FG_GraphicPtr &&  pFG,
pf_Frag_Object oh 
) [protected]
bool fl_BlockLayout::_doInsertMathRun ( PT_BlockOffset  blockOffset,
PT_AttrPropIndex  indexAP,
pf_Frag_Object oh 
) [protected]
bool fl_BlockLayout::_doInsertRDFAnchorRun ( PT_BlockOffset  blockOffset  )  [protected]

Note that _doInsertHyperlinkRun(), _doInsertAnnotationRun, and _doInsertRDFAnchorRun() all work on contained information.

Each of these methods use setHyperlink() on the runs.

References _doInsertRun(), _finishInsertHyperlinkedNewRun(), isContainedByTOC(), and UT_ASSERT.

Referenced by doclistener_insertObject(), and doclistener_populateObject().

bool fl_BlockLayout::_doInsertTabRun ( PT_BlockOffset  blockOffset  )  [protected]
bool fl_BlockLayout::_doInsertTOCHeadingRun ( 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::_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::_doInsertTOCTabRun ( PT_BlockOffset  blockOffset  )  [protected]
void fl_BlockLayout::_finishInsertHyperlinkedNewRun ( PT_BlockOffset  blockOffset,
fp_HyperlinkRun pNewRun 
) [protected]
UT_uint32 fl_BlockLayout::_getLastChar (  )  [protected]
void fl_BlockLayout::_insertEndOfParagraphRun ( void   )  [protected]

Add end-of-paragraph Run to block

This function adds the EOP Run to the block. The presence of the EOP is an invariant (except for when merging / splitting blocks) and ensures that the cursor can always be placed on the last line of a block. If there are multiple lines, the first N-1 lines will have a forced break of some kind which can also hold the cursor.

References _assertRunListIntegrity(), fp_Line::addRun(), fp_Line::countRuns(), FP_HIDDEN_FOLDED, FP_HIDDEN_REVISION, FP_HIDDEN_REVISION_AND_TEXT, FP_HIDDEN_TEXT, fl_ContainerLayout::getFirstContainer(), getNewContainer(), FV_View::getShowPara(), getView(), fl_ContainerLayout::isHidden(), fp_Line::layout(), m_bIsCollapsed, m_bNeedsRedraw, m_pFirstRun, and UT_ASSERT.

Referenced by _delete(), _deleteFmtMark(), doclistener_insertBlock(), fl_BlockLayout(), and format().

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

this function is only to be called by fl_ContainerLayout::lookupProperties() all other code must call lookupProperties() instead

Implements fl_ContainerLayout.

References _deleteListLabel(), FL_DocLayout::addOrRemoveBlockFromTOC(), fp_TextRun::breakMeAtDirBoundaries(), buildTabStops(), UT_String::c_str(), DELETEP, GR_Graphics::DGP_PAPER, gchar, fl_ContainerLayout::getAP(), PP_AttrProp::getAttribute(), FV_View::getBidiOrder(), fl_ContainerLayout::getContainerType(), PP_PropertyTypeSize::getDim(), fl_ContainerLayout::getDocSectionLayout(), fp_FieldRun::getFieldType(), getFirstRun(), fl_ContainerLayout::getFoldedLevel(), FL_DocLayout::getGraphics(), fl_ContainerLayout::getLastContainer(), fp_Line::getLastRun(), PD_Document::getListByID(), getListTypeFromStyle(), getNextList(), fp_Run::getNextRun(), getParentItem(), getPreviousList(), PP_AttrProp::getProperty(), getProperty(), getPropertyType(), GR_Graphics::getResolution(), getSectionLayout(), fl_Layout::getStruxDocHandle(), getTextIndent(), fl_SectionLayout::getType(), fb_Alignment::getType(), fp_Run::getType(), PP_PropertyTypeSize::getValue(), PP_PropertyTypeInt::getValue(), getView(), FV_View::getViewMode(), GR_Graphics::getZoomPercentage(), id, isNotTOCable(), fp_Run::lookupProperties(), m_bCanMergeBordersWithNext, m_bHasBorders, m_bIsTOC, m_bKeepTogether, m_bKeepWithNext, m_bListItem, m_bStartList, m_bStopList, m_bStyleInTOC, m_dLineSpacing, m_eSpacingPolicy, m_iBottomMargin, m_iDefaultTabInterval, m_iDomDirection, m_iLeftMargin, m_iOrphansProperty, m_iPattern, m_iRightMargin, m_iTextIndent, m_iTopMargin, m_iWidowsProperty, m_lineBottom, m_lineLeft, m_lineRight, m_lineTop, m_pAlignment, fl_Layout::m_pAutoNum, fl_Layout::m_pDoc, m_pLayout, m_pSectionLayout, m_ShadingBackColor, m_ShadingForeColor, m_szStyle, PP_PropertyMap::Line::m_t_linestyle, m_vecTabs, fl_ContainerLayout::myContainingLayout(), PP_evalProperty(), Property_type_int, Property_type_size, PT_LEVEL_ATTRIBUTE_NAME, PT_LISTID_ATTRIBUTE_NAME, PT_PARENTID_ATTRIBUTE_NAME, PT_STYLE_ATTRIBUTE_NAME, GR_Graphics::queryProperties(), FL_DocLayout::removeBlockFromTOC(), PD_Document::removeList(), s_border_properties(), UT_RGBColor::setColor(), fp_Run::setDirection(), fp_Run::setVisDirection(), style, UT_ASSERT, UT_ASSERT_HARMLESS, UT_BIDI_IGNORE, UT_BIDI_LTR, UT_BIDI_UNSET, UT_convertDimensionless(), UT_convertSizeToLayoutUnits(), UT_convertToLogicalUnits(), UT_DEBUGMSG, UT_hasDimensionComponent(), UT_return_if_fail, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.

void fl_BlockLayout::_mergeRuns ( fp_Run pFirstRunToMerge,
fp_Run pLastRunToMerge 
) const [protected]
static void fl_BlockLayout::_prefsListener ( XAP_Prefs pPrefs,
UT_StringPtrMap ,
void *  data 
) [static, protected]
void fl_BlockLayout::_prependBlockToPrevList ( fl_BlockLayout nextBlockInList  )  [inline, protected]
void fl_BlockLayout::_purgeEndOfParagraphRun ( void   )  [protected]

Remove end-of-paragraph Run from block

This function does the opposite of the _insertEndOfParagraphRun function.

Note:
It should only be called by functions that do really low-level handling of blocks and only on newly created blocks.

References _assertRunListIntegrity(), FPRUN_ENDOFPARAGRAPH, fl_ContainerLayout::getFirstContainer(), fp_Run::getType(), m_pFirstRun, fl_ContainerLayout::setFirstContainer(), fl_ContainerLayout::setLastContainer(), and UT_ASSERT.

Referenced by doclistener_insertBlock().

void fl_BlockLayout::_recalcPendingWord ( UT_uint32  iOffset,
UT_sint32  chg 
) const [protected]
void fl_BlockLayout::_removeAllEmptyLines ( void   )  [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::addBackgroundCheckReason ( UT_uint32  reason  )  [inline]
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(), 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().

UT_uint32 fl_BlockLayout::canSlurp ( fp_Line pLine  )  const
void fl_BlockLayout::clearHdrFtr ( void   )  [inline]
void fl_BlockLayout::clearPrint ( void   )  const
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.

FL_ListType fl_BlockLayout::decodeListType ( char *  listformat  )  const
void fl_BlockLayout::deleteListLabel ( void   ) 
void fl_BlockLayout::dequeueFromSpellCheck ( void   ) 
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_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(), FV_View::isPreview(), fp_Run::lookupProperties(), fl_Layout::m_pAutoNum, m_pFirstRun, m_pLayout, fl_ContainerLayout::myContainingLayout(), purgeLayout(), fl_ContainerLayout::remove(), FL_DocLayout::removeBlockFromTOC(), fl_ContainerLayout::removeFrame(), 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_insertBlock ( const PX_ChangeRecord_Strux pcrx,
pf_Frag_Strux sdh,
PL_ListenerId  lid,
void(*)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew)  pfnBindHandles 
)

References _assertRunListIntegrity(), _insertEndOfParagraphRun(), _purgeEndOfParagraphRun(), FV_View::_setPoint(), _stuffAllRunsOnALine(), _truncateLayout(), fl_ContainerLayout::addFrame(), fp_Line::addRun(), UT_String::c_str(), PD_Document::changeStruxFmt(), coalesceRuns(), collapse(), DIM_IN, FL_DocLayout::findPage(), gchar, fl_ContainerLayout::getAP(), fp_Run::getBlockOffset(), fp_Line::getColumn(), fl_ContainerLayout::getContainerType(), getDocLayout(), fl_ContainerLayout::getFirstContainer(), fl_FrameLayout::getFramePositionTo(), fp_Line::getHeight(), PX_ChangeRecord::getIndexAP(), fl_ContainerLayout::getLastContainer(), fp_Run::getLength(), fp_Run::getLine(), fp_Line::getMarginAfter(), fl_ContainerLayout::getNext(), fp_Run::getNextRun(), fl_ContainerLayout::getNthFrameLayout(), fl_ContainerLayout::getNumFrames(), fp_FrameContainer::getPage(), fp_Line::getPage(), FV_View::getPoint(), fl_ContainerLayout::getPosition(), getPosition(), PX_ChangeRecord::getPosition(), fl_ContainerLayout::getPrev(), fp_Container::getPrev(), fp_Run::getPrevRun(), PP_AttrProp::getProperty(), getSectionLayout(), PX_ChangeRecord_Strux::getStruxType(), fp_Run::getType(), PX_ChangeRecord::getType(), getView(), fp_ContainerObject::getWidth(), fp_FrameContainer::getX(), fp_ContainerObject::getX(), fp_Line::getX(), fp_FrameContainer::getY(), fp_ContainerObject::getY(), fp_Line::getY(), FV_View::isActive(), PD_Document::isDoingTheDo(), isHdrFtr(), FV_View::isPreview(), fl_Layout::m_pDoc, m_pFirstRun, m_pLayout, fl_ContainerLayout::myContainingLayout(), PTC_AddFmt, PTX_SectionFrame, FL_DocLayout::relocateFrame(), fl_ContainerLayout::removeFrame(), fp_Run::setBlockOffset(), setHdrFtr(), setNeedsReformat(), fp_Run::setNextRun(), fp_Run::setPrevRun(), shuffleEmbeddedIfNeeded(), FV_View::updateCarets(), updateEnclosingBlockIfNeeded(), UT_ASSERT, UT_convertToInches(), UT_DEBUGMSG, UT_formatDimensionString(), UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.

bool fl_BlockLayout::doclistener_insertSection ( const PX_ChangeRecord_Strux pcrx,
SectionType  iType,
pf_Frag_Strux sdh,
PL_ListenerId  lid,
void(*)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *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_ENDNOTE, FL_CONTAINER_FOOTNOTE, FL_CONTAINER_TOC, 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, 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.

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(), 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, 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().

void fl_BlockLayout::enqueueToSpellCheckAfter ( fl_BlockLayout prev  ) 
void fl_BlockLayout::enqueueToSpellCheckAfter ( fl_BlockLayout prev  ) 
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
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().

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(), FL_CONTAINER_CELL, FL_CONTAINER_DOCSECTION, FL_CONTAINER_FRAME, fl_ContainerLayout::format(), FP_HIDDEN_FOLDED, 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(), fl_CellLayout::isDoingFormat(), fl_ContainerLayout::isHidden(), FL_DocLayout::isLayoutFilling(), isListLabelInBlock(), isNotTOCable(), fp_Line::layout(), fp_Run::lookupProperties(), m_bForceSectionBreak, 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::formatAll ( void   ) 

References format(), and m_iNeedsReformat.

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

Reformat a block from the line given.

References _removeAllEmptyLines(), _removeLine(), fp_Line::addRun(), fb_LineBreaker::breakParagraph(), fp_Container::findCon(), 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, and xxx_UT_DEBUGMSG.

Referenced by fp_Page::updatePageForWrapping().

UT_sint32 fl_BlockLayout::getAccumHeight ( void   )  const [inline]
fb_Alignment* fl_BlockLayout::getAlignment ( void   )  const [inline]
const PP_PropertyMap::Line& fl_BlockLayout::getBottom (  )  const [inline]
UT_sint32 fl_BlockLayout::getBottomMargin ( void   )  const [inline]

Referenced by fp_Line::getMarginAfter().

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

Reimplemented from fl_ContainerLayout.

Referenced by fp_TextRun::_draw(), fp_ImageRun::_draw(), fp_EndOfParagraphRun::_draw(), fp_ForcedLineBreakRun::_draw(), fp_TabRun::_draw(), fp_MathRun::_draw(), fp_DirectionMarkerRun::_draw(), fp_TextRun::_drawInvisibleSpaces(), fp_Run::_inheritProperties(), fp_TextRun::_lookupProperties(), fp_FieldRun::_lookupProperties(), fp_ImageRun::_lookupProperties(), fp_EndOfParagraphRun::_lookupProperties(), fp_ForcedLineBreakRun::_lookupProperties(), fp_TabRun::_lookupProperties(), fp_RDFAnchorRun::_lookupProperties(), fp_MathRun::_lookupProperties(), fp_DummyRun::_lookupProperties(), fp_FmtMarkRun::_lookupProperties(), fp_EmbedRun::_lookupProperties(), fp_DirectionMarkerRun::_lookupProperties(), fp_AnnotationRun::_lookupProperties(), fp_AnnotationRun::_setValue(), fp_FieldTOCNumRun::calculateValue(), fp_FieldTableSumCols::calculateValue(), fp_FieldTableSumRows::calculateValue(), fp_FieldListLabelRun::calculateValue(), fl_Squiggles::clear(), fp_Run::displayAnnotations(), fp_Run::displayRDFAnchors(), doclistener_insertBlock(), fp_Run::draw(), fp_ImageRun::fp_ImageRun(), fp_Run::fp_Run(), fp_Line::getAnnotationContainers(), fp_Run::getAscent(), FV_View::getBlockFromSDH(), fp_Run::getDescent(), fp_Run::getFGColor(), fp_Line::getFootnoteContainers(), fp_Run::getGraphics(), fl_Squiggles::join(), fp_ImageRun::regenerateImage(), setFramesOnPage(), fl_Squiggles::split(), fl_Squiggles::textDeleted(), fl_Squiggles::textInserted(), and fl_Squiggles::textRevised().

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().

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_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().

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_TOCLayout::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().

char * fl_BlockLayout::getFormatFromListType ( FL_ListType  iListType  )  const
UT_sint32 fl_BlockLayout::getHeightOfBlock ( bool  b_withMargins = true  ) 
const PP_PropertyMap::Line& fl_BlockLayout::getLeft (  )  const [inline]
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().

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

References m_dLineSpacing, and m_eSpacingPolicy.

Referenced by fp_Line::recalcHeight().

const UT_UCSChar * fl_BlockLayout::getListLabel ( void   )  const
void fl_BlockLayout::getListPropertyVector ( PP_PropertyVector vp  )  const
FL_ListType fl_BlockLayout::getListType ( void   )  const
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().

fl_BlockLayout * fl_BlockLayout::getNextList ( UT_uint32  id  )  const
bool fl_BlockLayout::getNextTableElement ( UT_GrowBuf buf,
PT_DocPosition  startPos,
PT_DocPosition begPos,
PT_DocPosition endPos,
UT_UTF8String sWord,
UT_uint32  iDelim 
) 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
delim,: use tab (0), comma (1), space (2) or all (>2) as delimiters

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.

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 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().

fl_BlockLayout * fl_BlockLayout::getParentItem ( void   )  const
UT_sint32 fl_BlockLayout::getPattern ( void   )  const

References m_iPattern.

Referenced by fp_Line::draw(), and fp_Line::setBlock().

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_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(), AP_Dialog_Paragraph::_createPreviewFromGC(), fp_FieldRun::_defaultDraw(), FV_View::_deleteBookmark(), FV_View::_deleteHyperlink(), _deleteListLabel(), FV_View::_deleteSelection(), FV_View::_deleteXMLID(), fp_TextRun::_draw(), fp_ImageRun::_draw(), fp_EndOfParagraphRun::_draw(), fp_ForcedLineBreakRun::_draw(), fp_TabRun::_draw(), fp_RDFAnchorRun::_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::cmdFindRevision(), FV_View::cmdHyperlinkJump(), FV_View::cmdHyperlinkStatusBar(), 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(), Defun_EV_GetToolbarItemState_Fn(), doclistener_insertBlock(), doclistener_insertSection(), doclistener_insertSpan(), FV_View::doesSelectionContainRevision(), fl_TOCLayout::fillTOC(), findNextTabStop(), findPointCoords(), fp_Line::getAnnotationContainers(), FV_View::getAttributes(), FV_View::getAttrPropForPoint(), FV_View::getBlocksInSelection(), fp_BookmarkRun::getBookmarkedDocPosition(), FV_View::getCharFormat(), FV_View::getCmdInsertRangeVariables(), 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(), FV_View::insertAnnotationDescription(), 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(), FL_DocLayout::relocateFrame(), remItemFromList(), resumeList(), AP_Dialog_Spell::runModal(), s_doFormatImageDlg(), s_doHyperlinkDlg(), FV_View::selectAnnotation(), FV_View::setBlockFormat(), FV_View::setCellFormat(), fp_TextRun::setDirOverride(), setDominantDirection(), FV_View::setStyleAtPos(), StartList(), StopListInBlock(), FV_View::toggleCase(), and updateOffsets().

fl_BlockLayout * fl_BlockLayout::getPreviousList ( UT_uint32  id  )  const

Find the most recent block with the list ID given.

Parameters:
UT_uint32 id the identifier of the list
Returns:
fl_BlockLayout *

References fl_Layout::getAutoNum(), fl_ContainerLayout::getPrevBlockInDocument(), fl_Layout::getStruxDocHandle(), isFirstInList(), isListItem(), fl_Layout::m_pAutoNum, and UT_ASSERT.

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().

bool fl_BlockLayout::getProp_KeepTogether ( void   )  const [inline]
bool fl_BlockLayout::getProp_KeepWithNext ( void   )  const [inline]
UT_uint32 fl_BlockLayout::getProp_Orphans ( void   )  const [inline]
UT_uint32 fl_BlockLayout::getProp_Widows ( void   )  const [inline]
std::unique_ptr< PP_PropertyType > fl_BlockLayout::getPropertyType ( const gchar *  szName,
tProperty_type  Type,
bool  bExpandStyles = true 
) const
const PP_PropertyMap::Line& fl_BlockLayout::getRight (  )  const [inline]
const UT_RGBColor fl_BlockLayout::getShadingingBackColor ( void   )  const

References m_ShadingBackColor.

const UT_RGBColor fl_BlockLayout::getShadingingForeColor ( void   )  const

References m_ShadingForeColor.

Referenced by fp_Line::setBlock().

void fl_BlockLayout::getStyle ( UT_UTF8String sStyle  )  const
UT_sint32 fl_BlockLayout::getTabsCount ( void   )  const [inline]
const PP_PropertyMap::Line& fl_BlockLayout::getTop (  )  const [inline]
UT_sint32 fl_BlockLayout::getTopMargin ( void   )  const [inline]
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_Container::getNext(), and fp_Line::isSameYAsPrevious().

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

bool fl_BlockLayout::hasBackgroundCheckReason ( UT_uint32  reason  )  const [inline]
bool fl_BlockLayout::hasBorders ( void   )  const
bool fl_BlockLayout::hasUpdatableField ( void   )  [inline]
virtual bool fl_BlockLayout::isCollapsed ( void   )  const [inline, virtual]

Implements fl_ContainerLayout.

Referenced by fl_FrameLayout::format().

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_ContainerLayout::getContainerType(), and fl_ContainerLayout::myContainingLayout().

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

bool fl_BlockLayout::isFirstInList ( 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().

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

this function decides if character c is a word-delimiter, taking on board revisions markup

References fp_Run::containsRevisions(), findRunAtOffset(), fp_Run::getRevisions(), fp_Run::getVisibility(), UT_isWordDelimiter(), and xxx_UT_DEBUGMSG.

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

Implements fl_ContainerLayout.

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

References m_nextToSpell.

Referenced by main().

fl_BlockLayout* fl_BlockLayout::nextToSpell ( void   )  const [inline]

References m_nextToSpell.

fl_BlockLayout* fl_BlockLayout::prevToSpell ( void   )  const [inline]

References m_prevToSpell.

Referenced by main().

fl_BlockLayout* fl_BlockLayout::prevToSpell ( void   )  const [inline]

References m_prevToSpell.

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().

void fl_BlockLayout::removeBackgroundCheckReason ( UT_uint32  reason  )  [inline]
bool fl_BlockLayout::s_EnumTabStops ( void *  myThis,
UT_uint32  k,
fl_TabStop pTabInfo 
) [static]
void fl_BlockLayout::setAccumHeight ( UT_sint32  i  )  [inline]
void fl_BlockLayout::setAlignment ( UT_uint32  iAlignCmd  ) 
void fl_BlockLayout::setDominantDirection ( UT_BidiCharType  iDirection  ) 
void fl_BlockLayout::setFirstRun ( fp_Run pRun  )  [inline]
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 FL_DocLayout::addFramesToBeInserted(), fp_Page::countColumnLeaders(), fp_Page::findFrameContainer(), FL_DocLayout::findPage(), fp_Line::getColumn(), fp_Column::getColumnIndex(), fp_Container::getContainer(), fl_ContainerLayout::getContainerType(), getDocLayout(), fp_Column::getDocSectionLayout(), 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_Line::getHeight(), fl_ContainerLayout::getLastContainer(), FL_DocLayout::getLastPage(), fp_Line::getMarginAfter(), fp_Container::getNext(), fp_Page::getNthColumn(), fp_Page::getNthColumnLeader(), fl_ContainerLayout::getNthFrameContainer(), fl_ContainerLayout::getNthFrameLayout(), FL_DocLayout::getNthPage(), fl_DocSectionLayout::getNumColumns(), fl_ContainerLayout::getNumFrames(), fp_VerticalContainer::getOffsets(), fp_Line::getPage(), fp_FrameContainer::getPreferedColumnNo(), fp_FrameContainer::getPreferedPageNo(), getView(), fp_ContainerObject::getX(), fp_Line::getX(), fp_ContainerObject::getY(), fp_Line::getY(), fp_Page::insertFrameContainer(), fl_ContainerLayout::isHidden(), FL_DocLayout::isLayoutFilling(), fp_Line::isSameYAsPrevious(), m_pLayout, fp_FrameContainer::setPreferedColumnNo(), fp_FrameContainer::setPreferedPageNo(), fp_VerticalContainer::setX(), fp_VerticalContainer::setY(), UT_ASSERT_HARMLESS, UT_DEBUGMSG, UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.

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

void fl_BlockLayout::setHdrFtr ( void   )  [inline]

Referenced by doclistener_insertBlock().

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

Referenced by fp_Run::fp_Run().

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().

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

Referenced by fl_BlockLayout(), and format().

void fl_BlockLayout::shuffleEmbeddedIfNeeded ( fl_BlockLayout pBlock,
UT_uint32  blockOffset 
)
void fl_BlockLayout::StartList ( const gchar *  style,
pf_Frag_Strux prevSDH = NULL 
)
virtual void fl_BlockLayout::updateLayout ( bool   )  [inline, virtual]

Implements fl_ContainerLayout.

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 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().


Friends And Related Function Documentation

friend class fb_LineBreaker [friend]
friend class fl_DocListener [friend]
friend class fl_GrammarSquiggles [friend]

Referenced by fl_BlockLayout().

friend class fl_SpellSquiggles [friend]

Referenced by fl_BlockLayout().

friend class fl_Squiggles [friend]
friend class fl_TOCLayout [friend]

Member Data Documentation

Referenced by _lookupProperties(), and hasBorders().

Referenced by _lookupProperties().

Referenced by _lookupProperties().


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