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

Keep track of spans in a single column only. More...

#include <columnspanset.hxx>

Collaboration diagram for sc::SingleColumnSpanSet:
[legend]

Public Types

typedef mdds::flat_segment_tree< SCROW, bool > ColumnSpansType
 
typedef std::vector< RowSpanSpansType
 

Public Member Functions

 SingleColumnSpanSet (ScSheetLimits const &)
 
void scan (const ScColumn &rColumn)
 Scan an entire column and tag all non-empty cell positions. More...
 
void scan (const ScColumn &rColumn, SCROW nStart, SCROW nEnd)
 Scan a column between specified range, and tag all non-empty cell positions. More...
 
void scan (ColumnBlockConstPosition &rBlockPos, const ScColumn &rColumn, SCROW nStart, SCROW nEnd)
 
void scan (const ScMarkData &rMark, SCTAB nTab, SCCOL nCol)
 Scan all marked data and tag all marked segments in specified column. More...
 
void scan (const ScRangeList &rRanges, SCTAB nTab, SCCOL nCol)
 
void set (SCROW nRow1, SCROW nRow2, bool bVal)
 
void getRows (std::vector< SCROW > &rRows) const
 
void getSpans (SpansType &rSpans) const
 
void swap (SingleColumnSpanSet &r)
 
bool empty () const
 Whether there isn't any row tagged. More...
 

Private Attributes

ScSheetLimits const & mrSheetLimits
 
ColumnSpansType maSpans
 

Detailed Description

Keep track of spans in a single column only.

Definition at line 113 of file columnspanset.hxx.

Member Typedef Documentation

◆ ColumnSpansType

typedef mdds::flat_segment_tree<SCROW, bool> sc::SingleColumnSpanSet::ColumnSpansType

Definition at line 116 of file columnspanset.hxx.

◆ SpansType

Definition at line 118 of file columnspanset.hxx.

Constructor & Destructor Documentation

◆ SingleColumnSpanSet()

sc::SingleColumnSpanSet::SingleColumnSpanSet ( ScSheetLimits const &  rSheetLimits)

Definition at line 248 of file columnspanset.cxx.

Member Function Documentation

◆ empty()

bool sc::SingleColumnSpanSet::empty ( ) const

Whether there isn't any row tagged.

Definition at line 342 of file columnspanset.cxx.

References ScSheetLimits::GetMaxRowCount(), maSpans, and mrSheetLimits.

Referenced by ScColumn::UpdateSelectionFunction().

◆ getRows()

void sc::SingleColumnSpanSet::getRows ( std::vector< SCROW > &  rRows) const

Definition at line 316 of file columnspanset.cxx.

References getSpans().

Referenced by ScColumn::BroadcastRows().

◆ getSpans()

void sc::SingleColumnSpanSet::getSpans ( SpansType rSpans) const

◆ scan() [1/5]

void sc::SingleColumnSpanSet::scan ( ColumnBlockConstPosition rBlockPos,
const ScColumn rColumn,
SCROW  nStart,
SCROW  nEnd 
)

◆ scan() [2/5]

void sc::SingleColumnSpanSet::scan ( const ScColumn rColumn)

◆ scan() [3/5]

void sc::SingleColumnSpanSet::scan ( const ScColumn rColumn,
SCROW  nStart,
SCROW  nEnd 
)

Scan a column between specified range, and tag all non-empty cell positions.

Definition at line 266 of file columnspanset.cxx.

References ScColumn::GetLastDataPos(), ScColumn::maCells, maSpans, and sc::ParseBlock().

◆ scan() [4/5]

void sc::SingleColumnSpanSet::scan ( const ScMarkData rMark,
SCTAB  nTab,
SCCOL  nCol 
)

Scan all marked data and tag all marked segments in specified column.

Definition at line 285 of file columnspanset.cxx.

References ScMarkData::GetMarkedRangesForTab(), ScMarkData::GetTableSelect(), and scan().

◆ scan() [5/5]

void sc::SingleColumnSpanSet::scan ( const ScRangeList rRanges,
SCTAB  nTab,
SCCOL  nCol 
)

◆ set()

void sc::SingleColumnSpanSet::set ( SCROW  nRow1,
SCROW  nRow2,
bool  bVal 
)

Definition at line 311 of file columnspanset.cxx.

References maSpans.

Referenced by ScColumn::UpdateSelectionFunction().

◆ swap()

void sc::SingleColumnSpanSet::swap ( SingleColumnSpanSet r)

Definition at line 337 of file columnspanset.cxx.

References maSpans.

Member Data Documentation

◆ maSpans

ColumnSpansType sc::SingleColumnSpanSet::maSpans
private

Definition at line 156 of file columnspanset.hxx.

Referenced by empty(), getSpans(), scan(), set(), and swap().

◆ mrSheetLimits

ScSheetLimits const& sc::SingleColumnSpanSet::mrSheetLimits
private

Definition at line 155 of file columnspanset.hxx.

Referenced by empty().


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