LibreOffice Module sc (master) 1
|
Base record for additional range formula records (i.e. More...
#include <xetable.hxx>
Public Member Functions | |
bool | IsBasePos (sal_uInt16 nXclCol, sal_uInt32 nXclRow) const |
Returns true, if the passed cell position is equal to own base position. More... | |
virtual XclTokenArrayRef | CreateCellTokenArray (const XclExpRoot &rRoot) const =0 |
Derived classes create the token array for a corresponding FORMULA cell record. More... | |
virtual bool | IsVolatile () const =0 |
Derived classes return true, if the own formula contains volatile functions. More... | |
Public Member Functions inherited from XclExpRecord | |
XclExpRecord (sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0) | |
XclExpRecord (XclExpRecord const &)=default | |
virtual | ~XclExpRecord () override |
sal_uInt16 | GetRecId () const |
Returns the current record ID. More... | |
std::size_t | GetRecSize () const |
Returns the current record size prediction. More... | |
void | SetRecId (sal_uInt16 nRecId) |
Sets a new record ID. More... | |
void | SetRecSize (std::size_t nRecSize) |
Sets a new record size prediction. More... | |
void | AddRecSize (std::size_t nRecSize) |
Adds a size value to the record size prediction. More... | |
void | SetRecHeader (sal_uInt16 nRecId, std::size_t nRecSize) |
Sets record ID and size with one call. More... | |
virtual void | Save (XclExpStream &rStrm) override |
Writes the record header and calls WriteBody(). More... | |
Public Member Functions inherited from XclExpRecordBase | |
XclExpRecordBase () | |
XclExpRecordBase (XclExpRecordBase const &) | |
XclExpRecordBase (XclExpRecordBase &&) | |
XclExpRecordBase & | operator= (XclExpRecordBase const &) |
XclExpRecordBase & | operator= (XclExpRecordBase &&) noexcept |
virtual | ~XclExpRecordBase () |
virtual void | Save (XclExpStream &rStrm) |
Overwrite this method to do any operation while saving the record. More... | |
virtual void | SaveXml (XclExpXmlStream &rStrm) |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
Protected Member Functions | |
XclExpRangeFmlaBase (sal_uInt16 nRecId, sal_uInt32 nRecSize, const ScAddress &rScPos) | |
Constructs the record with a single cell. More... | |
XclExpRangeFmlaBase (sal_uInt16 nRecId, sal_uInt32 nRecSize, const ScRange &rScRange) | |
Constructs the record with a cell range. More... | |
void | Extend (const ScAddress &rScPos) |
Extends the cell range to include the passed cell address. More... | |
void | WriteRangeAddress (XclExpStream &rStrm) const |
Writes the range address covered by this record. More... | |
Protected Member Functions inherited from XclExpRecord | |
virtual void | WriteBody (XclExpStream &rStrm) |
Writes the body of the record (without record header). More... | |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Protected Attributes | |
XclRange | maXclRange |
XclAddress | maBaseXclPos |
Range described by this record. More... | |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
Additional Inherited Members | |
Static Public Member Functions inherited from salhelper::SimpleReferenceObject | |
static void * | operator new (std::size_t nSize) |
static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
static void | operator delete (void *pPtr) |
static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Base record for additional range formula records (i.e.
ARRAY, SHRFMLA).
Definition at line 64 of file xetable.hxx.
|
explicitprotected |
Constructs the record with a single cell.
Definition at line 72 of file xetable.cxx.
References ScAddress::Col(), maBaseXclPos, XclRange::maFirst, XclRange::maLast, maXclRange, ScAddress::Row(), and XclAddress::Set().
|
explicitprotected |
Constructs the record with a cell range.
Definition at line 82 of file xetable.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), maBaseXclPos, XclRange::maFirst, maXclRange, ScAddress::Row(), and XclRange::Set().
|
pure virtual |
Derived classes create the token array for a corresponding FORMULA cell record.
Implemented in XclExpArray, XclExpShrfmla, and XclExpTableop.
|
protected |
Extends the cell range to include the passed cell address.
Definition at line 101 of file xetable.cxx.
References ScAddress::Col(), XclRange::maFirst, XclRange::maLast, maXclRange, XclAddress::mnCol, XclAddress::mnRow, and ScAddress::Row().
Referenced by XclExpShrfmla::ExtendRange(), and XclExpTableop::TryExtend().
bool XclExpRangeFmlaBase::IsBasePos | ( | sal_uInt16 | nXclCol, |
sal_uInt32 | nXclRow | ||
) | const |
Returns true, if the passed cell position is equal to own base position.
Definition at line 96 of file xetable.cxx.
References maBaseXclPos, XclAddress::mnCol, and XclAddress::mnRow.
|
pure virtual |
Derived classes return true, if the own formula contains volatile functions.
Implemented in XclExpArray, XclExpShrfmla, and XclExpTableop.
|
protected |
Writes the range address covered by this record.
Definition at line 111 of file xetable.cxx.
References maXclRange, rStrm, and XclRange::Write().
Referenced by XclExpArray::WriteBody(), XclExpShrfmla::WriteBody(), and XclExpTableop::WriteBody().
|
protected |
Range described by this record.
Definition at line 91 of file xetable.hxx.
Referenced by XclExpArray::CreateCellTokenArray(), XclExpShrfmla::CreateCellTokenArray(), XclExpTableop::CreateCellTokenArray(), IsBasePos(), and XclExpRangeFmlaBase().
|
protected |
Definition at line 90 of file xetable.hxx.
Referenced by Extend(), XclExpTableop::Finalize(), XclExpTableop::IsAppendable(), XclExpTableop::TryExtend(), WriteRangeAddress(), and XclExpRangeFmlaBase().