50 "IsNastyFollow: What is going on here?" );
57 : m_nRstHeight(nRst), m_pFrame(pNewFrame)
128 SwTwips nDiff = nHeight - nLineHeight;
157 ::std::set<SwContentFrame const*> nextFrames;
158 while (pBoss->IsAnLower(pContent))
160 nextFrames.insert(pContent);
164 for (
SwFootnoteFrame const* pFootnote = static_cast<SwFootnoteFrame const*>(pCont->Lower());
165 pFootnote !=
nullptr;
169 if (nextFrames.find(pAnchor) != nextFrames.end())
171 nNextFootnotes += aRectFnSet.
GetHeight(pFootnote->getFrameArea());
174 bFit = 0 <= nDiff + nNextFootnotes;
175 SAL_INFO_IF(bFit,
"sw.core",
"no text frame break because ignoring "
176 << nNextFootnotes <<
" footnote height");
188 bFit = nHeight >= nLineHeight;
198 bFit = nHeight >= nLineHeight;
211 bFit = nHeight >= nLineHeight;
248 if( !pTmp || !pTmp->
Lower() )
263 if ( aRectFnSet.
IsVert() )
300 if ( rOrph.GetValue() > 1 )
310 bool bResetFlags =
false;
321 if ( static_cast<const SwRowFrame*>(pTmpFrame)->IsRowSplitAllowed() )
358 OSL_ENSURE(
m_pFrame == pFrame,
"<WidowsAndOrphans::FindBreak> - pFrame != pFrame" );
387 ( ( bHasToFit && bRet ) ||
IsBreakNow( rLine ) ) )
407 "WidowsAndOrphans::FindWidows with swapped frame" );
416 OSL_ENSURE(pMaster,
"+WidowsAndOrphans::FindWidows: Widows in a master?");
432 if ( aRectFnSet.
IsVert() )
440 const SwTwips nChg = aRectFnSet.
YDiff( nTmpY, nDocPrtTop + nOldHeight );
459 if ( nTmpRstHeight >=
506 sal_uInt16 nNeed = 1;
514 if(nLines == 0 && pMaster->
HasPara())
517 if(pMasterPara && pMasterPara->
GetNext())
520 if( nLines <= nNeed )
534 OSL_ENSURE( !rLine.
GetNext(),
"WouldFit: aLine::Bottom missed!" );
539 if ( nLineCnt < nMinLines )
577 if( rMaxHeight >= nLineSum )
579 rMaxHeight -= nLineSum;
bool FindWidows(SwTextFrame *pFrame, SwTextMargin &rLine)
FindWidows positions the SwTextMargin of the Master to the line where to break by examining and forma...
virtual void Height(const SwTwips nNew, const bool bText=true) override
Base class of the Writer layout elements.
Represents the visualization of a paragraph.
bool FindBreak(SwTextFrame *pFrame, SwTextMargin &rLine, bool bHasToFit)
The Find*-Methods do not only search, but adjust the SwTextMargin to the line where the paragraph sho...
bool MoveAllowed(const SwFrame *) const
void SetRstHeight(const SwTextMargin &rLine)
sal_uInt16 GetLineNr() const
bool MaybeHasHints() const
SwContentFrame * GetNextContentFrame() const
tools::Long BottomDist(const SwRect &rRect, tools::Long nPos) const
const SwLineLayout * NextLine()
bool IsInFootnote() const
void SwitchHorizontalToVertical(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from horizontal to vertical layout...
#define SAL_INFO_IF(condition, area, stream)
const SwRect & getFramePrintArea() const
virtual bool Prepare(const PrepareHint ePrep=PrepareHint::Clear, const void *pVoid=nullptr, bool bNotify=true) override
SwContentFrame: the shortcut for the Frames If the void* casts wrongly, it's its own fault! The void*...
SwParaPortion * GetPara()
const SvxOrphansItem & GetOrphans(bool=true) const
bool WouldFit(SwTextMargin &rLine, SwTwips &rMaxHeight, bool bTest)
Collection of SwLineLayout instances, represents the paragraph text in Writer layout.
sal_uInt16 GetOrphansLines() const
void SetJustWidow(const bool bNew)
bool IsBreakNowWidAndOrp(SwTextMargin &rLine)
SwTwips GetFootnoteFrameHeight() const
bool IsMoveable(const SwLayoutFrame *_pLayoutFrame=nullptr) const
determine, if frame is moveable in given environment
const SwRect & getFrameArea() const
sal_uLong GetThisLines() const
SwTwips GrowTst(const SwTwips nGrow)
Test grow.
const SvxFormatSplitItem & GetSplit(bool=true) const
const SvxFormatKeepItem & GetKeep(bool=true) const
SwLayoutFrame * GetNextCellLeaf()
SwTextFrame * GetFollow()
TextFrameIndex GetOffset() const
bool IsColumnFrame() const
SwFootnoteFrame * FindFootnoteFrame()
void swap(cow_wrapper< T, P > &a, cow_wrapper< T, P > &b)
SwTextNode const * GetTextNodeForParaProps() const
bool CheckPageHeightValidForHideWhitespace(SwTwips nDiff)
Is bottom-of-page-frame - bottom-of-text-frame difference valid in case whitespace is hidden...
SwFrame * GetIndPrev() const
const SwContentFrame * GetFollow() const
tools::Long GetPrtBottom(const SwFrame &rFrame) const
SwTwips CalcAddLowerSpaceAsLastInTableCell(const SwBorderAttrs *_pAttrs=nullptr) const
calculation of the additional space to be considered, if flow frame is the last inside a table cell ...
bool IsInside(SwTextMargin const &rLine) const
BP 18.6.93: Widows.
SwPageFrame * FindPageFrame()
SwParaPortion * GetParaPortion()
const SwFrame * Lower() const
void InvalidatePage(const SwPageFrame *pPage=nullptr) const
Invalidates the page in which the Frame is currently placed.
tools::Long GetHeight(const SwRect &rRect) const
SwLayoutFrame * GetUpper()
const SwLineLayout * GetPrev()
tools::Long GetPrtTop(const SwFrame &rFrame) const
SwFootnoteBossFrame * FindFootnoteBossFrame(bool bFootnotes=false)
const SwRowFrame * IsInFollowFlowRow() const
const SvxWidowsItem & GetWidows(bool=true) const
void TruncLines(bool bNoteFollow=false)
tools::Long YDiff(tools::Long n1, tools::Long n2) const
A page of the document layout.
const SwFormatFootnote & GetFootnote() const
SwSectionFrame * FindSctFrame()
SwTextFrameBreak(SwTextFrame *pFrame, const SwTwips nRst=0)
bool IsBreakNow(SwTextMargin &rLine)
tools::Long GetBottomMargin(const SwFrame &rFrame) const
SwTextFrame * FindMaster() const
SwTextSizeInfo & GetInfo()
WidowsAndOrphans(SwTextFrame *pFrame, const SwTwips nRst=0, bool bCheckKeep=true)
const SwLineLayout * PrevLine()
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
const SwLineLayout * GetNext() const
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame...
SwTwips GetLineHeight() const
TextFrameIndex GetEnd() const
sal_uInt16 GetDropLines() const
void RemoveFootnote(TextFrameIndex nStart, TextFrameIndex nLen=TextFrameIndex(COMPLETE_STRING))
Footnote.