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 *pDoc, const ScRange &rRange, const ScAddress &rPos)
 
void InitRange (SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2)
 
void InitFromRefAddresses (const ScDocument *pDoc, 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 *pDoc) const
 
bool ValidExternal (const ScDocument *pDoc) 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 (ScSheetLimits &rLimits, const ScAddress &rPos) const
 
SC_DLLPUBLIC ScRange toAbs (const ScDocument *pDoc, const ScAddress &rPos) const
 
void SetRange (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 (ScSheetLimits &rLimits, const ScSingleRefData &rRef, const ScAddress &rPos)
 Enlarge range if reference passed is not within existing range. More...
 
ScComplexRefDataExtend (ScSheetLimits &rLimits, const ScComplexRefData &rRef, const ScAddress &rPos)
 
bool IncEndColSticky (const ScDocument *pDoc, SCCOL nDelta, const ScAddress &rPos)
 Increment or decrement end column unless or until sticky. More...
 
bool IncEndRowSticky (const ScDocument *pDoc, SCROW nDelta, const ScAddress &rPos)
 Increment or decrement end row unless or until sticky. More...
 
bool IsDeleted () const
 

Public Attributes

ScSingleRefData Ref1
 
ScSingleRefData Ref2
 

Detailed Description

Complex reference (a range) into the sheet.

Definition at line 123 of file refdata.hxx.

Member Function Documentation

ScComplexRefData & ScComplexRefData::Extend ( ScSheetLimits rLimits,
const ScSingleRefData rRef,
const ScAddress rPos 
)
ScComplexRefData & ScComplexRefData::Extend ( 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 pDoc,
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 pDoc,
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 pDoc,
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 pDoc,
const ScRange rRange,
const ScAddress rPos 
)
inline
bool ScComplexRefData::IsDeleted ( ) const
bool ScComplexRefData::IsEntireCol ( ) const
inline
bool ScComplexRefData::IsEntireRow ( ) const
inline
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 ( ScSheetLimits rLimits,
const ScRange rRange,
const ScAddress rPos 
)
ScRange ScComplexRefData::toAbs ( ScSheetLimits rLimits,
const ScAddress rPos 
) const
ScRange ScComplexRefData::toAbs ( const ScDocument pDoc,
const ScAddress rPos 
) const

Definition at line 488 of file refdata.cxx.

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

bool ScComplexRefData::Valid ( const ScDocument pDoc) const

Definition at line 478 of file refdata.cxx.

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

bool ScComplexRefData::ValidExternal ( const ScDocument pDoc) 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

ScSingleRefData ScComplexRefData::Ref1

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(), 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 126 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: