LibreOffice Module sw (master)  1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
SwNodes Class Referencefinal

#include <ndarr.hxx>

Inheritance diagram for SwNodes:
Collaboration diagram for SwNodes:

Public Types

typedef std::vector< SwNodeRangeNodeRanges_t
typedef std::vector< NodeRanges_tTableRanges_t

Public Member Functions

 ~SwNodes ()
 Destructor. More...
SwNodePtr operator[] (sal_uLong n) const
sal_uLong Count () const
void ForEach (FnForEach_SwNodes fnForEach, void *pArgs=nullptr)
void ForEach (sal_uLong nStt, sal_uLong nEnd, FnForEach_SwNodes fnForEach, void *pArgs)
void ForEach (const SwNodeIndex &rStart, const SwNodeIndex &rEnd, FnForEach_SwNodes fnForEach, void *pArgs)
SwNodeGetEndOfPostIts () const
 A still empty section. More...
SwNodeGetEndOfInserts () const
 Section for all footnotes. More...
SwNodeGetEndOfAutotext () const
 Section for all Flys/Header/Footers. More...
SwNodeGetEndOfRedlines () const
 Section for all Redlines. More...
SwNodeGetEndOfExtras () const
 This is the last EndNode of a special section. More...
SwNodeGetEndOfContent () const
 Regular ContentSection (i.e. the BodyText). More...
bool IsDocNodes () const
 Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc.hxx (because one needs to know Doc for it) ! More...
void Delete (const SwNodeIndex &rPos, sal_uLong nNodes=1)
 delete nodes More...
bool MoveNodes (const SwNodeRange &, SwNodes &rNodes, const SwNodeIndex &, bool bNewFrames=true)
 move the node pointer More...
void MoveRange (SwPaM &, SwPosition &, SwNodes &rNodes)
 move a range More...
void Copy_ (const SwNodeRange &rRg, const SwNodeIndex &rInsPos, bool bNewFrames=true) const
void SectionUp (SwNodeRange *)
 increase level of the given range More...
void SectionDown (SwNodeRange *pRange, SwStartNodeType=SwNormalStartNode)
 create a start/end section pair More...
SwContentNodeGoNext (SwNodeIndex *) const
SwContentNodeGoNextSection (SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true) const
 Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!!!). More...
SwTextNodeMakeTextNode (const SwNodeIndex &rWhere, SwTextFormatColl *pColl, bool bNewFrames=true)
 Implementations of "Make...Node" are in the given .cxx-files. More...
SwStartNodeMakeTextSection (const SwNodeIndex &rWhere, SwStartNodeType eSttNdTyp, SwTextFormatColl *pColl)
SwOLENodeMakeOLENode (const SwNodeIndex &rWhere, const svt::EmbeddedObjectRef &, SwGrfFormatColl *pColl)
 in ndole.cxx More...
SwOLENodeMakeOLENode (const SwNodeIndex &rWhere, const OUString &rName, sal_Int64 nAspect, SwGrfFormatColl *pColl, SwAttrSet const *pAutoAttr)
 in ndole.cxx More...
const SwOutlineNodesGetOutLineNds () const
 Array of all OutlineNodes. More...
void UpdateOutlineNode (SwNode &rNd)
 Update all Nodes - Rule/Format-Change. More...
SwTableNodeTextToTable (const SwNodeRange &rRange, sal_Unicode cCh, SwTableFormat *pTableFormat, SwTableLineFormat *pLineFormat, SwTableBoxFormat *pBoxFormat, SwTextFormatColl *pTextColl, SwUndoTextToTable *pUndo)
 Create balanced table from selected range. More...
std::unique_ptr< SwNodeRangeExpandRangeForTableBox (const SwNodeRange &rRange)
SwTableNodeTextToTable (const TableRanges_t &rTableNodes, SwTableFormat *pTableFormat, SwTableLineFormat *pLineFormat, SwTableBoxFormat *pBoxFormat)
 create a table from a vector of NodeRanges - API support More...
bool TableToText (const SwNodeRange &rRange, sal_Unicode cCh, SwUndoTableToText *)
 Create regular text from what was table. More...
SwTableNodeUndoTableToText (sal_uLong nStt, sal_uLong nEnd, const SwTableToTextSaves &rSavedData)
 Is in untbl.cxx and may called only by Undo-object. More...
bool InsBoxen (SwTableNode *, SwTableLine *, SwTableBoxFormat *, SwTextFormatColl *, const SfxItemSet *pAutoAttr, sal_uInt16 nInsPos, sal_uInt16 nCnt=1)
 Insert a new box in the line before InsPos. More...
SwTableNodeSplitTable (const SwNodeIndex &rPos, bool bAfter=true, bool bCalcNewSize=false)
 Splits a table at the base-line which contains the index. More...
bool MergeTable (const SwNodeIndex &rPos, bool bWithPrev=true, sal_uInt16 nMode=0)
 Two Tables that are following one another are merged. More...
SwSectionNodeInsertTextSection (SwNodeIndex const &rNdIdx, SwSectionFormat &rSectionFormat, SwSectionData const &, SwTOXBase const *const pTOXBase, SwNodeIndex const *const pEnd, bool const bInsAtStart=true, bool const bCreateFrames=true)
 Insert a new SwSection. More...
SwDocGetDoc ()
 Which Doc contains the nodes-array? More...
const SwDocGetDoc () const
SwNodeFindPrvNxtFrameNode (SwNodeIndex &rFrameIdx, const SwNode *pEnd) const
 Search previous / next content node or table node with frames. More...
SwNodeDocumentSectionStartNode (SwNode *pNode) const
SwNodeDocumentSectionEndNode (SwNode *pNode) const
void dumpAsXml (xmlTextWriterPtr pWriter) const
 Dumps the entire nodes structure to the given destination (file nodes.xml in the current directory by default) More...

Static Public Member Functions

static sal_uInt16 GetSectionLevel (const SwNodeIndex &rIndex)
 get section level at the given position More...
static void GoStartOfSection (SwNodeIndex *)
static void GoEndOfSection (SwNodeIndex *)
static SwContentNodeGoPrevious (SwNodeIndex *)
static SwContentNodeGoPrevSection (SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true)
static SwStartNodeMakeEmptySection (const SwNodeIndex &rIdx, SwStartNodeType=SwNormalStartNode)
 Create an empty section of Start- and EndNote. More...
static SwGrfNodeMakeGrfNode (const SwNodeIndex &rWhere, const OUString &rGrfName, const OUString &rFltName, const Graphic *pGraphic, SwGrfFormatColl *pColl, SwAttrSet const *pAutoAttr=nullptr)
 in ndgrf.cxx More...
static SwGrfNodeMakeGrfNode (const SwNodeIndex &rWhere, const GraphicObject &rGrfObj, SwGrfFormatColl *pColl)
 in ndgrf.cxx More...
static SwTableNodeInsertTable (const SwNodeIndex &rNdIdx, sal_uInt16 nBoxes, SwTextFormatColl *pContentTextColl, sal_uInt16 nLines, sal_uInt16 nRepeat, SwTextFormatColl *pHeadlineTextColl, const SwAttrSet *pAttrSet)
 Insert nodes for tables. More...

Private Member Functions

void RemoveNode (sal_uLong nDelPos, sal_uLong nLen, bool bDel)
void InsertNode (const SwNodePtr pNode, const SwNodeIndex &rPos)
void InsertNode (const SwNodePtr pNode, sal_uLong nPos)
void DelNodes (const SwNodeIndex &rStart, sal_uLong nCnt=1)
 Delete a number of nodes. More...
void ChgNode (SwNodeIndex const &rDelPos, sal_uLong nSize, SwNodeIndex &rInsPos, bool bNewFrames)
void UpdateOutlineIdx (const SwNode &)
 Update all OutlineNodes starting from Node. More...
void CopyNodes (const SwNodeRange &, const SwNodeIndex &, bool bNewFrames, bool bTableInsDummyNode=false) const
void DelDummyNodes (const SwNodeRange &rRg)
 SwNodes (SwNodes const &)=delete
SwNodesoperator= (SwNodes const &)=delete
 SwNodes (SwDoc *pDoc)
 Constructor. More...
- Private Member Functions inherited from BigPtrArray
 BigPtrArray ()
 ~BigPtrArray ()
sal_uLong Count () const
void Insert (BigPtrEntry *p, sal_uLong pos)
void Remove (sal_uLong pos, sal_uLong n=1)
void Move (sal_uLong from, sal_uLong to)
void Replace (sal_uLong pos, BigPtrEntry *p)
BigPtrEntryoperator[] (sal_uLong) const
sal_uInt16 Index2Block (sal_uLong) const
 block search More...
BlockInfoInsBlock (sal_uInt16)
 insert block More...
void BlockDel (sal_uInt16)
 some blocks were deleted More...
void UpdIndex (sal_uInt16)
 recalculate indices More...
sal_uInt16 Compress ()
 Compress the array. More...

Static Private Member Functions

static void SectionUpDown (const SwNodeIndex &aStart, const SwNodeIndex &aEnd)
 correct indices after movement More...

Private Attributes

 ring of all indices on nodes. More...
 This Doc contains the nodes-array. More...
 These are the fixed ranges. More...
std::unique_ptr< SwNodem_pEndOfContent
std::unique_ptr< SwOutlineNodesm_pOutlineNodes
 Array of all outline nodes. More...
bool m_bInNodesDel: 1
 In Case of recursive calling. More...
bool m_bInDelUpdOutline: 1
 Flag for updating of Outline. More...
- Private Attributes inherited from BigPtrArray
std::unique_ptr< BlockInfo *[]> m_ppInf
 block info More...
sal_uLong m_nSize
 number of elements More...
sal_uInt16 m_nMaxBlock
 current max. number of blocks More...
sal_uInt16 m_nBlock
 number of blocks More...
sal_uInt16 m_nCur
 last used block More...


class SwDoc
class SwNode
class SwNodeIndex
class SwStartNode
class ::sw::DocumentContentOperationsManager

Detailed Description

Definition at line 87 of file ndarr.hxx.

Member Typedef Documentation

typedef std::vector<SwNodeRange> SwNodes::NodeRanges_t

Definition at line 137 of file ndarr.hxx.

typedef std::vector<NodeRanges_t> SwNodes::TableRanges_t

Definition at line 138 of file ndarr.hxx.

Constructor & Destructor Documentation

SwNodes::SwNodes ( SwNodes const &  )
SwNodes::SwNodes ( SwDoc pDocument)


creates the base sections (PostIts, Inserts, AutoText, RedLines, Content)

pDocumentTODO: provide documentation

Definition at line 58 of file nodes.cxx.

References assert(), m_bInDelUpdOutline, m_bInNodesDel, m_pEndOfAutotext, m_pEndOfContent, m_pEndOfInserts, m_pEndOfPostIts, m_pEndOfRedlines, m_pMyDoc, m_pOutlineNodes, SwNode::m_pStartOfSection, nPos, and SwStartNode.

SwNodes::~SwNodes ( )


Deletes all nodes whose pointer are in a dynamic array. This should be no problem as nodes cannot be created outside this array and, thus, cannot be part of multiple arrays.

Definition at line 93 of file nodes.cxx.

References SwNodeIndex::GetNode(), m_pEndOfContent, and m_pOutlineNodes.

Member Function Documentation

void SwNodes::ChgNode ( SwNodeIndex const &  rDelPos,
sal_uLong  nSize,
SwNodeIndex rInsPos,
bool  bNewFrames 

Definition at line 114 of file nodes.cxx.

References SwTextNode::AddToList(), SwTextMeta::ChgTextNode(), SwContentNode::ChkCondColl(), SwpHints::Count(), Dde, SwDDEFieldType::DecRefCnt(), SwDoc::FindNumRulePtr(), FindPrvNxtFrameNode(), SwpHints::Get(), SwTextAttr::GetAttr(), SwNode::GetContentNode(), IDocumentLayoutAccess::GetCurrentViewShell(), GetDoc(), SwDoc::GetDocShell(), GetEndOfRedlines(), SwFormatField::GetField(), SwTextAttr::GetFormatField(), SwDoc::getIDocumentFieldsAccess(), SwDoc::getIDocumentLayoutAccess(), SwDoc::GetIDocumentUndoRedo(), SwNodeIndex::GetIndex(), SwNode::GetIndex(), SwNumRule::GetName(), SwNodeIndex::GetNode(), SwNodeIndex::GetNodes(), SwDoc::GetNodes(), SwTextNode::GetNumRule(), SwTextNode::GetpSwpHints(), SwTextNode::GetTextColl(), SwNode::GetTextNode(), SwField::GetTyp(), i, SwDDEFieldType::IncRefCnt(), IDocumentFieldsAccess::InsDelFieldInFieldLst(), INSERTED, InsertNode(), SwContentNode::InvalidateNumRule(), SwNode::IsContentNode(), SwFormatField::IsFieldInDoc(), SwNode::IsNoTextNode(), SwTextNode::IsOutline(), SwNode::IsSectionNode(), SwNode::IsTableNode(), SwNode::IsTextNode(), IDocumentUndoRedo::IsUndoNodes(), m_pOutlineNodes, SwContentNode::MakeFramesForAdjacentContentNode(), SwDoc::MakeNumRule(), BigPtrArray::Move(), n, Postit, REMOVED, SwTextNode::RemoveFromList(), RemoveNode(), RES_CONDTXTFMTCOLL(), RES_TXTATR_ANNOTATION(), RES_TXTATR_FIELD(), RES_TXTATR_FTN(), RES_TXTATR_INPUTFIELD(), RES_TXTATR_META(), RES_TXTATR_METAFIELD(), RES_TXTATR_REFMARK(), RES_TXTATR_TOXMARK(), IDocumentFieldsAccess::SetFieldsDirty(), SwNumRule::SetInvalidRule(), SwNode::StartOfSectionNode(), static_txtattr_cast(), SwFormat::Which(), SwTextAttr::Which(), and SwFieldType::Which().

Referenced by MoveNodes().

void SwNodes::Copy_ ( const SwNodeRange rRg,
const SwNodeIndex rInsPos,
bool  bNewFrames = true 
) const
void SwNodes::CopyNodes ( const SwNodeRange rRange,
const SwNodeIndex rIndex,
bool  bNewFrames,
bool  bTableInsDummyNode = false 
) const
sal_uLong SwNodes::Count ( ) const
void SwNodes::DelDummyNodes ( const SwNodeRange rRg)
void SwNodes::Delete ( const SwNodeIndex rIndex,
sal_uLong  nNodes = 1 

delete nodes

This is a specific implementation of a delete function for a variable array. It is necessary as there might be inconsistencies after deleting start or end nodes. This method can clean those up.

rIndexposition to delete at (unchanged afterwards)
nNodesnumber of nodes to delete (default: 1)

Definition at line 1069 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, CheckNodesRange(), Count(), SwTableNode::DelFrames(), DelNodes(), SwNode::GetEndNode(), SwNodeIndex::GetIndex(), SwNodeIndex::GetNode(), GetStartNode(), SwNode::GetStartNode(), SwNode::GetTableNode(), SwNode::GetTextNode(), SwContentNode::InvalidateNumRule(), SwNode::IsContentNode(), SwNode::IsEndNode(), SwTextNode::IsOutline(), SwNode::IsTableNode(), SwNode::IsTextNode(), m_bInDelUpdOutline, m_bInNodesDel, m_pOutlineNodes, SwNode::m_pStartOfSection, RemoveNode(), SwNode::StartOfSectionIndex(), and UpdateOutlineIdx().

Referenced by SwUndoTableCpyTable::AddBoxAfter(), SwDoc::AppendDoc(), SwDoc::ClearDoc(), SwFEShell::Copy(), SwTextFootnote::CopyFootnote(), sw::DocumentContentOperationsManager::DeleteRangeImplImpl(), sw::DocumentContentOperationsManager::DelFullPara(), SwXMLImport::endDocument(), GetMergeSel(), SwTextNode::JoinNext(), SwTextNode::JoinPrev(), lcl_CpyBox(), SwDoc::MakeFlyAndMove(), MoveCell(), SwUndoSaveContent::MoveFromUndoNds(), SwTable::OldSplitRow(), SwUndoDelete::RedoImpl(), SwUndoUpdateIndex::RedoImpl(), SwUndoTableCpyTable::RedoImpl(), SwDoc::SplitDoc(), SwDoc::Summary(), sw_JoinText(), SwUndoSplitNode::UndoImpl(), SwUndoInsSection::UndoImpl(), SwUndoInsTable::UndoImpl(), SwUndoDelete::UndoImpl(), SwUndoUpdateIndex::UndoImpl(), SwUndoTableMerge::UndoImpl(), SwUndoInserts::UndoImpl(), SwUndoTableCpyTable::UndoImpl(), SwUndoSplitTable::UndoImpl(), SwTOXBaseSection::Update(), SwUndoInsert::~SwUndoInsert(), SwUndoInserts::~SwUndoInserts(), and SwUndoSaveSection::~SwUndoSaveSection().

void SwNodes::DelNodes ( const SwNodeIndex rStart,
sal_uLong  nCnt = 1 
SwNode * SwNodes::DocumentSectionEndNode ( SwNode pNode) const

Definition at line 2312 of file nodes.cxx.

References DocumentSectionStartNode(), and SwNode::EndOfSectionNode().

Referenced by SwUndoCompDoc::UndoImpl().

SwNode * SwNodes::DocumentSectionStartNode ( SwNode pNode) const

Definition at line 2294 of file nodes.cxx.

References SwNode::StartOfSectionNode().

Referenced by DocumentSectionEndNode().

void SwNodes::dumpAsXml ( xmlTextWriterPtr  pWriter) const

Dumps the entire nodes structure to the given destination (file nodes.xml in the current directory by default)

Definition at line 2322 of file nodes.cxx.

References Count(), and i.

std::unique_ptr< SwNodeRange > SwNodes::ExpandRangeForTableBox ( const SwNodeRange rRange)
SwNode * SwNodes::FindPrvNxtFrameNode ( SwNodeIndex rFrameIdx,
const SwNode pEnd 
) const

Search previous / next content node or table node with frames.

find the next/previous ContentNode or a table node with frames

If no end is given begin with the FrameIndex, else start search with that before rFrameIdx and pEnd at the back. If no valid node is found, return 0. rFrameIdx points to the node with frames.

If no pEnd is given, search is started with FrameIndex; otherwise search is started with the one before rFrameIdx and after pEnd.

rFrameIdxnode with frames to search in
result node; 0 (!!!) if not found

Definition at line 2023 of file nodes.cxx.

References SwSection::CalcHiddenFlag(), CheckNodesRange(), SwNode::EndOfSectionIndex(), SwNode::FindSectionNode(), SwNode::FindTableBoxStartNode(), SwNode::FindTableNode(), GetDoc(), SwNodeIndex::GetIndex(), SwNode::GetIndex(), SwNodeIndex::GetNode(), SwSectionNode::GetSection(), GoNextSection(), GoPrevSection(), SwNode::IsEndNode(), SwSection::IsHiddenFlag(), SwNode::IsSectionNode(), SwNode::IsTableNode(), and SwNode::StartOfSectionNode().

Referenced by ChgNode(), InsertTextSection(), lcl_CheckHiddenSection(), MakeFrames(), SwTableNode::MakeOwnFrames(), MakeTextNode(), and TableToText().

void SwNodes::ForEach ( FnForEach_SwNodes  fnForEach,
void pArgs = nullptr 
void SwNodes::ForEach ( sal_uLong  nStt,
sal_uLong  nEnd,
FnForEach_SwNodes  fnForEach,
void pArgs 
void SwNodes::ForEach ( const SwNodeIndex rStart,
const SwNodeIndex rEnd,
FnForEach_SwNodes  fnForEach,
void pArgs 

Definition at line 2177 of file nodes.cxx.

References ForEach(), and SwNodeIndex::GetIndex().

SwDoc* SwNodes::GetDoc ( )
const SwDoc* SwNodes::GetDoc ( ) const

Definition at line 303 of file ndarr.hxx.

SwNode& SwNodes::GetEndOfAutotext ( ) const
SwNode& SwNodes::GetEndOfContent ( ) const

Regular ContentSection (i.e. the BodyText).

Definition at line 163 of file ndarr.hxx.

Referenced by SwXDrawPage::add(), SwDoc::AppendDoc(), SwXFrame::attachToRange(), SwLayHelper::CalcPageCount(), SwChapterField::ChangeExpansion(), CheckNodesRange(), SwAutoCorrDoc::ChgAutoCorrWord(), SwCursorShell::ClearUpCursors(), SwLayoutCache::CompareLayout(), SwHHCWrapper::Convert(), SwFEShell::Copy(), sw::DocumentContentOperationsManager::CopyFlyInFlyImpl(), SwTransferable::CopyGlossary(), CopyNodes(), SwEditShell::CopySelToDoc(), SwWW8ImplReader::CoreLoad(), SwXText::CreateCursor(), SwXBodyText::createEnumeration(), SwXBodyText::createTextCursorByRange(), SwEditShell::DeleteGlobalDocContent(), DelNodes(), DocxExportFilter::exportDocument(), MSWordExportBase::ExportDocument(), SwCursorShell::ExtendedSelectAll(), SwCursorShell::ExtendedSelectedAll(), SwCursor::FillFindPos(), SwViewShell::FillPrtDoc(), SwTextFrame::FillSelection(), RtfExportFilter::filter(), SwCursor::FindAll(), sw::FindTextImpl(), SwCursorShell::FindValidContentNode(), sw::GetAllValidRanges(), GetFirstTextNode(), SwEditShell::GetGlobalDocContent(), SwXText::GetStartNode(), GoEndDoc(), GoEndSection(), GoStartDoc(), GoStartSection(), SwRangeRedline::HasValidRange(), SwRootFrame::Init(), SwEditShell::InsertGlobalDocContent(), SwDoc::InsertGlossary(), XMLRedlineImportHelper::InsertIntoDocument(), InsertTextSection(), SwUndoFlyBase::InsFly(), SwTransferable::isComplex(), lcl_CopySelToDoc(), lcl_EnsureValidPam(), WW8Glossary::Load(), SwDOCXReader::MakeEntries(), WW8Glossary::MakeEntries(), SwCursorShell::MakeOutlineSel(), SwEditShell::MoveGlobalDocContent(), SwDoc::MoveOutlinePara(), SwDoc::MoveParagraph(), SwDoc::MoveParagraphImpl(), MoveRange(), SwHTMLWriter::Out_SwDoc(), MSWordExportBase::OutputTextNode(), SwUndoInserts::RepeatImpl(), sw::DocumentContentOperationsManager::ReplaceRange(), SwEditShell::SaveGlossaryDoc(), SwCursorShell::SelectNxtPrvHyperlink(), sw::DocumentLinksAdministrationManager::SelectServerObj(), SwXFrame::setPropertyValue(), SwUndo::SetSaveData(), SwDoc::SplitDoc(), SwDoc::Summary(), SwCursorShell::SwCursorShell(), SwLayHelper::SwLayHelper(), SwListImpl::SwListImpl(), SwUndoDelete::SwUndoDelete(), SwUndoTextToTable::SwUndoTextToTable(), TestImportDOC(), TestImportHTML(), SwDoc::TextToTable(), SwUndoAttr::UndoImpl(), SwUndoInsert::UndoImpl(), SwUndoTextToTable::UndoImpl(), SwUndoInsertLabel::UndoImpl(), SwUndoInserts::UndoImpl(), SwTOXBaseSection::Update(), sw::DocumentFieldsManager::UpdateExpFieldsImpl(), SwFootnoteIdxs::UpdateFootnote(), SwLayoutCache::Write(), SwWriter::Write(), RtfExport::WriteMainText(), DocxExport::WriteMainText(), WW8Export::WriteMainText(), SwASCWriter::WriteStream(), and MSWordExportBase::WriteText().

SwNode& SwNodes::GetEndOfExtras ( ) const

This is the last EndNode of a special section.

After it there is only the regular ContentSection (i.e. the BodyText).

Definition at line 161 of file ndarr.hxx.

Referenced by SwDoc::AppendDoc(), SwLayHelper::CalcPageCount(), SwDoc::Chainable(), SwRefPageGetField::ChangeExpansion(), SwFindNearestNode::CheckNode(), SwAutoCorrDoc::ChgAutoCorrWord(), SwFEShell::Copy(), SwTextFlyCnt::CopyFlyFormat(), RtfExport::ExportDocument_Impl(), SwCursor::FindAll(), SwNode::FindPageDesc(), SwCursorShell::FindValidContentNode(), SwDocUpdateField::GetBodyNode(), SwEditShell::GetGlobalDocContent(), SwSectionFormat::GetGlobalDocSection(), SwCursorShell::GotoNxtPrvTOXMark(), SwDoc::InsertGlossary(), SwOLENode::IsInGlobalDocSection(), SwCursor::IsNoContent(), SwCursor::IsSelOvr(), lcl_FindChapterNode(), lcl_FindField(), lcl_IsOutlineMoveAndCopyable(), SwDocUpdateField::MakeFieldList_(), SwDoc::MergeDoc(), SwUndoSaveContent::MoveFromUndoNds(), SwDoc::MoveOutlinePara(), SwUndoSaveContent::MoveToUndoNds(), SwFEShell::Paste(), SwFEShell::PastePages(), SwUndoRedline::RedoImpl(), SwEditShell::SaveGlossaryDoc(), SetHTMLTemplate(), SwDoc::SplitDoc(), sw::DocumentContentOperationsManager::SplitNode(), SwCursorShell::StartsWithTable(), SwDoc::Summary(), SwUndoRedline::SwUndoRedline(), SwUndoRedline::UndoImpl(), SwRefPageGetFieldType::UpdateField(), SwFootnoteIdxs::UpdateFootnote(), sw::DocumentFieldsManager::UpdateTableFields(), SwASCWriter::WriteStream(), SwUndoInsert::~SwUndoInsert(), and SwUndoInserts::~SwUndoInserts().

SwNode& SwNodes::GetEndOfInserts ( ) const
SwNode& SwNodes::GetEndOfPostIts ( ) const
SwNode& SwNodes::GetEndOfRedlines ( ) const
const SwOutlineNodes& SwNodes::GetOutLineNds ( ) const
sal_uInt16 SwNodes::GetSectionLevel ( const SwNodeIndex rIdx)

get section level at the given position

The first node in an array should always be a start node. Because of this, there is a special treatment here based on the assumption that this is true in this context as well.
rIdxposition of the node
section level at the given position

Definition at line 1249 of file nodes.cxx.

References SwNodeIndex::GetNode(), and SwNode::GetSectionLevel().

Referenced by GoEndSection(), GoStartSection(), and HighestLevel().

void SwNodes::GoEndOfSection ( SwNodeIndex pIdx)

Definition at line 1275 of file nodes.cxx.

References SwNode::EndOfSectionNode(), SwNodeIndex::GetNode(), and SwNode::IsEndNode().

Referenced by GoEndSection().

SwContentNode * SwNodes::GoNext ( SwNodeIndex pIdx) const

Definition at line 1281 of file nodes.cxx.

References Count(), SwNodeIndex::GetIndex(), and SwNodeIndex::GetNode().

Referenced by SwStartNode::CheckSectionCondColl(), SwAutoCorrDoc::ChgAutoCorrWord(), SwCursorShell::ClearUpCursors(), SwDrawContact::ConnectToLayout(), SwTextFlyCnt::CopyFlyFormat(), SwTransferable::CopyGlossary(), SwXBodyText::CreateTextCursor(), SwXRedlineText::createTextCursor(), SwXRedline::createTextCursor(), SwXHeadFootText::createTextCursor(), SwXTextFrame::createTextCursor(), DelBookmarks(), SwChartDataSequence::DeleteBox(), SwFEShell::DeleteRow(), SwDoc::DeleteRow(), SwTextFootnote::DelFrames(), sw::DocumentContentOperationsManager::DelFullPara(), SwCursorShell::ExtendedSelectAll(), SwCursorShell::ExtendedSelectedAll(), SwCursor::FillFindPos(), SwViewShell::FillPrtDoc(), SwGetRefFieldType::FindAnchor(), SwNode::FindPageDesc(), sw::GetAllValidRanges(), SwDocUpdateField::GetBodyNode(), GetContentNode(), GetFirstTextNode(), SwFormatFootnote::GetFootnoteText(), SwTable::GetInfo(), SetGetExpField::GetNodeFromContent(), SwDoc::GetTableAutoFormat(), GoNextNds(), GoStartDoc(), SwEditShell::GotoGlobalDocContent(), SwCursorShell::GotoNextTOXBase(), SwCursorShell::GotoNxtPrvTableFormula(), SwCursorShell::GotoPrevTOXBase(), SwXTextCursor::gotoStart(), SwCursorShell::GotoTOXMarkBase(), SwDoc::InsertGlossary(), SwDoc::InsertTable(), InsTableBox(), SwFEShell::IsAdjustCellWidthAllowed(), SwCursor::IsInProtectTable(), SwNode::IsInVisibleArea(), SwCursor::IsSelOvr(), lcl_CheckHiddenPara(), lcl_CpyBox(), lcl_FindNextCell(), lcl_GetBoxFrame(), lcl_MakeSelBkwrd(), lcl_MakeSelFwrd(), lcl_TCFlags(), WW8Glossary::Load(), SwFlyFrameFormat::MakeFrames(), SwFlyLayFrame::Modify(), MoveCell(), Writer::NewUnoCursor(), MSWordExportBase::OutputTextNode(), SwFEShell::Paste(), SwUndoTableToText::RedoImpl(), SwUndoTableNumFormat::RedoImpl(), SwDoc::RemoveInvisibleContent(), SwUndoTableMerge::SaveCollection(), SwEditShell::SaveGlossaryDoc(), SwCursorShell::SetCursorInHdFt(), SetGetExpField::SetGetExpField(), SetHTMLTemplate(), SwTableNode::SetNewTable(), SwTOXBaseSection::SetPosAtStartEnd(), SwDoc::SplitTable(), SwCursorShell::StartsWithTable(), sw_BoxSetSplitBoxFormats(), SwCursorShell::SwCursorShell(), TableToText(), SwDoc::TextToTable(), SwUndoMergeTable::UndoImpl(), SwTOXBaseSection::Update(), SwTOXBaseSection::UpdateContent(), SwTOXBaseSection::UpdateTable(), and sw::DocumentFieldsManager::UpdateTableFields().

SwContentNode * SwNodes::GoNextSection ( SwNodeIndex pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
) const
SwContentNode * SwNodes::GoPrevious ( SwNodeIndex pIdx)
SwContentNode * SwNodes::GoPrevSection ( SwNodeIndex pIdx,
bool  bSkipHidden = true,
bool  bSkipProtect = true 
void SwNodes::GoStartOfSection ( SwNodeIndex pIdx)
bool SwNodes::InsBoxen ( SwTableNode pTableNd,
SwTableLine pLine,
SwTableBoxFormat pBoxFormat,
SwTextFormatColl pTextColl,
const SfxItemSet pAutoAttr,
sal_uInt16  nInsPos,
sal_uInt16  nCnt = 1 
void SwNodes::InsertNode ( const SwNodePtr  pNode,
const SwNodeIndex rPos 
void SwNodes::InsertNode ( const SwNodePtr  pNode,
sal_uLong  nPos 

Definition at line 2286 of file nodes.cxx.

References BigPtrArray::Insert().

SwTableNode * SwNodes::InsertTable ( const SwNodeIndex rNdIdx,
sal_uInt16  nBoxes,
SwTextFormatColl pContentTextColl,
sal_uInt16  nLines,
sal_uInt16  nRepeat,
SwTextFormatColl pHeadlineTextColl,
const SwAttrSet pAttrSet 

Insert nodes for tables.

If Lines is given, create the matrix from lines and boxes, else only the count of boxes.

New parameter pAttrSet: If pAttrSet is non-null and contains an adjust item it is propagated to the table cells. If there is an adjust in pContentTextColl or pHeadlineTextColl this adjust item overrides the item in pAttrSet.

Definition at line 563 of file ndtbl.cxx.

References SfxItemSet::GetItemState(), SwContentNode::GetSwAttrSet(), SwNode::m_pStartOfSection, RES_CHRATR_CJK_FONT(), RES_CHRATR_CJK_FONTSIZE(), RES_CHRATR_CTL_FONT(), RES_CHRATR_CTL_FONTSIZE(), RES_CHRATR_FONT(), RES_CHRATR_FONTSIZE(), RES_PARATR_ADJUST(), Start, SwStartNode::SwEndNode, SwStartNode, and SwTableBoxStartNode.

Referenced by SwDoc::InsertTable().

SwSectionNode * SwNodes::InsertTextSection ( SwNodeIndex const &  rNdIdx,
SwSectionFormat rSectionFormat,
SwSectionData const &  rSectionData,
SwTOXBase const *const  pTOXBase,
SwNodeIndex const *const  pEnd,
bool const  bInsAtStart = true,
bool const  bCreateFrames = true 
bool SwNodes::IsDocNodes ( ) const

Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc.hxx (because one needs to know Doc for it) !

Definition at line 2317 of file nodes.cxx.

References SwDoc::GetNodes(), and m_pMyDoc.

Referenced by SwDoc::ChangeDBFields(), SwTextNode::ChgTextCollUpdateNum(), SwHTMLWriter::CollectLinkTargets(), MSWordExportBase::CollectOutlineBookmarks(), SwDoc::ConvertFieldsToText(), SwFmDrawPage::CreateShape(), SwpHints::DeleteAtPos(), SwTextNode::DestroyAttr(), SwDoc::FindFlyByName(), SwTableFormula::FindTable(), SwDoc::GetAllUsedDB(), SwXTextSection::getAnchor(), SwDoc::GetFlyCount(), SwDoc::GetFlyNum(), SwXTextField::getPropertyValue(), SwAuthorityFieldType::GetSequencePos(), SwDoc::GetTOIKeys(), SwCursorShell::GotoNxtPrvTableFormula(), SwCursorShell::GotoNxtPrvTOXMark(), SwCursorShell::GotoRefMark(), SwCursor::GotoRegion(), SwPaM::HasReadonlySel(), IMPL_LINK(), SwViewShell::IsAnyFieldInDoc(), SwTextField::IsFieldInDoc(), SwDocUpdateField::MakeFieldList_(), SwSectionNode::MakeFramesForAdjacentContentNode(), SwTextNode::MakeNewTextNode(), SwSectionNode::MakeOwnFrames(), MakeTextNode(), MoveNodes(), MoveRange(), SwDDETable::NoDDETable(), SwSectionNode::NodesArrChgd(), SwTextField::NotifyContentChange(), SwTextNode::RemoveFromListRLHidden(), SwCursorShell::SelectNxtPrvHyperlink(), SwDoc::SetAllUniqueFlyNames(), SwDoc::SetFlyName(), SwDDETable::SwClientNotify(), SwFormatField::SwClientNotify(), SwTextNode::SwClientNotify(), SwContentNode::SwClientNotify(), SwDDETable::SwDDETable(), SwpHints::TryInsertHint(), SwDoc::UnProtectTables(), SwTOXBaseSection::Update(), SwTOXBaseSection::UpdateMarks(), UpdateOutlineIdx(), SwTOXBaseSection::UpdateTable(), sw::DocumentFieldsManager::UpdateTableFields(), and SwDDETable::~SwDDETable().

SwStartNode * SwNodes::MakeEmptySection ( const SwNodeIndex rIdx,
SwStartNodeType  eSttNdTyp = SwNormalStartNode 

Create an empty section of Start- and EndNote.

It may be called only if a new section with content is to be created, e.g. at filters/Undo/...

Definition at line 1873 of file nodes.cxx.

References Start, and SwStartNode.

Referenced by sw::DocumentLayoutManager::CopyLayoutFormat(), SwDoc::CopyMasterFooter(), SwDoc::CopyMasterHeader(), SwDoc::CopyPageDescHeaderFooterImpl(), SwRangeRedline::CopyToSection(), SwRangeRedline::MoveToSection(), and SwUndoSaveSection::RestoreSection().

SwGrfNode * SwNodes::MakeGrfNode ( const SwNodeIndex rWhere,
const OUString &  rGrfName,
const OUString &  rFltName,
const Graphic pGraphic,
SwGrfFormatColl pColl,
SwAttrSet const *  pAutoAttr = nullptr 
SwGrfNode * SwNodes::MakeGrfNode ( const SwNodeIndex rWhere,
const GraphicObject rGrfObj,
SwGrfFormatColl pColl 

in ndgrf.cxx

Definition at line 413 of file ndgrf.cxx.

SwOLENode * SwNodes::MakeOLENode ( const SwNodeIndex rWhere,
const svt::EmbeddedObjectRef xObj,
SwGrfFormatColl pColl 
SwOLENode * SwNodes::MakeOLENode ( const SwNodeIndex rWhere,
const OUString &  rName,
sal_Int64  nAspect,
SwGrfFormatColl pColl,
SwAttrSet const *  pAutoAttr 

in ndole.cxx

! needed to supply Math objects with a valid reference device

Definition at line 399 of file ndole.cxx.

References GetDoc(), SwDoc::GetDocShell(), SfxObjectShell::GetModel(), svt::EmbeddedObjectRef::GetObject(), SwOLEObj::GetObject(), and SwOLENode::GetOLEObj().

SwTextNode * SwNodes::MakeTextNode ( const SwNodeIndex rWhere,
SwTextFormatColl pColl,
bool  bNewFrames = true 
SwStartNode * SwNodes::MakeTextSection ( const SwNodeIndex rWhere,
SwStartNodeType  eSttNdTyp,
SwTextFormatColl pColl 
bool SwNodes::MergeTable ( const SwNodeIndex rPos,
bool  bWithPrev = true,
sal_uInt16  nMode = 0 
bool SwNodes::MoveNodes ( const SwNodeRange aRange,
SwNodes rNodes,
const SwNodeIndex aIndex,
bool  bNewFrames = true 

move the node pointer

Move the node pointer from "(inclusive) start position to (exclusive) end position" to target position. If the target is in front of the first or in the area between first and last element to move, nothing happens. If the area to move is empty or the end position is before the start position, nothing happens.

aRangerange to move (excluding end node)

Definition at line 394 of file nodes.cxx.

References SwNodeRange::aEnd, assert(), SwNodeRange::aStart, SvtBroadcaster::Broadcast(), ChgNode(), SwDDEFieldType::DecRefCnt(), SwTableNode::DelFrames(), SwSectionNode::DelFrames(), DelNodes(), End, SwNode::GetContentNode(), GetDoc(), GetEndNode(), SwNode::GetEndNode(), GetEndOfRedlines(), SwTable::GetFrameFormat(), SwNodeIndex::GetIndex(), SwNode::GetIndex(), SwNodeIndex::GetNode(), SwNode::GetNodeType(), sw::BroadcasterMixin::GetNotifier(), SwNode::GetSectionNode(), GetStartNode(), SwTableNode::GetTable(), SwNode::GetTextNode(), Grf, SwDDEFieldType::IncRefCnt(), InsertNode(), SwNode::IsContentNode(), IsDocNodes(), SwNode::IsEndNode(), SwTextNode::IsOutline(), SwNode::IsSectionNode(), SwNode::IsStartNode(), SwNode::IsTableNode(), SwNode::IsTextNode(), SwStartNode::m_pEndOfSection, m_pOutlineNodes, SwNode::m_pStartOfSection, SwTableNode::MakeOwnFrames(), SwSectionNode::MakeOwnFrames(), BigPtrArray::Move(), n, Ole, PlaceHolder, RemoveNode(), Section, Start, SwNode::StartOfSectionIndex(), SwNode::StartOfSectionNode(), SwNormalStartNode, SwStartNode, Table, Text, and UpdateOutlineIdx().

Referenced by SwUndoSaveContent::MoveFromUndoNds(), sw::DocumentContentOperationsManager::MoveNodeRange(), MoveRange(), SwUndoSaveContent::MoveToUndoNds(), SwTable::OldSplitRow(), SwDoc::SplitDoc(), SwUndoDelete::SwUndoDelete(), SwUndoDelete::UndoImpl(), and SwUndoTableNdsChg::UndoImpl().

void SwNodes::MoveRange ( SwPaM rPam,
SwPosition rPos,
SwNodes rNodes 
SwNodes& SwNodes::operator= ( SwNodes const &  )
SwNodePtr SwNodes::operator[] ( sal_uLong  n) const

Definition at line 741 of file node.hxx.

References BigPtrArray::operator[]().

void SwNodes::RemoveNode ( sal_uLong  nDelPos,
sal_uLong  nLen,
bool  bDel 
void SwNodes::SectionDown ( SwNodeRange pRange,
SwStartNodeType  eSttNdTyp = SwNormalStartNode 

create a start/end section pair

Other nodes might be in between.

After this method call, the start node of pRange will be pointing to the first node after the start section node and the end node will be the index of the end section node. If this method is called multiple times with the same input, multiple sections containing the previous ones will be created (no content nodes between start or end node).

Start and end node of the range must be on the same level but MUST NOT be on the top level.
[IN,OUT]pRange the range (excl. end)
eSttNdTyptype of the start node

Definition at line 896 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, CheckNodesRange(), Count(), DelNodes(), SwNode::GetEndNode(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), SectionUpDown(), Start, SwNode::StartOfSectionNode(), and SwStartNode.

Referenced by CopyNodes(), SwTableNode::MakeCopy(), SwDoc::MakeFlySection_(), and MoveCell().

void SwNodes::SectionUp ( SwNodeRange pRange)

increase level of the given range

The range contained in pRange will be lifted to the next higher level. This is done by adding an end node at pRange.start and a start node at pRange.end. Furthermore all indices for this range will be updated.

After this method call, the start node of pRange will be pointing to the first node inside the lifted range and the end node will be pointing to the last position inside the lifted range.

[IN,OUT]pRange the range of nodes where the level should be increased

Definition at line 950 of file nodes.cxx.

References SwNodeRange::aEnd, SwNodeRange::aStart, CheckNodesRange(), Count(), DelNodes(), SwNode::EndOfSectionIndex(), SwNode::EndOfSectionNode(), SwNode::GetEndNode(), SwNodeIndex::GetIndex(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), HighestLevel(), SwNode::IsEndNode(), SwNode::IsStartNode(), SwNode::m_pStartOfSection, RemoveNode(), SectionUpDown(), SwNode::StartOfSectionNode(), and SwStartNode.

Referenced by TableToText(), and SwSectionFormat::~SwSectionFormat().

void SwNodes::SectionUpDown ( const SwNodeIndex aStart,
const SwNodeIndex aEnd 

correct indices after movement

Update all indices after movement so that the levels are consistent again.

aStartindex of the start node
aEndindex of the end point
See also

Definition at line 1021 of file nodes.cxx.

References SwNode::GetEndNode(), SwNodeIndex::GetNode(), SwNode::GetStartNode(), SwStartNode::m_pEndOfSection, and SwNode::m_pStartOfSection.

Referenced by SectionDown(), and SectionUp().

SwTableNode * SwNodes::SplitTable ( const SwNodeIndex rPos,
bool  bAfter = true,
bool  bCalcNewSize = false 

Splits a table at the base-line which contains the index.

All base lines behind it are moved to a new table/ -node. Is the flag bCalcNewSize set to TRUE, the new SSize for both tables is calculated from the Maximum of the boxes, provided SSize is set "absolute" (LONG_MAX). (Momentarily this is needed only for the RTF-parser.)

Definition at line 3328 of file ndtbl.cxx.

References assert(), SwTableLines::begin(), SwTable::CleanUpBottomRowSpan(), SwChartDataProvider::DeleteBox(), SwTableLines::end(), SwNode::EndOfSectionIndex(), SwNode::EndOfSectionNode(), SwTableLines::erase(), SwNode::FindTableBoxStartNode(), SwNode::FindTableNode(), IDocumentChartDataProviderAccess::GetChartDataProvider(), SwDoc::GetDfltFrameFormat(), SwFormat::GetDoc(), SwNode::GetEndNode(), SwTable::GetFrameFormat(), SwFormat::getIDocumentChartDataProviderAccess(), SwNode::GetIndex(), SwNodeIndex::GetNode(), SwTableLines::GetPos(), SwNode::GetStartNode(), SwTableBox::GetSttNd(), SwTableLine::GetTabBoxes(), SwTableNode::GetTable(), SwTable::GetTableBox(), SwTable::GetTableStyleName(), SwTable::GetTabLines(), SwTableBox::GetTabLines(), SwDoc::GetUniqueTableName(), SwTableLine::GetUpper(), SwTableBox::GetUpper(), SwTableLines::insert(), SwTable::IsNewModel(), SwNode::IsStartNode(), SwNode::IsTableNode(), lcl_ChgTableSize(), lcl_SplitTable_CpyLine(), SwNode::m_pStartOfSection, SwDoc::MakeTableFrameFormat(), SwTable::RegisterToFormat(), SwTable::SetTableModel(), SwTable::SetTableStyleName(), SwTableLines::size(), SwTable::UpdateCharts(), and USHRT_MAX.

Referenced by SwDoc::SplitTable(), and SwUndoMergeTable::UndoImpl().

bool SwNodes::TableToText ( const SwNodeRange rRange,
sal_Unicode  cCh,
SwUndoTableToText pUndo 
SwTableNode * SwNodes::TextToTable ( const SwNodeRange rRange,
sal_Unicode  cCh,
SwTableFormat pTableFormat,
SwTableLineFormat pLineFormat,
SwTableBoxFormat pBoxFormat,
SwTextFormatColl pTextColl,
SwUndoTextToTable pUndo 
SwTableNode * SwNodes::TextToTable ( const TableRanges_t rTableNodes,
SwTableFormat pTableFormat,
SwTableLineFormat pLineFormat,
SwTableBoxFormat pBoxFormat 
SwTableNode * SwNodes::UndoTableToText ( sal_uLong  nStt,
sal_uLong  nEnd,
const SwTableToTextSaves rSavedData 
void SwNodes::UpdateOutlineIdx ( const SwNode rNd)

Update all OutlineNodes starting from Node.

Definition at line 75 of file ndnum.cxx.

References GetDoc(), IsDocNodes(), SwDoc::IsInDtor(), m_pOutlineNodes, nPos, and UpdateOutlineNode().

Referenced by Delete(), DelNodes(), SwDoc::DelNumRules(), and MoveNodes().

void SwNodes::UpdateOutlineNode ( SwNode rNd)

Friends And Related Function Documentation

friend class ::sw::DocumentContentOperationsManager

Definition at line 94 of file ndarr.hxx.

friend class SwDoc

Definition at line 90 of file ndarr.hxx.

friend class SwNode

Definition at line 91 of file ndarr.hxx.

friend class SwNodeIndex

Definition at line 92 of file ndarr.hxx.

Referenced by InsBoxen(), and MakeTextSection().

friend class SwStartNode

Member Data Documentation

bool SwNodes::m_bInDelUpdOutline

Flag for updating of Outline.

Definition at line 114 of file ndarr.hxx.

Referenced by Delete(), and SwNodes().

bool SwNodes::m_bInNodesDel

In Case of recursive calling.

Do not update Num/Outline.

Definition at line 112 of file ndarr.hxx.

Referenced by Delete(), and SwNodes().

SwNode * SwNodes::m_pEndOfAutotext

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

std::unique_ptr<SwNode> SwNodes::m_pEndOfContent

Definition at line 108 of file ndarr.hxx.

Referenced by DelNodes(), SwNodes(), and ~SwNodes().

SwNode * SwNodes::m_pEndOfInserts

These are the fixed ranges.

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

SwNode* SwNodes::m_pEndOfPostIts

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

SwNode * SwNodes::m_pEndOfRedlines

Definition at line 106 of file ndarr.hxx.

Referenced by DelNodes(), and SwNodes().

SwDoc* SwNodes::m_pMyDoc

This Doc contains the nodes-array.

Definition at line 104 of file ndarr.hxx.

Referenced by IsDocNodes(), and SwNodes().

std::unique_ptr<SwOutlineNodes> SwNodes::m_pOutlineNodes

Array of all outline nodes.

Definition at line 110 of file ndarr.hxx.

Referenced by ChgNode(), Delete(), DelNodes(), MoveNodes(), SwNodes(), UpdateOutlineIdx(), UpdateOutlineNode(), SwDoc::~SwDoc(), and ~SwNodes().

SwNodeIndex* SwNodes::m_vIndices

ring of all indices on nodes.

Definition at line 96 of file ndarr.hxx.

Referenced by SwNodeIndex::DeRegisterIndex(), SwNodeIndex::RegisterIndex(), and RemoveNode().

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