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:
[legend]

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 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 218 of file docary.hxx.

Member Typedef Documentation

Definition at line 223 of file docary.hxx.

Definition at line 222 of file docary.hxx.

Constructor & Destructor Documentation

SwRedlineTable::~SwRedlineTable ( )

Definition at line 625 of file docredln.cxx.

Member Function Documentation

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

Definition at line 446 of file docredln.cxx.

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

Definition at line 663 of file docredln.cxx.

References Remove.

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

void SwRedlineTable::dumpAsXml ( xmlTextWriterPtr  pWriter) const

Definition at line 770 of file docredln.cxx.

References size, and void().

Referenced by SwDoc::dumpAsXml().

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

Find the redline at the given position.

Parameters
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 742 of file docredln.cxx.

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

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

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

Definition at line 683 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 seq.no.

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 698 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 690 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
inline

Definition at line 238 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 597 of file docredln.cxx.

References sw::GetAllValidRanges(), and Insert.

void SwRedlineTable::LOKRedlineNotification ( RedlineNotification  eType,
SwRangeRedline pRedline 
)
static
SwRangeRedline* SwRedlineTable::operator[] ( size_type  idx) const
inline

Definition at line 266 of file docary.hxx.

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

Definition at line 638 of file docredln.cxx.

References nPos, and Remove.

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

Definition at line 265 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(), 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(), SwTableLine::IsDeleted(), 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(), DocxAttributeOutput::TableRowRedline(), SwUndoRedline::UndoImpl(), SwUndoRedlineSort::UndoRedlineImpl(), SwTextNode::Update(), SwXRedlinePortion::Validate(), and RtfExport::WriteRevTab().

Member Data Documentation

bool SwRedlineTable::m_bHasOverlappingElements = false
private

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 229 of file docary.hxx.

Referenced by HasOverlappingElements().

vector_type SwRedlineTable::maVector
private

Definition at line 226 of file docary.hxx.

constexpr size_type SwRedlineTable::npos = SAL_MAX_INT32
static

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