44 && pRedline->
GetType() == RedlineType::Delete
56 return ( nIdxLHS == nIdxRHS && lhs->
GetStart() < rhs->
GetStart() ) || nIdxLHS < nIdxRHS;
84 if (pTmp->IsHideRedlines())
95 if( !rOutlNds.
empty() )
100 for( ;
n < rOutlNds.
size(); ++
n )
101 if( rOutlNds[
n ]->GetIndex() > rStt.
GetIndex() )
103 else if ( rOutlNds[
n ]->GetTextNode()->GetAttrOutlineLevel() == 1 )
105 nChapterStart = rOutlNds[
n ]->GetIndex();
108 pChapterStartHidden = rOutlNds[
n ];
112 for( ;
n < rOutlNds.
size(); ++
n )
113 if ( rOutlNds[
n ]->GetTextNode()->GetAttrOutlineLevel() == 1 )
115 nChapterEnd = rOutlNds[
n ]->GetIndex();
120 for ( ;
n < rOutlNds.
size(); ++
n)
122 if (rOutlNds[
n]->GetTextNode()->GetAttrOutlineLevel() == 1
125 nChapterEndHidden = rOutlNds[
n]->GetIndex();
132 size_t nFootnoteNo = 1;
133 size_t nFootnoteNoHidden = 1;
137 const SwNode* pCmpNd = &rStt;
138 while(
nPos && pCmpNd == &((*
this)[ --
nPos ]->GetTextNode()) )
146 if( rOutlNds.
empty() )
148 nFootnoteNo =
nPos+1;
151 nFootnoteNoHidden = (*this)[
nPos - 1]->GetFootnote().GetNumberRLHidden() + 1;
157 pTextFootnote = (*this)[
nPos ];
159 if (nChapterEndHidden <= nNode)
167 (nChapterStart <= nNode && nNode < nChapterEnd)
172 if (nChapterStart <= nNode && nNode < nChapterEnd)
190 size_t nFootnoteNo = 1;
192 size_t nFootnoteNoHidden = 1;
193 size_t nEndNoHidden = 1;
197 pTextFootnote = (*this)[
nPos ];
198 if( nUpdNdIdx <= pTextFootnote->GetTextNode().GetIndex() )
204 if (!aNumArr.
ChkNumber(rIDRA, *pTextFootnote).first)
229 pTextFootnote = (*this)[
nPos ];
233 std::pair<sal_uInt16, sal_uInt16> nSectNo = aNumArr.
ChkNumber(rIDRA, *pTextFootnote);
234 if (!nSectNo.first && (rFootnote.
IsEndNote() || !bEndNoteOnly))
272 SwDoc& rDoc =
const_cast<SwDoc&
>((*this)[ 0 ]->GetTextNode().GetDoc());
290 if (pTmp->IsHideRedlines())
298 sal_uInt16 nNoNo = 1;
299 size_t nFootnoteIdx = 0;
300 for(
size_t n = 0;
n < rOutlNds.
size(); ++
n )
302 if ( rOutlNds[
n ]->GetTextNode()->GetAttrOutlineLevel() == 1 )
305 for( ; nFootnoteIdx <
size(); ++nFootnoteIdx )
307 pTextFootnote = (*this)[ nFootnoteIdx ];
327 if( nFootnoteIdx >=
size() )
338 for (nNo = 1, nNoNo = 1; nFootnoteIdx <
size(); ++nFootnoteIdx)
341 pTextFootnote = (*this)[ nFootnoteIdx ];
361 sal_uInt16 nFootnoteNo = 1;
362 sal_uInt16 nEndnoteNo = 1;
363 sal_uInt16 nFootnoteNoHidden = 1;
364 sal_uInt16 nEndnoteNoHidden = 1;
367 pTextFootnote = (*this)[
nPos ];
371 std::pair<sal_uInt16, sal_uInt16> nSectNo = aNumArr.
ChkNumber(rIDRA, *pTextFootnote);
372 if (!nSectNo.first && (rFootnote.
IsEndNote() || !bEndNoteOnly))
404 for(
auto aLayout : aAllLayouts )
405 aLayout->UpdateFootnoteNums();
419 const size_t nM = nU + ( nO - nU ) / 2;
425 return (*
this)[ nM ];
427 else if( nNdIdx < nIdx )
467 std::pair<sal_uInt16, sal_uInt16> nRet(0, 0);
469 std::vector<const SwSectionNode*>* pArr;
470 std::vector<std::pair<sal_uInt16, sal_uInt16>> *pNum;
484 for(
size_t n = pArr->size();
n; )
485 if( (*pArr)[ --
n ] == &rNd )
487 nRet.first = ++((*pNum)[
n ].first);
490 ++((*pNum)[
n ].second);
492 nRet.second = ((*pNum)[
n ].second);
498 pArr->push_back( &rNd );
501 GetFormatAttr( nWh )).GetOffset();
502 nRet.first = tmp + 1;
503 nRet.second = tmp + 1;
504 pNum->push_back( nRet );
515 ?
GetNumber(rIDRA, rTextFootnote, *pSectNd)
516 : std::pair<sal_uInt16, sal_uInt16>(0, 0);
virtual const SwRootFrame * GetCurrentLayout() const =0
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
const SwFootnoteInfo & GetFootnoteInfo() const
o3tl::sorted_vector< SwRootFrame * > GetAllLayouts()
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
const SwEndNoteInfo & GetEndNoteInfo() const
sal_uInt16 m_nFootnoteOffset
Base class of the Writer document model elements.
SwNodeOffset GetIndex() const
SwSectionNode * FindSectionNode()
Search section node, in which it is.
const SwStartNode * StartOfSectionNode() const
const SwOutlineNodes & GetOutLineNds() const
Array of all OutlineNodes.
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
const SwPosition * GetMark() const
const SwPosition * GetPoint() const
RedlineType GetType(sal_uInt16 nPos=0) const
vector_type::size_type size_type
The root element of a Writer document layout.
A section node represents the start of a section on the UI, i.e.
const SwSection & GetSection() const
SwSectionFormat * GetFormat()
const SwFormatFootnote & GetFootnote() const
sal_Int32 GetStart() const
@ FTNEND_ATTXTEND_OWNNUMANDFMT
-""- and with own numberformat
@ FTNEND_ATTXTEND_OWNNUMSEQ
-""- and with own number sequence
#define SwTextFootnote_GetIndex(pFIdx)
constexpr TypedWhichId< SwFormatEndAtTextEnd > RES_END_AT_TXTEND(124)
constexpr TypedWhichId< SwFormatFootnoteAtTextEnd > RES_FTN_AT_TXTEND(123)
Dialog to specify the properties of date form field.
bool IsFootnoteDeleted(IDocumentRedlineAccess const &rIDRA, SwTextFootnote const &rTextFootnote)
bool IsParaPropsNode(SwRootFrame const &rLayout, SwTextNode const &rNode)
Marks a position in the document model.