LibreOffice Module sc (master) 1
Public Member Functions | Public Attributes | List of all members
ScComplexRefData Struct Reference

Complex reference (a range) into the sheet. More...

#include <refdata.hxx>

Collaboration diagram for ScComplexRefData:
[legend]

Public Member Functions

void InitFlags ()
 
void InitRange (const ScRange &rRange)
 
void InitRangeRel (const ScDocument &rDoc, const ScRange &rRange, const ScAddress &rPos)
 
void InitRange (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2)
 
void InitFromRefAddresses (const ScDocument &rDoc, const ScRefAddress &rRef1, const ScRefAddress &rRef2, const ScAddress &rPos)
 InitFlags and set range, relative to rPos if rRef1 and rRef2 say so. More...
 
bool Valid (const ScDocument &rDoc) const
 
bool ValidExternal (const ScDocument &rDoc) const
 In external references nTab is -1 for the start tab and -1 for the end tab if one sheet and the external document was not loaded but sheet was cached, or >=0 also if more than one sheets. More...
 
bool IsEntireCol (const ScSheetLimits &rLimits) const
 Whether this references entire columns, A:A. More...
 
bool IsEntireRow (const ScSheetLimits &rLimits) const
 Whether this references entire rows, 1:1. More...
 
SC_DLLPUBLIC ScRange toAbs (const ScSheetLimits &rLimits, const ScAddress &rPos) const
 
SC_DLLPUBLIC ScRange toAbs (const ScDocument &rDoc, const ScAddress &rPos) const
 
void SetRange (const ScSheetLimits &rLimits, const ScRange &rRange, const ScAddress &rPos)
 Set a new range, assuming that the ordering of the range matches the ordering of the reference data flags already set. More...
 
void PutInOrder (const ScAddress &rPos)
 Adjust ordering (front-top-left/rear-bottom-right) to a new position. More...
 
bool operator== (const ScComplexRefData &r) const
 
ScComplexRefDataExtend (const ScSheetLimits &rLimits, const ScSingleRefData &rRef, const ScAddress &rPos)
 Enlarge range if reference passed is not within existing range. More...
 
ScComplexRefDataExtend (const ScSheetLimits &rLimits, const ScComplexRefData &rRef, const ScAddress &rPos)
 
bool IncEndColSticky (const ScDocument &rDoc, SCCOL nDelta, const ScAddress &rPos)
 Increment or decrement end column unless or until sticky. More...
 
bool IncEndRowSticky (const ScDocument &rDoc, SCROW nDelta, const ScAddress &rPos)
 Increment or decrement end row unless or until sticky. More...
 
bool IsDeleted () const
 
bool IsTrimToData () const
 
void SetTrimToData (bool bSet)
 

Public Attributes

ScSingleRefData Ref1
 
ScSingleRefData Ref2
 
bool bTrimToData = false
 

Detailed Description

Complex reference (a range) into the sheet.

Definition at line 122 of file refdata.hxx.

Member Function Documentation

◆ Extend() [1/2]

ScComplexRefData & ScComplexRefData::Extend ( const ScSheetLimits rLimits,
const ScComplexRefData rRef,
const ScAddress rPos 
)

Definition at line 473 of file refdata.cxx.

References Extend(), Ref1, and Ref2.

◆ Extend() [2/2]

ScComplexRefData & ScComplexRefData::Extend ( const ScSheetLimits rLimits,
const ScSingleRefData rRef,
const ScAddress rPos 
)

◆ IncEndColSticky()

bool ScComplexRefData::IncEndColSticky ( const ScDocument rDoc,
SCCOL  nDelta,
const ScAddress rPos 
)

Increment or decrement end column unless or until sticky.

See also
ScRange::IncEndColSticky()
Returns
TRUE if changed.

Definition at line 522 of file refdata.cxx.

References ScAddress::Col(), ScSingleRefData::Col(), ScSingleRefData::IncCol(), ScSingleRefData::IsColRel(), ScDocument::MaxCol(), Ref1, Ref2, ScSingleRefData::SetAbsCol(), and ScSingleRefData::SetRelCol().

◆ IncEndRowSticky()

bool ScComplexRefData::IncEndRowSticky ( const ScDocument rDoc,
SCROW  nDelta,
const ScAddress rPos 
)

Increment or decrement end row unless or until sticky.

See also
ScRange::IncEndRowSticky()
Returns
TRUE if changed.

Definition at line 551 of file refdata.cxx.

References ScSingleRefData::IncRow(), ScSingleRefData::IsRowRel(), ScDocument::MaxRow(), Ref1, Ref2, ScAddress::Row(), ScSingleRefData::Row(), ScSingleRefData::SetAbsRow(), and ScSingleRefData::SetRelRow().

◆ InitFlags()

void ScComplexRefData::InitFlags ( )
inline

◆ InitFromRefAddresses()

void ScComplexRefData::InitFromRefAddresses ( const ScDocument rDoc,
const ScRefAddress rRef1,
const ScRefAddress rRef2,
const ScAddress rPos 
)

◆ InitRange() [1/2]

void ScComplexRefData::InitRange ( const ScRange rRange)
inline

◆ InitRange() [2/2]

void ScComplexRefData::InitRange ( SCCOL  nCol1,
SCROW  nRow1,
SCTAB  nTab1,
SCCOL  nCol2,
SCROW  nRow2,
SCTAB  nTab2 
)
inline

Definition at line 140 of file refdata.hxx.

References ScSingleRefData::InitAddress(), Ref1, and Ref2.

◆ InitRangeRel()

void ScComplexRefData::InitRangeRel ( const ScDocument rDoc,
const ScRange rRange,
const ScAddress rPos 
)
inline

◆ IsDeleted()

bool ScComplexRefData::IsDeleted ( ) const

◆ IsEntireCol()

bool ScComplexRefData::IsEntireCol ( const ScSheetLimits rLimits) const

◆ IsEntireRow()

bool ScComplexRefData::IsEntireRow ( const ScSheetLimits rLimits) const

◆ IsTrimToData()

bool ScComplexRefData::IsTrimToData ( ) const
inline

Definition at line 193 of file refdata.hxx.

References bTrimToData.

Referenced by ScInterpreter::CreateMatrixFromDoubleRef().

◆ operator==()

bool ScComplexRefData::operator== ( const ScComplexRefData r) const
inline

Definition at line 173 of file refdata.hxx.

References Ref1, and Ref2.

◆ PutInOrder()

void ScComplexRefData::PutInOrder ( const ScAddress rPos)

Adjust ordering (front-top-left/rear-bottom-right) to a new position.

Definition at line 504 of file refdata.cxx.

References ScSingleRefData::PutInOrder(), Ref1, and Ref2.

Referenced by ScTokenArray::AdjustReferenceOnCopy().

◆ SetRange()

void ScComplexRefData::SetRange ( const ScSheetLimits rLimits,
const ScRange rRange,
const ScAddress rPos 
)

◆ SetTrimToData()

void ScComplexRefData::SetTrimToData ( bool  bSet)
inline

Definition at line 194 of file refdata.hxx.

References bTrimToData.

Referenced by ScCompiler::AnnotateTrimOnDoubleRefs().

◆ toAbs() [1/2]

ScRange ScComplexRefData::toAbs ( const ScDocument rDoc,
const ScAddress rPos 
) const

Definition at line 488 of file refdata.cxx.

References ScDocument::GetSheetLimits(), and toAbs().

◆ toAbs() [2/2]

ScRange ScComplexRefData::toAbs ( const ScSheetLimits rLimits,
const ScAddress rPos 
) const

◆ Valid()

bool ScComplexRefData::Valid ( const ScDocument rDoc) const

Definition at line 478 of file refdata.cxx.

References Ref1, Ref2, and ScSingleRefData::Valid().

Referenced by ScRawToken::IsValidReference().

◆ ValidExternal()

bool ScComplexRefData::ValidExternal ( const ScDocument rDoc) const

In external references nTab is -1 for the start tab and -1 for the end tab if one sheet and the external document was not loaded but sheet was cached, or >=0 also if more than one sheets.

Definition at line 483 of file refdata.cxx.

References ScSingleRefData::ColValid(), Ref1, Ref2, ScSingleRefData::RowValid(), ScSingleRefData::Tab(), and ScSingleRefData::ValidExternal().

Member Data Documentation

◆ bTrimToData

bool ScComplexRefData::bTrimToData = false

Definition at line 126 of file refdata.hxx.

Referenced by IsTrimToData(), and SetTrimToData().

◆ Ref1

ScSingleRefData ScComplexRefData::Ref1

Definition at line 124 of file refdata.hxx.

Referenced by RangeNameBufferWK3::Add(), ScTokenArray::AddFormulaToken(), ScTokenArray::AdjustAbsoluteRefs(), ScTokenArray::AdjustReferenceInMovedName(), ScTokenArray::AdjustReferenceInName(), ScTokenArray::AdjustReferenceOnInsertedTab(), ScTokenArray::AdjustReferenceOnMove(), ScTokenArray::AdjustSheetLocalNameReferences(), LotusRangeList::Append(), ScTokenArray::CheckExpandReferenceBounds(), ScTokenArray::CheckRelativeReferenceBounds(), ScTokenArray::ClearTabDeleted(), QProToSc::Convert(), ScGroupTokenConverter::convert(), ExcelToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), XclExpChSourceLink::ConvertDataSequence(), ExcelToSc8::ConvertExternName(), XclExpFmlaCompImpl::ConvertRefData(), ScChart2DataProvider::createDataSource(), ScCompiler::CreateStringFromSingleRef(), ScRawToken::CreateToken(), ScTable::DoSubTotals(), ScInterpreter::DoubleRefToRange(), ScInterpreter::DoubleRefToVars(), Extend(), extendRangeReference(), ScTokenArray::GenHash(), XclImpChSourceLink::GetCellCount(), ScRefTokenHelper::getDoubleRefDataFromToken(), TokenPool::GetElement(), ScInterpreter::GetExternalDoubleRef(), ScDoubleRefToken::GetSingleRef(), ScExternalDoubleRefToken::GetSingleRef(), ScCompiler::HandleColRowName(), ScCompiler::HandleIIOpCodeInternal(), ScCompiler::HandleTableRef(), ScTokenArray::ImplGetReference(), IncEndColSticky(), IncEndRowSticky(), InitFlags(), InitFromRefAddresses(), InitRange(), InitRangeRel(), ScHTMLImport::InsertRangeName(), IsDeleted(), IsEntireCol(), IsEntireRow(), ScTokenArray::IsInvariant(), XclExpFmlaCompImpl::IsRef2D(), ScRawToken::IsValidReference(), ScInterpreter::JumpMatrix(), LotusRangeList::LotusRangeList(), ScRefUpdate::MoveRelWrap(), operator==(), ScConsData::OutputToDocument(), ScCompiler::ParseDoubleReference(), ScInterpreter::PopRangeMatrix(), XclExpFmlaCompImpl::ProcessExternalRangeRef(), XclExpFmlaCompImpl::ProcessRangeRef(), PutInOrder(), LotusToSc::ReadCRD(), ScTokenArray::ReadjustAbsolute3DReferences(), ScTokenArray::ReferencesSheet(), ScCompiler::ReplaceDoubleRefII(), ScInterpreter::ScColRowNameAuto(), ScInterpreter::ScIntersect(), ScInterpreter::ScUnionFunc(), SetRange(), ScFormulaDlg::SetReference(), ScRawToken::SetSingleReference(), ScChart2DataSequence::setToPointInTime(), SingleDoubleRefModifier::SingleDoubleRefModifier(), TokenPool::Store(), XclExpLinkManager::StoreCellRange(), ScChart2DataSequence::switchToNext(), toAbs(), ScRangeData::UpdateGrow(), ScRangeData::UpdateTranspose(), ScFormulaCell::UpdateTranspose(), Valid(), ScInterpreter::ValidateRef(), ScRangeData::ValidateTabRefs(), and ValidExternal().

◆ Ref2

ScSingleRefData ScComplexRefData::Ref2

Definition at line 125 of file refdata.hxx.

Referenced by RangeNameBufferWK3::Add(), ScTokenArray::AddFormulaToken(), ScTokenArray::AdjustAbsoluteRefs(), ScTokenArray::AdjustReferenceInMovedName(), ScTokenArray::AdjustReferenceInName(), ScTokenArray::AdjustReferenceOnInsertedTab(), ScTokenArray::AdjustReferenceOnMove(), ScTokenArray::AdjustSheetLocalNameReferences(), ScCompiler::AdjustSumRangeShape(), LotusRangeList::Append(), ScTokenArray::CheckExpandReferenceBounds(), ScTokenArray::CheckRelativeReferenceBounds(), ScTokenArray::ClearTabDeleted(), QProToSc::Convert(), ScGroupTokenConverter::convert(), ExcelToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), XclExpChSourceLink::ConvertDataSequence(), ExcelToSc8::ConvertExternName(), XclExpFmlaCompImpl::ConvertRefData(), ScChart2DataProvider::createDataSource(), ScCompiler::CreateStringFromSingleRef(), ScTable::DoSubTotals(), ScInterpreter::DoubleRefToRange(), ScInterpreter::DoubleRefToVars(), Extend(), extendRangeReference(), ScTokenArray::GenHash(), XclImpChSourceLink::GetCellCount(), ScRefTokenHelper::getDoubleRefDataFromToken(), TokenPool::GetElement(), ScInterpreter::GetExternalDoubleRef(), ScDoubleRefToken::GetSingleRef2(), ScExternalDoubleRefToken::GetSingleRef2(), ScCompiler::HandleColRowName(), ScCompiler::HandleIIOpCodeInternal(), ScCompiler::HandleTableRef(), ScTokenArray::ImplGetReference(), IncEndColSticky(), IncEndRowSticky(), InitFlags(), InitFromRefAddresses(), InitRange(), InitRangeRel(), ScHTMLImport::InsertRangeName(), IsDeleted(), IsEntireCol(), IsEntireRow(), ScTokenArray::IsInvariant(), XclExpFmlaCompImpl::IsRef2D(), ScInterpreter::JumpMatrix(), lcl_InvalidateReference(), LotusRangeList::LotusRangeList(), ScRefUpdate::MoveRelWrap(), operator==(), ScConsData::OutputToDocument(), ScCompiler::ParseDoubleReference(), ScInterpreter::PopRangeMatrix(), XclExpFmlaCompImpl::ProcessExternalRangeRef(), XclExpFmlaCompImpl::ProcessRangeRef(), PutInOrder(), LotusToSc::ReadCRD(), ScTokenArray::ReadjustAbsolute3DReferences(), ScTokenArray::ReferencesSheet(), ScCompiler::ReplaceDoubleRefII(), ScInterpreter::ScIntersect(), ScInterpreter::ScUnionFunc(), ExcelToSc::SetComplCol(), ExcelToSc::SetComplRow(), SetRange(), ScFormulaDlg::SetReference(), ScRawToken::SetSingleReference(), ScChart2DataSequence::setToPointInTime(), SingleDoubleRefModifier::SingleDoubleRefModifier(), TokenPool::Store(), XclExpLinkManager::StoreCellRange(), ScChart2DataSequence::switchToNext(), toAbs(), ScRangeData::UpdateGrow(), ScRangeData::UpdateTranspose(), ScFormulaCell::UpdateTranspose(), Valid(), ScInterpreter::ValidateRef(), ScRangeData::ValidateTabRefs(), and ValidExternal().


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