LibreOffice Module sw (master) 1
|
#include <widorp.hxx>
Public Member Functions | |
SwTextFrameBreak (SwTextFrame *pFrame, const SwTwips nRst=0) | |
bool | IsBreakNow (SwTextMargin &rLine) |
bool | IsKeepAlways () const |
void | SetKeep (const bool bNew) |
bool | IsInside (SwTextMargin const &rLine) const |
BP 18.6.93: Widows. More... | |
void | SetRstHeight (const SwTextMargin &rLine) |
Protected Attributes | |
SwTextFrame * | m_pFrame |
bool | m_bBreak |
bool | m_bKeep |
Private Attributes | |
SwTwips | m_nRstHeight |
SwTwips | m_nOrigin |
Definition at line 26 of file widorp.hxx.
SwTextFrameBreak::SwTextFrameBreak | ( | SwTextFrame * | pFrame, |
const SwTwips | nRst = 0 |
||
) |
Definition at line 60 of file widorp.cxx.
References SwFrame::FindSctFrame(), SwTextFrame::GetFootnoteFrameHeight(), SwFrameAreaDefinition::getFrameArea(), SwFrameAreaDefinition::getFramePrintArea(), SwRectFnSet::GetHeight(), SwAttrSet::GetKeep(), SwRectFnSet::GetPrtTop(), SwAttrSet::GetSplit(), SwContentNode::GetSwAttrSet(), SwTextFrame::GetTextNodeForParaProps(), SwTextFrame::HasPara(), SwFrame::IsColumnFrame(), SwFrame::IsInFootnote(), SwFrame::IsInSct(), SwFrame::IsMoveable(), SwLayoutFrame::Lower(), m_bBreak, m_bKeep, m_nOrigin, m_nRstHeight, m_pFrame, SwSectionFrame::MoveAllowed(), and swap().
bool SwTextFrameBreak::IsBreakNow | ( | SwTextMargin & | rLine | ) |
Definition at line 224 of file widorp.cxx.
References SwFootnoteBossFrame::FindBodyCont(), SwFrame::FindFootnoteBossFrame(), SwFrame::FindFootnoteFrame(), SwTextMargin::GetDropLines(), SwFrame::GetIndPrev(), SwTextIter::GetLineNr(), SwFrame::GetPrev(), SwTextIter::GetPrev(), SwTextFrame::IsEmptyWithSplitFly(), SwFrame::IsInFootnote(), IsInside(), SwLayoutFrame::Lower(), m_bBreak, m_bKeep, m_pFrame, and swap().
Referenced by SwTextFrame::CalcLineSpace(), WidowsAndOrphans::FindBreak(), SwTextFrame::FormatAdjust(), and WidowsAndOrphans::IsBreakNowWidAndOrp().
bool SwTextFrameBreak::IsInside | ( | SwTextMargin const & | rLine | ) | const |
BP 18.6.93: Widows.
In contrast to the first implementation the Widows are not calculated in advance but detected when formatting the split Follow. In Master the Widows-calculation is dropped completely (nWidows is manipulated). If the Follow detects that the Widows rule applies it sends a Prepare to its predecessor. A special problem is when the Widow rule applies but in Master there are some lines available.
BP(22.07.92): Calculation of Widows and Orphans. The method returns true if one of the rules matches.
One difficulty with Widows and different formats between Master- and Follow-Frame: Example: If the first column is 3cm and the second is 4cm and Widows is set to 3, the decision if the Widows rule matches can not be done until the Follow is formatted. Unfortunately this is crucial to decide if the whole paragraph goes to the next page or not.
Definition at line 106 of file widorp.cxx.
References SwPageFrame::CheckPageHeightValidForHideWhitespace(), SwFrame::FindFootnoteBossFrame(), SwFrame::FindPageFrame(), SwRectFnSet::GetBottomMargin(), SwTextIter::GetEnd(), SwTextFrame::GetFollow(), SwContentFrame::GetFollow(), SwRectFnSet::GetHeight(), SwFrame::GetIndNext(), SwTextIter::GetLineHeight(), SwTextIter::GetNext(), SwContentFrame::GetNextContentFrame(), SwRectFnSet::GetPrtBottom(), SwFrame::GetUpper(), SwTextFrame::GrowTst(), SwFrame::IsInTab(), SwFrame::IsVertical(), LONG_MAX, m_nOrigin, m_nRstHeight, m_pFrame, SwAttrIter::MaybeHasHints(), SwTextFrame::RemoveFootnote(), SAL_INFO_IF, swap(), SwTextFrame::SwitchHorizontalToVertical(), SwTextIter::Y(), and SwRectFnSet::YDiff().
Referenced by SwTextFrame::FormatAdjust(), IsBreakNow(), WidowsAndOrphans::WouldFit(), and SwTextFrame::WouldFit().
|
inline |
Definition at line 38 of file widorp.hxx.
References m_bKeep.
Referenced by SwTextFrame::CalcPreps(), and SwTextFrame::WouldFit().
|
inline |
Definition at line 40 of file widorp.hxx.
References m_bKeep.
Referenced by SwTextFrame::CalcPreps(), and SwTextFrame::Format_().
void SwTextFrameBreak::SetRstHeight | ( | const SwTextMargin & | rLine | ) |
Definition at line 270 of file widorp.cxx.
References SwRectFnSet::GetBottomMargin(), SwRectFnSet::IsVert(), SwFrame::IsVertLR(), m_nOrigin, m_nRstHeight, m_pFrame, SwTextFrame::SwitchHorizontalToVertical(), SwTextIter::Y(), and SwRectFnSet::YDiff().
Referenced by SwTextFrame::CalcPreps().
|
protected |
Definition at line 33 of file widorp.hxx.
Referenced by IsBreakNow(), and SwTextFrameBreak().
|
protected |
Definition at line 34 of file widorp.hxx.
Referenced by IsBreakNow(), IsKeepAlways(), SetKeep(), SwTextFrameBreak(), and WidowsAndOrphans::WidowsAndOrphans().
|
private |
Definition at line 30 of file widorp.hxx.
Referenced by IsInside(), SetRstHeight(), and SwTextFrameBreak().
|
private |
Definition at line 29 of file widorp.hxx.
Referenced by IsInside(), SetRstHeight(), and SwTextFrameBreak().
|
protected |
Definition at line 32 of file widorp.hxx.
Referenced by WidowsAndOrphans::FindBreak(), IsBreakNow(), IsInside(), SetRstHeight(), SwTextFrameBreak(), WidowsAndOrphans::WidowsAndOrphans(), and WidowsAndOrphans::WouldFit().