LibreOffice Module sc (master) 1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XclImpXFRangeColumn Class Reference

Contains the XF indexes for every used cell in a column. More...

#include <xistyle.hxx>

Public Types

typedef std::vector< std::unique_ptr< XclImpXFRange > > IndexList
 

Public Member Functions

 XclImpXFRangeColumn (const XclImpXFRangeColumn &)=delete
 make noncopyable More...
 
const XclImpXFRangeColumnoperator= (const XclImpXFRangeColumn &)=delete
 
 XclImpXFRangeColumn ()
 
IndexList::iterator begin ()
 
IndexList::iterator end ()
 
void SetDefaultXF (const XclImpXFIndex &rXFIndex, const XclImpRoot &rRoot)
 Inserts a single row range into the list. More...
 
void SetXF (SCROW nScRow, const XclImpXFIndex &rXFIndex)
 Inserts a new (encoded) XF index (first try to expand the last range). More...
 

Private Member Functions

void Find (XclImpXFRange *&rpPrevRange, XclImpXFRange *&rpNextRange, sal_uLong &rnNextIndex, SCROW nScRow)
 Finds the previous and next row range from row position nScRow. More...
 
void TryConcatPrev (sal_uLong nIndex)
 Tries to concatenate a range with its predecessor. More...
 
void Insert (XclImpXFRange *pXFRange, sal_uLong nIndex)
 Insert a range into the list at the specified index. More...
 

Private Attributes

IndexList maIndexList
 

Detailed Description

Contains the XF indexes for every used cell in a column.

Definition at line 565 of file xistyle.hxx.

Member Typedef Documentation

◆ IndexList

typedef std::vector< std::unique_ptr<XclImpXFRange> > XclImpXFRangeColumn::IndexList

Definition at line 572 of file xistyle.hxx.

Constructor & Destructor Documentation

◆ XclImpXFRangeColumn() [1/2]

XclImpXFRangeColumn::XclImpXFRangeColumn ( const XclImpXFRangeColumn )
delete

make noncopyable

◆ XclImpXFRangeColumn() [2/2]

XclImpXFRangeColumn::XclImpXFRangeColumn ( )
inlineexplicit

Definition at line 574 of file xistyle.hxx.

Member Function Documentation

◆ begin()

IndexList::iterator XclImpXFRangeColumn::begin ( )
inline

Definition at line 576 of file xistyle.hxx.

References maIndexList.

Referenced by XclImpXFRangeBuffer::Finalize().

◆ end()

IndexList::iterator XclImpXFRangeColumn::end ( )
inline

Definition at line 577 of file xistyle.hxx.

References maIndexList.

Referenced by XclImpXFRangeBuffer::Finalize().

◆ Find()

void XclImpXFRangeColumn::Find ( XclImpXFRange *&  rpPrevRange,
XclImpXFRange *&  rpNextRange,
sal_uLong rnNextIndex,
SCROW  nScRow 
)
private

Finds the previous and next row range from row position nScRow.

@descr If an XF still exists, it is contained in rpPrevRange.

Definition at line 1800 of file xistyle.cxx.

References maIndexList, XclImpXFRange::mnScRow1, and XclImpXFRange::mnScRow2.

Referenced by SetXF().

◆ Insert()

void XclImpXFRangeColumn::Insert ( XclImpXFRange pXFRange,
sal_uLong  nIndex 
)
private

Insert a range into the list at the specified index.

Definition at line 1795 of file xistyle.cxx.

References maIndexList, and nIndex.

Referenced by SetXF().

◆ operator=()

const XclImpXFRangeColumn & XclImpXFRangeColumn::operator= ( const XclImpXFRangeColumn )
delete

◆ SetDefaultXF()

void XclImpXFRangeColumn::SetDefaultXF ( const XclImpXFIndex rXFIndex,
const XclImpRoot rRoot 
)

Inserts a single row range into the list.

Definition at line 1719 of file xistyle.cxx.

References XclRoot::GetDoc(), maIndexList, and ScDocument::MaxRow().

◆ SetXF()

void XclImpXFRangeColumn::SetXF ( SCROW  nScRow,
const XclImpXFIndex rXFIndex 
)

Inserts a new (encoded) XF index (first try to expand the last range).

Definition at line 1729 of file xistyle.cxx.

References XclImpXFRange::Contains(), XclImpXFRange::Expand(), Find(), get(), Insert(), maIndexList, XclImpXFRange::maXFIndex, XclImpXFRange::mnScRow1, XclImpXFRange::mnScRow2, nIndex, and TryConcatPrev().

◆ TryConcatPrev()

void XclImpXFRangeColumn::TryConcatPrev ( sal_uLong  nIndex)
private

Tries to concatenate a range with its predecessor.

@descr The ranges must have the same XF index and must not have a gap. The resulting range has the index nIndex-1.

Definition at line 1867 of file xistyle.cxx.

References XclImpXFRange::Expand(), maIndexList, and nIndex.

Referenced by SetXF().

Member Data Documentation

◆ maIndexList

IndexList XclImpXFRangeColumn::maIndexList
private

Definition at line 603 of file xistyle.hxx.

Referenced by begin(), end(), Find(), Insert(), SetDefaultXF(), SetXF(), and TryConcatPrev().


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