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
 Whether this references entire columns, A:A. More...
 
bool IsEntireRow () 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

ScComplexRefData & ScComplexRefData::Extend ( const ScSheetLimits rLimits,
const ScSingleRefData rRef,
const ScAddress rPos 
)
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.

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 509 of file refdata.cxx.

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

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 538 of file refdata.cxx.

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

void ScComplexRefData::InitFlags ( )
inline
void ScComplexRefData::InitFromRefAddresses ( const ScDocument rDoc,
const ScRefAddress rRef1,
const ScRefAddress rRef2,
const ScAddress rPos 
)
void ScComplexRefData::InitRange ( const ScRange rRange)
inline
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().

void ScComplexRefData::InitRangeRel ( const ScDocument rDoc,
const ScRange rRange,
const ScAddress rPos 
)
inline
bool ScComplexRefData::IsDeleted ( ) const
bool ScComplexRefData::IsEntireCol ( ) const
inline
bool ScComplexRefData::IsEntireRow ( ) const
inline
bool ScComplexRefData::IsTrimToData ( ) const
inline

Definition at line 201 of file refdata.hxx.

References bTrimToData.

Referenced by ScInterpreter::CreateMatrixFromDoubleRef().

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

Definition at line 181 of file refdata.hxx.

References Ref1, and Ref2.

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().

void ScComplexRefData::SetRange ( const ScSheetLimits rLimits,
const ScRange rRange,
const ScAddress rPos 
)
void ScComplexRefData::SetTrimToData ( bool  bSet)
inline

Definition at line 202 of file refdata.hxx.

Referenced by ScCompiler::AnnotateTrimOnDoubleRefs().

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

Definition at line 488 of file refdata.cxx.

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

bool ScComplexRefData::Valid ( const ScDocument rDoc) const

Definition at line 478 of file refdata.cxx.

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

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

bool ScComplexRefData::bTrimToData = false

Definition at line 126 of file refdata.hxx.

Referenced by IsTrimToData().

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(), ScGroupTokenConverter::convert(), ExcelToSc::Convert(), QProToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), XclExpChSourceLink::ConvertDataSequence(), ExcelToSc8::ConvertExternName(), XclExpFmlaCompImpl::ConvertRefData(), ScChart2DataProvider::createDataSource(), ScCompiler::CreateStringFromSingleRef(), ScTable::DoSubTotals(), Extend(), extendRangeReference(), ScTokenArray::GenHash(), XclImpChSourceLink::GetCellCount(), ScRefTokenHelper::getDoubleRefDataFromToken(), TokenPool::GetElement(), ScExternalDoubleRefToken::GetSingleRef(), ScRefTokenHelper::getTokenFromRange(), ScCompiler::HandleColRowName(), ScCompiler::HandleIIOpCodeInternal(), ScCompiler::HandleTableRef(), ScFormulaCell::HasRelNameReference(), ScTokenArray::ImplGetReference(), IncEndColSticky(), IncEndRowSticky(), InitFromRefAddresses(), ScHTMLImport::InsertRangeName(), IsDeleted(), ScCompiler::IsDoubleReference(), ScTokenArray::IsInvariant(), XclExpFmlaCompImpl::IsRef2D(), ScInterpreter::JumpMatrix(), LotusRangeList::LotusRangeList(), ScRefUpdate::MoveRelWrap(), operator==(), ScConsData::OutputToDocument(), XclExpFmlaCompImpl::ProcessExternalRangeRef(), XclExpFmlaCompImpl::ProcessRangeRef(), PutInOrder(), LotusToSc::ReadCRD(), ScTokenArray::ReadjustAbsolute3DReferences(), ScTokenArray::ReferencesSheet(), ScCompiler::ReplaceDoubleRefII(), ScInterpreter::ScIntersect(), ScInterpreter::ScUnionFunc(), SetRange(), ScFormulaDlg::SetReference(), ScChart2DataSequence::setToPointInTime(), SingleDoubleRefModifier::SingleDoubleRefModifier(), TokenPool::Store(), XclExpLinkManager::StoreCellRange(), ScChart2DataSequence::switchToNext(), toAbs(), ScRangeData::UpdateGrow(), ScRangeData::UpdateTranspose(), Valid(), ScRangeData::ValidateTabRefs(), and ValidExternal().

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(), ScGroupTokenConverter::convert(), ExcelToSc::Convert(), QProToSc::Convert(), LotusToSc::Convert(), ExcelToSc8::Convert(), XclExpChSourceLink::ConvertDataSequence(), ExcelToSc8::ConvertExternName(), XclExpFmlaCompImpl::ConvertRefData(), ScChart2DataProvider::createDataSource(), ScCompiler::CreateStringFromSingleRef(), ScTable::DoSubTotals(), Extend(), extendRangeReference(), ScTokenArray::GenHash(), XclImpChSourceLink::GetCellCount(), ScRefTokenHelper::getDoubleRefDataFromToken(), TokenPool::GetElement(), ScExternalDoubleRefToken::GetSingleRef2(), ScRefTokenHelper::getTokenFromRange(), ScRangeData::GuessPosition(), ScCompiler::HandleColRowName(), ScCompiler::HandleIIOpCodeInternal(), ScCompiler::HandleTableRef(), ScFormulaCell::HasRelNameReference(), HasRelRefIgnoringSheet0Relative(), ScTokenArray::ImplGetReference(), IncEndColSticky(), IncEndRowSticky(), InitFromRefAddresses(), ScHTMLImport::InsertRangeName(), IsDeleted(), ScCompiler::IsDoubleReference(), ScTokenArray::IsInvariant(), XclExpFmlaCompImpl::IsRef2D(), ScInterpreter::JumpMatrix(), lcl_HasRelRef(), lcl_InvalidateReference(), lcl_ScDetectiveRefIter_SkipRef(), LotusRangeList::LotusRangeList(), ScRefUpdate::MoveRelWrap(), operator==(), ScConsData::OutputToDocument(), XclExpFmlaCompImpl::ProcessExternalRangeRef(), XclExpFmlaCompImpl::ProcessRangeRef(), PutInOrder(), LotusToSc::ReadCRD(), ScTokenArray::ReadjustAbsolute3DReferences(), ScTokenArray::ReferencesSheet(), ScCompiler::ReplaceDoubleRefII(), ScInterpreter::ScIntersect(), ScInterpreter::ScUnionFunc(), ExcelToSc::SetComplCol(), ExcelToSc::SetComplRow(), SetRange(), ScFormulaDlg::SetReference(), ScChart2DataSequence::setToPointInTime(), SingleDoubleRefModifier::SingleDoubleRefModifier(), TokenPool::Store(), XclExpLinkManager::StoreCellRange(), ScChart2DataSequence::switchToNext(), ScFormulaCell::TestTabRefAbs(), toAbs(), ScFormulaCell::TransposeReference(), ScRangeData::UpdateGrow(), ScFormulaCell::UpdateInsertTabAbs(), ScRangeData::UpdateTranspose(), Valid(), ScRangeData::ValidateTabRefs(), and ValidExternal().


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