33#include <objectformatter.hxx>
39#include <osl/diagnose.h>
43#define ENDNOTE 0x80000000
53 if ( it != rFootnoteIdxs.
end() )
60 OSL_ENSURE( !pDoc,
"FootnotePos not found." );
67 OSL_ENSURE( pDoc,
"SwFootnoteFrame: Missing doc!" );
97 "Where's the column?" );
101 return pOld != rpPage;
103 else if( bDontLeave )
199 if(
static_cast<const SwTextFrame*
>(pFrame)->IsUndersized() )
202 nRet =
static_cast<const SwTextFrame*
>(pFrame)->GetParHeight() -
300 else if ( nDiff < 0 )
311 aRectFnSet.
SubTop( aPrt, nTmpDiff );
335 OSL_ENSURE( pSect,
"GrowFrame: Missing SectFrame" );
380 if ( nAvail > nDist )
391 aFrm.
Pos().AdjustX( -nDist );
409 pFootnote = pFootnote->
GetNext();
410 if(
static_cast<SwFootnoteFrame*
>(pFootnote)->GetAttr()->GetFootnote().IsEndNote() )
417 nReal += pBoss->
Grow( nGrow - nReal, bTst );
428 if ( nReal != nDist )
438 aFrm.
Pos().AdjustX(nDist );
456 bool bShrink =
false;
489 mbBackMoveLocked( false ),
491 mbUnlockPosOfLowerObjs( true )
594 OSL_ENSURE( pParent,
"no parent in Paste." );
595 OSL_ENSURE( pParent->
IsLayoutFrame(),
"Parent is ContentFrame." );
596 OSL_ENSURE( pParent !=
this,
"I am my own parent." );
597 OSL_ENSURE( pSibling !=
this,
"I am my own sibling." );
599 "I am still somewhere registered." );
610 pContent->InvalidatePrt_();
616 pNext->InvalidatePos_();
617 if (
SwFrame *
const pContent = pNext->ContainsContent())
619 pContent->InvalidatePrt_();
630 "Footnote without content?" );
634 assert(pDel !=
this);
641 "Footnote without content?" );
642 SwFlowFrame::CastFlowFrame(
GetNext()->
GetLower() )->MoveSubTree(
this );
644 assert(pDel !=
this);
648#if OSL_DEBUG_LEVEL > 0
659 "Next is not FootnoteNext" );
683 OSL_ENSURE( pNxt->
IsColBodyFrame(),
"GetNextFootnoteLeaf: Funny Leaf" );
709 if ( pFootnote && pFootnote->
GetFollow() )
716 while( pTmpBoss != pBoss && pTmpBoss && !pTmpBoss->
GetPrev() )
718 if( pTmpBoss == pBoss )
768 if( bEndn && pFootnote->
IsInSct() )
791 pTmpRef = pFootnote->
GetRef();
815 if( pNxtBoss == pOldBoss )
822 if( !pSect || !pSect->
Lower() )
825 "GetPrevFootnoteLeaf: Where's the column?" );
854 if ( pStop == pNxtBoss )
869 bJump = pOldBoss->
GetPrev() !=
static_cast<SwFrame const *
>(pNewBoss);
882 SwFlowFrame::SetMoveBwdJump(
true );
897 if ( pTab->IsFollow() )
937 if ( bPageOnly && !pNxt )
944 }
while ( pFootnote );
952 if( pBody && pBody->
Lower() )
962 bPageOnly, bEndNotes );
1042#if OSL_DEBUG_LEVEL > 0
1049 assert(pFootnote->
IsFootnoteFrame() &&
"Neighbor of footnote must be a footnote");
1050 pFootnote = pFootnote->
GetNext();
1062 if ( !
GetFormat()->GetDoc()->GetFootnoteIdxs().empty() )
1074 if( pBoss && ( !bChgPage || pPage->
IsEndNotePage() == bEndNote ) )
1076 }
while ( !pCont && pPage );
1095 sal_uInt16
nPgNum, nColNum;
1101 OSL_ENSURE( pBoss,
"FindFirstFootnote: No boss found" );
1109 if( nColNum == nRefCol )
1111 else if( nColNum > nRefCol )
1114 else if (
nPgNum > nRefNum )
1145 if( nColNum == nRefCol )
1147 else if( nColNum > nRefCol )
1150 else if (
nPgNum > nRefNum )
1167 while ( pRet && (pRet->
GetRef() != pCnt) )
1197 OSL_ENSURE( !pCheck->
GetMaster(),
"given master is not a Master." );
1203 GetNodes().GoNextSection( &aIdx,
true,
false );
1215 while ( pFootnote && pFootnote->
GetMaster() )
1217 if ( pFootnote != pCheck )
1229 pFrame = aIter.
Next();
1243 bool bDontLeave =
false;
1254 bDontLeave =
nullptr != pEndFormat;
1263 else if( pSibling->
IsInSct() )
1278 else if( pSibling->
IsInSct() )
1298 if( nCmpPos > nStPos )
1317 if ( nCmpPos > nStPos )
1334 OSL_ENSURE(
false,
"Could not find space for footnote.");
1342 while ( pSibling && nCmpPos <= nStPos )
1344 pLastSib = pSibling;
1355 "InsertFootnote: Master expected I" );
1375 OSL_ENSURE( nCmpPos > nLastPos,
"InsertFootnote: Order of FootnoteFrame's buggy" );
1380 if ( pSibling && pLastSib && (pSibling != pLastSib) )
1383 if ( nCmpPos > nStPos )
1384 pSibling = pLastSib;
1386 else if ( !pSibling )
1391 pSibling = pLastSib;
1394 OSL_ENSURE( !pSibling->
GetNext(),
"InsertFootnote: Who's that guy?" );
1408 while ( pSibling && !bEnd && (nCmpPos <= nStPos) )
1410 pLastSib = pSibling;
1420 GetAttr()->GetFootnote().IsEndNote() );
1424 ( nTmpRef == nRefNum &&
lcl_ColumnNum( pBoss ) <= nRefCol ))
1444 if ( !bEnd && pSibling )
1446 if (pSibling && (pSibling != pLastSib))
1449 if ( (nLastPos < nCmpPos) && (nCmpPos > nStPos) )
1451 pSibling = pLastSib;
1460 if ( nCmpPos < nStPos )
1473 OSL_FAIL(
"InsertFootnote: Master expected II" );
1482 OSL_ENSURE( pParent,
"paste in space?" );
1483 pNew->
Paste( pParent, pSibling );
1497 if (pCont && pCont->
Lower())
1528 bool bChgPage =
false;
1563 !pPage->
OnRightPage(),
false,
false,
true,
nullptr );
1595 OSL_ENSURE(
false,
"no footnote content." );
1613 if( pTmp && *pTmp < pAttr )
1629 OSL_ENSURE( pBody,
"AppendFootnote: NoPageBody?" );
1642 if( pSect && !pSect->IsJoinLocked() && ( bEnd ? !pSect->
IsEndnAtEnd() :
1649 const bool bOldFootnoteFrameLocked( pNew->
IsColLocked() );
1671 if ( !bOldFootnoteFrameLocked )
1680 if ( !bOldFootnoteFrameLocked && !pNew->
GetLower() &&
1697 OSL_ENSURE( pAttr->
GetStartNode(),
"FootnoteAtr without StartNode." );
1702 GetNodes().GoNextSection( &aIdx,
true,
false );
1716 if ( pFootnote && pFootnote->
GetRef() == pRef )
1722 if( pFootnote->
GetAttr() != pAttr )
1724 while ( pFootnote && pFootnote->
GetMaster() )
1729 }
while (
nullptr != (pFrame = aIter.
Next()) );
1749 }
while ( pFootnote );
1750 if( bPrep && pRef->IsFollow() )
1752 OSL_ENSURE( pRef->
IsTextFrame(),
"NoTextFrame has Footnote?" );
1768 pFootnote->
SetRef( pNew );
1779 const bool _bCollectOnlyPreviousFootnotes )
1787 while ( !pFootnote && _pOld->
GetPrev() )
1800 nullptr != ( pPg =
static_cast<SwPageFrame*
>(pTmp->FindPageFrame()->GetPrev()))
1821 CollectFootnotes_(_pRef, pFootnote, _rFootnoteArr, _bCollectOnlyPreviousFootnotes ?
this :
nullptr);
1826 if ( rFootnoteArr.end() == std::find( rFootnoteArr.begin(), rFootnoteArr.end(), pFootnote ) )
1827 rFootnoteArr.push_back( pFootnote );
1844 OSL_ENSURE( !_pFootnote->
GetMaster() || _pFootnote->
GetRef() != _pRef,
"move FollowFootnote?" );
1848 bool bFound =
false;
1856 pNxtFootnote = pNxtFootnote->
GetFollow();
1859 if ( !pNxtFootnote )
1875 pNxtFootnote = pNxtFootnote->
GetMaster();
1876 if( pNxtFootnote == _pFootnote )
1877 pNxtFootnote =
nullptr;
1881 }
while( !pNxtFootnote && pBoss );
1885 OSL_ENSURE( !pNxtFootnote->
GetMaster(),
"_CollectFootnote: Master expected" );
1887 pNxtFootnote = pNxtFootnote->
GetMaster();
1889 if ( pNxtFootnote == _pFootnote )
1891 OSL_FAIL(
"_CollectFootnote: Vicious circle" );
1892 pNxtFootnote =
nullptr;
1896 bool bCollectFoundFootnote =
false;
1902 if (_pFootnote->
GetRef() == _pRef && (!bEndNote || bContinuousEndnotes))
1904 if (_pRefFootnoteBossFrame)
1907 OSL_ENSURE( pBossOfFoundFootnote,
1908 "<SwFootnoteBossFrame::CollectFootnotes_(..)> - footnote boss frame of found footnote frame missing.\nWrong layout!" );
1909 if ( !pBossOfFoundFootnote ||
1910 pBossOfFoundFootnote->
IsBefore( _pRefFootnoteBossFrame )
1913 bCollectFoundFootnote =
true;
1918 bCollectFoundFootnote =
true;
1922 if ( bCollectFoundFootnote )
1924 OSL_ENSURE( !_pFootnote->
GetMaster(),
"move FollowFootnote?" );
1935 pCnt->
Paste( _pFootnote );
1941 OSL_ENSURE( !pNxt,
"footnote without content?" );
1957 if ( pNxtFootnote &&
1958 _rFootnoteArr.end() == std::find( _rFootnoteArr.begin(), _rFootnoteArr.end(), pNxtFootnote ) &&
1959 aNotFootnoteArr.end() == std::find( aNotFootnoteArr.begin(), aNotFootnoteArr.end(), pNxtFootnote ) )
1960 _pFootnote = pNxtFootnote;
1964 while ( _pFootnote );
1981 !pFootnote->GetAttr()->GetFootnote().IsEndNote()));
1982 if( pRefBoss !=
this )
1986 if( nRefNum < nMyNum || ( nRefNum == nMyNum && nRefCol <= nMyCol ) )
1991 if ( pFootnote->GetUpper() )
1996 SwFrame *pCnt = pFootnote->ContainsAny();
2039 pFootnote->Calc(
getRootFrame()->GetCurrShell()->GetOut());
2040 pFootnote->GetUpper()->Calc(
getRootFrame()->GetCurrShell()->GetOut());
2045 pCnt = pFootnote->ContainsAny();
2046 bool bUnlock = !pFootnote->IsBackMoveLocked();
2047 pFootnote->LockBackMove();
2051 pFootnote->KeepLockPosOfLowerObjs();
2065 pCnt = pFootnote->ContainsAny();
2083 pFootnote->UnlockBackMove();
2084 if( !pFootnote->ContainsAny() && !pFootnote->IsColLocked() )
2089 pFootnote =
nullptr;
2097 pFootnote->UnlockPosOfLowerObjs();
2098 pFootnote->Calc(
getRootFrame()->GetCurrShell()->GetOut());
2104 OSL_ENSURE( !pFootnote->GetMaster() && !pFootnote->GetFollow(),
2105 "DelFootnote and Master/Follow?" );
2108 pFootnote =
nullptr;
2114 pLastInsertedFootnote = pFootnote;
2120 if ( !(bCalc && pLastInsertedFootnote) )
2123 if ( !pLastInsertedFootnote->
GetNext() )
2184 "SwPageFrame::MoveFootnotes: source frame isn't on that FootnoteBoss" );
2192 OSL_ENSURE( pDestBoss,
"+SwPageFrame::MoveFootnotes: no destination boss" );
2198 if ( aFootnoteArr.empty() )
2205 if( pSrcPage != pDestPage )
2220 if( pFootnote && pFootnote->
GetPrev() && bLock )
2248 bool bStart = pAttr ==
nullptr;
2253 bool bUnlockLastFootnoteFrame(
false );
2266 if ( pFootnoteFrame != pLastFootnoteFrame )
2268 if ( pLastFootnoteFrame )
2270 if ( !bLock && bUnlockLastFootnoteFrame )
2278 if ( !bLock && bUnlockLastFootnoteFrame &&
2284 pLastFootnoteFrame->
Cut();
2286 pLastFootnoteFrame =
nullptr;
2291 bUnlockLastFootnoteFrame = !pFootnoteFrame->
IsColLocked();
2295 pLastFootnoteFrame = pFootnoteFrame;
2323 pCnt = pFootnote ? pFootnote->
ContainsAny() :
nullptr;
2332 if( !pFootnoteFrame->
Lower() &&
2336 OSL_ENSURE( pLastFootnoteFrame == pFootnoteFrame,
2337 "<SwFootnoteBossFrame::RearrangeFootnotes(..)> - <pLastFootnoteFrame> != <pFootnoteFrame>" );
2338 pLastFootnoteFrame =
nullptr;
2339 pFootnoteFrame->
Cut();
2341 if (pFootnote == pFootnoteFrame)
2342 pFootnote =
nullptr;
2391 bool bUnlockLastFootnoteFrameGuard = pLastFootnoteFrame && !pLastFootnoteFrame->
IsColLocked();
2392 if (bUnlockLastFootnoteFrameGuard)
2393 pLastFootnoteFrame->
ColLock();
2395 if (bUnlockLastFootnoteFrameGuard)
2409 if ( !pLastFootnoteFrame )
2412 if ( !bLock && bUnlockLastFootnoteFrame )
2420 if ( !bLock && bUnlockLastFootnoteFrame &&
2425 pLastFootnoteFrame->
Cut();
2437 if( !pBody || !pBody->
Lower() )
2441 sal_uInt16 nNum = 0;
2445 if(
static_cast<SwTextFrame*
>(pContent)->HasFootnote() )
2471 if (nNum != nOldNumRLHidden)
2473 pTextFootnote->
SetNumber(nOldNum, nNum, OUString());
2478 if (nNum != nOldNum)
2480 pTextFootnote->
SetNumber(nNum, nOldNumRLHidden, OUString());
2492 pFootnote =
nullptr;
2499 if( pFootnote && pFootnote->
GetRef() != pContent )
2500 pFootnote =
nullptr;
2542 OSL_ENSURE( pPg ||
IsInSct(),
"Footnote lost page" );
2575 nTmp += aRectFnSet.
YDiff(
2633 OSL_ENSURE( pTmp,
"NeighbourhoodAdjustment: Missing Lower()" );
2639 "NeighbourhoodAdjustment: Who's that guy?" );
2672 if ( pNewBoss == pOldBoss )
2675 bool bMoved =
false;
2683 if (
static_cast<SwTextFrame*
>(pStart)->HasFootnote() )
2696 "MoveLowerFootnotes: Section confusion" );
2697 std::unique_ptr<SwFootnoteFrames> pFootnoteArr;
2701 bool bFoundCandidate =
false;
2702 if (pStart && pOldBoss->
IsInSct())
2706 bFoundCandidate = pOldChief != pNewChief;
2709 if (bFoundCandidate)
2716 if (
static_cast<SwTextFrame*
>(pStart)->HasFootnote() )
2718 pOldBoss, *pFootnoteArr );
2721 if( pFootnoteArr->empty() )
2723 pFootnoteArr.reset();
2727 pFootnoteArr =
nullptr;
2729 if ( !aFootnoteArr.empty() || pFootnoteArr )
2731 if( !aFootnoteArr.empty() )
2737 pFootnoteArr.reset();
2742 if ( bFootnoteNums )
2746 if( pOldPage != pNewPage )
2769 if( !pBody || !pBody->
Lower() )
2791 bool bSamePage =
true;
2799 bool bSameBoss = pNewBoss == pOldBoss;
2820 while(pNx && !
static_cast<SwFootnoteFrame*
>(pNx)->GetAttr()->GetFootnote().IsEndNote())
2822 pTmpFootnote->
Paste( pCont, pNx );
2846 aFrm.
Pos().AdjustY(1 );
2861 OSL_ENSURE( pTmp->
IsTabFrame(),
"GetNextSctLeaf: Wrong Type" );
2867 pTmpNxt->MoveSubTree( pTmpFootnote, pNewUp->
GetNext() );
2873 MoveSubTree( pNewUp, pNewUp->
Lower() );
2884 nOldHeight( pBs->GetMaxFootnoteHeight() )
2953 SwFrame* pTmpLastLower( pLastLowerOfFootnote );
2954 while ( pTmpLastLower && pTmpLastLower->
GetNext() )
2956 pTmpLastLower = pTmpLastLower->
GetNext();
2965 pLastLowerOfFootnote = pTmpLastLower;
2970 if ( pLastLowerOfFootnote && pLastLowerOfFootnote->
IsTabFrame() )
2974 else if ( pLastLowerOfFootnote && pLastLowerOfFootnote->
IsSctFrame() )
2980 pLastContentFrame =
dynamic_cast<SwContentFrame*
>(pLastLowerOfFootnote);
2983 return pLastContentFrame;
Provides access to settings of a document.
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
const SwDoc * GetDoc() const
SwContentFrame is the layout for content nodes: a common base class for text (paragraph) and non-text...
SwContentFrame * GetNextContentFrame() const
SwTextFrame * FindMaster() const
bool MoveFootnoteCntFwd(bool, SwFootnoteBossFrame *)
Return value guarantees that a new page was not created. See SwFlowFrame::MoveFwd.
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
const SwFootnoteInfo & GetFootnoteInfo() const
SwFootnoteIdxs & GetFootnoteIdxs()
IDocumentSettingAccess const & getIDocumentSettingAccess() const
const SwEndNoteInfo & GetEndNoteInfo() const
const SwFrameFormat * GetDfltFrameFormat() const
SwPageDesc * GetPageDesc(SwDoc &rDoc) const
const SwRect & getFrameArea() const
bool isFrameAreaDefinitionValid() const
const SwRect & getFramePrintArea() const
void setFramePrintAreaValid(bool bNew)
bool isFramePrintAreaValid() const
bool isFrameAreaSizeValid() const
void setFrameAreaSizeValid(bool bNew)
Base class of the Writer layout elements.
SwTwips Grow(SwTwips, bool bTst=false, bool bInfo=false)
SwSectionFrame * ImplFindSctFrame()
bool IsFootnoteContFrame() const
virtual bool Prepare(const PrepareHint ePrep=PrepareHint::Clear, const void *pVoid=nullptr, bool bNotify=true)
SwFrame * GetIndPrev() const
SwTwips Shrink(SwTwips, bool bTst=false, bool bInfo=false)
SwSectionFrame * FindSctFrame()
SwLayoutFrame * GetNextSctLeaf(MakePageType eMakePage)
Returns the next layout sheet where the frame can be moved in.
SwTabFrame * ImplFindTabFrame()
bool IsColumnFrame() const
void InvalidateNextPos(bool bNoFootnote=false)
bool IsInFootnote() const
SwPageFrame * InsertPage(SwPageFrame *pSibling, bool bFootnote)
virtual void Calc(vcl::RenderContext *pRenderContext) const
void InsertBefore(SwLayoutFrame *pParent, SwFrame *pBehind)
Insert SwFrame into existing structure.
static void CheckPageDescs(SwPageFrame *pStart, bool bNotifyFields=true, SwPageFrame **ppPrev=nullptr)
Check all pages (starting from the given one) if they use the appropriate frame format.
virtual bool IsDeleteForbidden() const
bool IsPageBodyFrame() const
const SwAttrSet * GetAttrSet() const
WARNING: this may not return correct RES_PAGEDESC/RES_BREAK items for SwTextFrame,...
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr)=0
SwFootnoteFrame * ImplFindFootnoteFrame()
SwLayoutFrame * GetPrevFootnoteLeaf(MakePageType eMakeFootnote)
Get the preceding layout leaf in that the frame can be moved.
bool IsFootnoteFrame() const
SwLayoutFrame * GetUpper()
SwLayoutFrame * GetLeaf(MakePageType eMakePage, bool bFwd)
void InvalidatePage(const SwPageFrame *pPage=nullptr) const
Invalidates the page in which the Frame is currently placed.
SwLayoutFrame * GetNextFootnoteLeaf(MakePageType eMakePage)
Return the next layout leaf in that the frame can be moved.
SwRootFrame * getRootFrame()
void SetCompletePaint() const
bool IsContentFrame() const
bool IsFootnoteBossFrame() const
SwContentFrame * FindNextCnt(const bool _bInSameFootnote=false)
bool IsFootnoteAllowed() const
SwTwips AdjustNeighbourhood(SwTwips nDiff, bool bTst=false)
Adjust surrounding neighbourhood after insertion.
SwPageFrame * FindPageFrame()
SwFootnoteFrame * FindFootnoteFrame()
SwFootnoteBossFrame * FindFootnoteBossFrame(bool bFootnotes=false)
sal_uInt16 GetPhyPageNum() const
static void DestroyFrame(SwFrame *const pFrame)
this is the only way to delete a SwFrame instance
bool IsLayoutFrame() const
bool IsColBodyFrame() const
These SwFrame inlines are here, so that frame.hxx does not need to include layfrm....
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame.
bool IsAnLower(const SwFrame *) const
virtual const SwFrameFormat * GetFormat() const
const SwFrame * ContainsAny(const bool _bInvestigateFootnoteForSections=false) const
Method <ContainsAny()> doesn't investigate content of footnotes by default.
bool IsBefore(const SwLayoutFrame *_pCheckRefLayFrame) const
method to check relative position of layout frame to a given layout frame.
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
const SwFrame * GetLastLower() const
virtual SwTwips ShrinkFrame(SwTwips, bool bTst=false, bool bInfo=false) override
const SwContentFrame * ContainsContent() const
Checks if the frame contains one or more ContentFrame's anywhere in his subsidiary structure; if so t...
bool MoveLowerFootnotes(SwContentFrame *pStart, SwFootnoteBossFrame *pOldBoss, SwFootnoteBossFrame *pNewBoss, const bool bFootnoteNums)
Moving the Footnotes of all Lowers - starting from StartContent.
const SwFrame * Lower() const
virtual void Cut() override
Marks a node in the document model.
SwNodeOffset GetIndex() const
SwContentNode * GetContentNode()
const IDocumentSettingAccess * getIDocumentSettingAccess() const
Provides access to the document setting interface.
const SwPageFootnoteInfo & GetFootnoteInfo() const
A page of the document layout.
SwContentFrame * FindLastBodyContent()
Searches the last ContentFrame in BodyText below the page.
bool IsEndNotePage() const
sal_uInt16 GetPhyPageNum() const
void SetColMaxFootnoteHeight()
Adapt the max. footnote height in each single column.
void SetEndNotePage(bool b)
bool IsFootnotePage() const
Foot note interface.
SwPageDesc * GetPageDesc()
tools::Long GetHeight(const SwRect &rRect) const
void SetWidth(SwRect &rRect, tools::Long nNew) const
void AddHeight(SwRect &rRect, tools::Long nNew) const
tools::Long GetWidth(const SwRect &rRect) const
tools::Long TopDist(const SwRect &rRect, tools::Long nPos) const
void SetHeight(SwRect &rRect, tools::Long nNew) const
tools::Long GetTop(const SwRect &rRect) const
void SubTop(SwRect &rRect, tools::Long nNew) const
void AddBottom(SwRect &rRect, tools::Long nNew) const
tools::Long YDiff(tools::Long n1, tools::Long n2) const
tools::Long GetPrtTop(const SwFrame &rFrame) const
tools::Long GetBottom(const SwRect &rRect) const
tools::Long BottomDist(const SwRect &rRect, tools::Long nPos) const
void SetTop(SwRect &rRect, tools::Long nNew) const
tools::Long GetPrtBottom(const SwFrame &rFrame) const
void Height(tools::Long nNew)
void Pos(const Point &rNew)
void AddHeight(const tools::Long nAdd)
SwViewShell * GetCurrShell() const
void SetSuperfluous()
Remove superfluous Pages.
const SwPageFrame * GetLastPage() const
void RemoveFootnotes(SwPageFrame *pPage=nullptr, bool bPageOnly=false, bool bEndNotes=false)
Remove all footnotes (but no references)
void CheckFootnotePageDescs(bool bEndNote)
Change the page template of the footnote pages.
void UpdateFootnoteNums()
Update the footnote numbers of all Pages.
bool IsAnyNoteAtEnd() const
bool IsOwnFootnoteNum() const
const SwSectionFormat * GetEndSectFormat() const
bool Growable() const
checks whether the SectionFrame is still able to grow, as case may be the environment has to be asked
virtual void Cut() override
SwContentFrame * FindLastContent(SwFindMode nMode=SwFindMode::None)
SwSectionFrame * FindMaster() const
bool ToMaximize(bool bCheckFollow) const
A sectionfrm has to maximize, if he has a follow or a ftncontainer at the end of the page.
bool IsFootnoteAtEnd() const
bool IsDescendantFrom(const SwSectionFormat *pSect) const
bool IsFootnoteLock() const
const SwSectionFrame * GetFollow() const
SwTabFrame is one table in the document layout, containing rows (which contain cells).
bool IsInHeadline(const SwFrame &rFrame) const
const SfxPoolItem & GetAttr() const
const SwFormatFootnote & GetFootnote() const
sal_Int32 GetStart() const
Represents the visualization of a paragraph.
bool IsHiddenNow() const
Hidden.
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!...
SwTextNode is a paragraph in the document model.
bool getBrowseMode() const
vcl::RenderContext * GetOut() const
const SwViewOption * GetViewOptions() const
const_iterator begin() const
std::vector< Value >::const_iterator const_iterator
const_iterator find(const Value &x) const
const_iterator end() const
std::vector< SwFootnoteFrame * > SwFootnoteFrames
static SwPageFrame * lcl_GetApproximateFootnotePage(const bool bEnd, const SwPageFrame *pPage, const SwDoc *pDoc, const SwTextFootnote *pAttr)
static tools::Long lcl_Undersize(const SwFrame *pFrame)
static bool lcl_NextFootnoteBoss(SwFootnoteBossFrame *&rpBoss, SwPageFrame *&rpPage, bool bDontLeave)
static void FootnoteInArr(SwFootnoteFrames &rFootnoteArr, SwFootnoteFrame *pFootnote)
static sal_uLong lcl_FindFootnotePos(const SwDoc *pDoc, const SwTextFootnote *pAttr)
Search the position of an attribute in the FootnoteArray at the document, because all footnotes are l...
static sal_uInt16 lcl_ColumnNum(const SwFrame *pBoss)
void sw_RemoveFootnotes(SwFootnoteBossFrame *pBoss, bool bPageOnly, bool bEndNotes)
remove all footnotes (not the references) and all footnote pages
#define SAL_WARN_IF(condition, area, stream)
tools::Long const nBorder
Dialog to specify the properties of date form field.
SwTwips FootnoteSeparatorHeight(SwPageFootnoteInfo const &rInf)
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
Marks a position in the document model.
@ FootnoteInvalidationGone
@ AdjustSizeWithoutFormatting