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

#include <docary.hxx>

Collaboration diagram for SwRedlineTable:

Public Types

typedef o3tl::sorted_vector< SwRangeRedline *, CompareSwRedlineTable, o3tl::find_partialorder_ptrequalsvector_type
typedef vector_type::size_type size_type

Public Member Functions

 ~SwRedlineTable ()
bool Contains (const SwRangeRedline *p) const
size_type GetPos (const SwRangeRedline *p) const
bool Insert (SwRangeRedline *&p)
bool Insert (SwRangeRedline *&p, size_type &rInsPos)
bool InsertWithValidRanges (SwRangeRedline *&p, size_type *pInsPos=nullptr)
bool HasOverlappingElements () const
void Remove (size_type nPos)
void Remove (const SwRangeRedline *p)
void DeleteAndDestroy (size_type nPos)
void DeleteAndDestroyAll ()
void dumpAsXml (xmlTextWriterPtr pWriter) const
size_type FindNextOfSeqNo (size_type nSttPos) const
size_type FindPrevOfSeqNo (size_type nSttPos) const
size_type FindNextSeqNo (sal_uInt16 nSeqNo, size_type nSttPos) const
 Search next or previous Redline with the same Seq. More...
size_type FindPrevSeqNo (sal_uInt16 nSeqNo, size_type nSttPos) const
const SwRangeRedlineFindAtPosition (const SwPosition &startPosition, size_type &tableIndex, bool next=true) const
 Find the redline at the given position. More...
bool isMoved (size_type tableIndex) const
bool empty () const
size_type size () const
SwRangeRedlineoperator[] (size_type idx) const
vector_type::const_iterator begin () const
vector_type::const_iterator end () const
void Resort ()

Static Public Member Functions

static void LOKRedlineNotification (RedlineNotification eType, SwRangeRedline *pRedline)
 Emits LOK notification about one addition / removal of a redline item. More...

Static Public Attributes

static constexpr size_type npos = SAL_MAX_INT32

Private Member Functions

void CheckOverlapping (vector_type::const_iterator it)

Private Attributes

vector_type maVector
bool m_bHasOverlappingElements = false
 Sometimes we load bad data, and we need to know if we can use fast binary search, or if we have to fall back to a linear search. More...

Detailed Description

Definition at line 217 of file docary.hxx.

Member Typedef Documentation

Definition at line 222 of file docary.hxx.

Definition at line 221 of file docary.hxx.

Constructor & Destructor Documentation

SwRedlineTable::~SwRedlineTable ( )

Definition at line 622 of file docredln.cxx.

Member Function Documentation

vector_type::const_iterator SwRedlineTable::begin ( ) const
void SwRedlineTable::CheckOverlapping ( vector_type::const_iterator  it)

Definition at line 443 of file docredln.cxx.

bool SwRedlineTable::Contains ( const SwRangeRedline p) const
void SwRedlineTable::DeleteAndDestroy ( size_type  nPos)
void SwRedlineTable::DeleteAndDestroyAll ( )

Definition at line 660 of file docredln.cxx.

References Remove.

Referenced by SwDoc::ClearDoc(), and SwDoc::~SwDoc().

void SwRedlineTable::dumpAsXml ( xmlTextWriterPtr  pWriter) const

Definition at line 857 of file docredln.cxx.

References size, and void().

Referenced by SwDoc::dumpAsXml().

bool SwRedlineTable::empty ( ) const
vector_type::const_iterator SwRedlineTable::end ( ) const
const SwRangeRedline * SwRedlineTable::FindAtPosition ( const SwPosition startPosition,
size_type tableIndex,
bool  next = true 
) const

Find the redline at the given position.

tableIndexposition in SwRedlineTable to start searching at, will be updated with the index of the returned redline (or the next redline after the given position if not found)
nexttrue: redline starts at position and ends after, false: redline starts before position and ends at or after

Definition at line 739 of file docredln.cxx.

References SwPaM::End(), SwPaM::HasMark(), SwRangeRedline::IsVisible(), and SwPaM::Start().

Referenced by SwLineLayout::CalcLine(), SwView::GetState(), SwTextFormatter::NewFootnoteNumPortion(), sw::DocumentRedlineManager::SelNextRedline(), and sw::DocumentRedlineManager::SelPrevRedline().

SwRedlineTable::size_type SwRedlineTable::FindNextOfSeqNo ( size_type  nSttPos) const

Definition at line 680 of file docredln.cxx.

References size.

Referenced by SwCursorShell::GotoRedline().

SwRedlineTable::size_type SwRedlineTable::FindNextSeqNo ( sal_uInt16  nSeqNo,
size_type  nSttPos 
) const

Search next or previous Redline with the same Seq.

Find the next or preceding Redline with the same

No. Search can be restricted via Lookahead. Using 0 makes search the whole array.

We can limit the search using look ahead (0 searches the whole array).

Definition at line 695 of file docredln.cxx.

References size.

Referenced by sw::DocumentRedlineManager::AcceptRedline(), and sw::DocumentRedlineManager::RejectRedline().

SwRedlineTable::size_type SwRedlineTable::FindPrevOfSeqNo ( size_type  nSttPos) const

Definition at line 687 of file docredln.cxx.

Referenced by SwCursorShell::GotoRedline().

SwRedlineTable::size_type SwRedlineTable::FindPrevSeqNo ( sal_uInt16  nSeqNo,
size_type  nSttPos 
) const
SwRedlineTable::size_type SwRedlineTable::GetPos ( const SwRangeRedline p) const
bool SwRedlineTable::HasOverlappingElements ( ) const

Definition at line 237 of file docary.hxx.

References m_bHasOverlappingElements.

Referenced by sw::DocumentRedlineManager::GetRedlinePos().

bool SwRedlineTable::Insert ( SwRangeRedline *&  p)
bool SwRedlineTable::Insert ( SwRangeRedline *&  p,
size_type rInsPos 
bool SwRedlineTable::InsertWithValidRanges ( SwRangeRedline *&  p,
size_type pInsPos = nullptr 

Definition at line 594 of file docredln.cxx.

References sw::GetAllValidRanges(), and Insert().

bool SwRedlineTable::isMoved ( size_type  tableIndex) const
void SwRedlineTable::LOKRedlineNotification ( RedlineNotification  eType,
SwRangeRedline pRedline 
SwRangeRedline* SwRedlineTable::operator[] ( size_type  idx) const

Definition at line 268 of file docary.hxx.

void SwRedlineTable::Remove ( size_type  nPos)
void SwRedlineTable::Remove ( const SwRangeRedline p)

Definition at line 635 of file docredln.cxx.

References nPos, and Remove.

void SwRedlineTable::Resort ( )
size_type SwRedlineTable::size ( ) const

Definition at line 267 of file docary.hxx.

References o3tl::sorted_vector< Value, Compare, Find, class >::size().

Referenced by sw::DocumentRedlineManager::AcceptAllRedline(), sw::DocumentRedlineManager::AcceptRedlineParagraphFormatting(), sw::DocumentRedlineManager::AppendRedline(), SwRedlineItr::CheckLine(), sw::DocumentRedlineManager::CompressRedlines(), SwDoc::CorrAbs(), sw::DocumentRedlineManager::DeleteRedline(), SwTextShell::ExecField(), SwDocShell::Execute(), SwView::Execute(), SwUndo::FillSaveData(), SwUndo::FillSaveDataForFormat(), SwEditShell::FindRedlineOfData(), SwXRedlines::getByIndex(), SwXRedlines::getCount(), SwRedlineItr::GetNextRedln(), SwXText::getPropertyValue(), sw::DocumentRedlineManager::GetRedline(), SwEditShell::GetRedlineCount(), sw::DocumentRedlineManager::GetRedlinePos(), SwTextNode::GetRedlineText(), SwWW8AttrIter::GetRunLevelRedline(), SwView::GetState(), SwXTextDocument::getTrackedChanges(), SwXRedlineEnumeration::hasMoreElements(), sw::DocumentRedlineManager::HasRedline(), sw::DocumentRedlineManager::HideAll(), SwWW8AttrIter::IncludeEndOfParaCRInRedlineProperties(), SwNodes::InsertTextSection(), lcl_CollectDeletedRedlines(), lcl_disableShowChangesIfNeeded(), lcl_FillRedlineArray(), lcl_getFormatCollection(), lcl_GetRedlineAtNodeInsertionOrDeletion(), lcl_MaskRedlines(), SwTextFrame::MakePos(), MaybeNotifyRedlineModification(), SwRangeRedline::MoveFromSection(), sw::DocumentContentOperationsManager::MoveNodeRange(), SwDoc::MoveParagraphImpl(), SwXRedlineEnumeration::nextElement(), SwTextFrame::PaintEmpty(), SwWW8AttrIter::SearchNext(), SwRedlineItr::Seek(), SwScriptInfo::selectRedLineDeleted(), sw::DocumentRedlineManager::SelNextRedline(), sw::DocumentRedlineManager::SetRedlineComment(), sw::DocumentRedlineManager::SetRedlineFlags(), SwUndo::SetSaveData(), SwEditShell::SetTextFormatColl(), sw::DocumentRedlineManager::ShowAll(), sw::DocumentRedlineManager::SplitRedline(), sw_DebugRedline(), SwRedlineSaveData::SwRedlineSaveData(), SwUndoRedline::UndoImpl(), SwUndoRedlineSort::UndoRedlineImpl(), SwTextNode::Update(), SwTableLine::UpdateTextChangesOnly(), SwXRedlinePortion::Validate(), and RtfExport::WriteRevTab().

Member Data Documentation

bool SwRedlineTable::m_bHasOverlappingElements = false

Sometimes we load bad data, and we need to know if we can use fast binary search, or if we have to fall back to a linear search.

Definition at line 228 of file docary.hxx.

Referenced by HasOverlappingElements().

vector_type SwRedlineTable::maVector

Definition at line 225 of file docary.hxx.

constexpr size_type SwRedlineTable::npos = SAL_MAX_INT32

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